Você está na página 1de 19

ANHANGUERA EDUCACIONAL

ANHANGUERA UNIABC

TADS

ALEXANDRE PEIXOTO RA.8824378353


DANILO TELLES - RA. 7282750657
SULLYWAN ARAUJO RA.9860501367

ATPS CONSTRUO DE ALGORITIMOS

SANTO ANDR
2014

ALEXANDRE PEIXOTO RA.8824378353


DANILO TELLES - RA. 7282750657
SULLYWAN ARAUJO RA.9860501367

ATPS CONSTRUO DE ALGORITIMOS


ATPS exigida como requisito parcial da avaliao da disciplina Construo de Algoritmo
ministrada pelo Prof. Claudinei

SANTO ANDR
2014
2

RESUMO
Esta Atividade Prtica Supervisionada (ATPS), tem como objetivo o desenvolvimento
principal deste projeto a aplicao dos conhecimentos prticos, bem como o
desenvolvimento, da aprendizagem de novos conceitos e tcnicas sobre a disciplina de
Construo de Algoritmos. A Atividade Prtica Supervisionada (ATPS) desenvolvida
nos d quatro etapas a serem compridas ao longo do bimestre, fazendo com que
nossas competncias e habilidades sejam estimuladas a partir de estudos individuais e
em grupo. Cada etapa consiste em um conjunto de passos a serem seguidos junto com
um problema
a ser resolvido, para isso as aulas e estudos a parte so primordiais para que o
progresso saia de maneira adequada, fazendo o individuo ento aprender com os
desafios que o acompanharo ao longo de sua carreira profissional.

ABSTRACT
This Supervised Practical Activity (ATPS), the main aims of this development project is
the application of practical knowledge as well as development, learning new concepts
and techniques of the discipline of Construction Algorithms. The Supervised Practical
Activity (ATPS) developed
gives us four steps to be long over two months, making our skills and abilities are
encouraged from individual and group studies. Each stage consists of a set of steps to
be followed with a problem
to be solved for this class of studies and are essential for progress to exit properly,
causing the individual then learn from the challenges that will accompany him
throughout his career.

Sumrio
INTRODUAO ................................................................................................................. 6
ETAPA 1........................................................................................................................... 7
ETAPA 2......................................................................................................................... 10
ETAPA 3......................................................................................................................... 13
ETAPA 4......................................................................................................................... 15
CONCLUSO................................................................................................................. 18
REFERNCIAS .............................................................................................................. 19

INTRODUO
Decidimos analisar diferentes opes para obter a melhor soluo aos problemas
propostos, tomando em conta a eficincia tanto em velocidade como em economia de
memria.
Trabalhamos como foi proposto pela ATPS, fazendo todas as etapas (tanto individuais
como em grupo). No passamos a uma seguinte etapa at no estar conformes com a
etapa anterior, dessa forma, garantimos a eficincia do projeto.
Respeitamos todas as disposies que a ATPS nos solicitou, usando as ferramentas
propostas nela.

ETAPA 1
O problema proposto nos pede para elaborar um algoritmo, que defina um nmero
inteiro N que ser o nmero de casos de teste. Cada caso de teste uma linha que
contm dois nmeros inteiros X e Y. O problema se resume em imprimir a soma de
todos os valores mpares entre os dois nmeros inteiros.
algoritmo " Problema 1"
// Seo de Declaraes
Var: N, X, Y, Contador, Soma, NImpar :INTEIRO
Inicio
escreva ("Informe o numero de tentativas: ")
leia (N)
Para para Contador de 1 ate N faa
Escreva ("Digite dois nmeros diferentes: ")
leia (X)
leia (Y)
NImpar <- 0
Se ( x < Y) ento
Soma <-X + 1
Enquanto (soma<Y) faa
Se (Soma %2<>0) ento
NImpar <=(NImpar + Soma)
Fim se
Soma<= (Soma + 1)
Fim Enquanto
Se (X<Y) ento
7

Somar = X+1
Enquanto (Somar < Y) faa
Se (Soma%2<>0) ento
NImpar <=(NImpar + Soma)
Fimse
Soma<=(Soma + 1)
Fimenquanto
Escreva(Soma de nmeros impares entre,X , e,Y : ,NImpar)
fimpara

Relatrio etapa 1
Conseguimos solucionar os problemas propostos na Etapa 1, da ATPS,
comeando no uso de variveis do tipo Inteiro pois o algoritmo no necessitou de
resultados exatos, depois usamos uma comando para fazer uma pergunta ao usurio,
no caso o Escreval, pedimos para que o comando mandasse imprimir a seguinte
frase: Digite um nmero:, logo mais o usurio dever digitar o nmero e o nosso
programa ir armazenar a resposta do usurio em uma varivel, sendo usado a
funoLeia, depois disso usamos uma estrutura de repetio, o Para, que para ler
de um nmero determinado pelo usurio at um outro nmero determinado pelo
mesmo, aps tudo isso vamos apresentar apenas os nmeros impares e depois somalos e exibir o resultado dessa conta.

ETAPA 2

O problema proposto nos pede para elaborar um algoritmo, que calcule a


distncia entre as casas dos amigos de Andria. A primeira e segunda recebe o nome e
a distncia. O problema se resume em imprimir a mdia entre as casas. Segundo
Desafio: Dados de Entrada: Nome dos amigos de Andria. Distncia das casas.
Processamento: Somar as distncias e dividir pela quantidade de amigos. Dados de
Sada: Imprimir a mdia entre as distncias. Resultados Alcanados: Com o usufruto
de vrias alternativas de solues de problemas, foi possvel cria um arquivo executvel
capaz de calcular a mdia entre os pontos das distancias.
algoritmo "Media_Distancia_Casas_de_amigos"
var
nome_1, nome_2, nome_3, nome_4 : caracter
distancia_1, distancia_2, distancia_3, distacia_4, media : real
Inicio
Escreva(Informe o seu nome)
Leia(nome_1)
Escreva(Informe a distancia)
Leia(distancia_1)
Escreva(Informe o seu nome)
Leia(nome_2)
Escreva(Informe a distancia)
Leia(distancia_2)
Escreva(Informe o seu nome)
10

Leia(nome_3)
Escreva(Informe a distancia)
Leia(distancia_3)
Escreva(Informe o seu nome)
Leia(nome_4)
Escreva(Informe a distancia)
Leia(distancia_4)
Escreva (Nome e distancia, nome_1, distancia_1)
Escreva (Nome e distancia, nome_2, distancia_2)
Escreva (Nome e distancia, nome_3, distancia_3)
Escreva (Nome e distancia, nome_4, distancia_4)
media = (distancia_1 + distancia_2 + distancia_3 + distancia_4) / 4
Escreva (A mdia de distancia da casa de Andreia e seus amigos ,)
Fimalgoritmo

11

Relatrio etapa 2
Lgica usada para resolver o Passo 2
Foi usada a mdia aritmtica simples, que tambm conhecida apenas por
mdia. a medida de posio mais utilizada e a mais intuitiva de todas. A mdia de um
conjunto de valores numricos calculada somando-se todos estes valores e dividindo
o resultado pelo nmero de elementos somados, que igual ao nmero de elementos
do conjunto, ou seja, a mdia de n nmeros sua soma dividida por n. A funo da
mdia justamente esta, transformar um conjunto de nmeros diversos em um nico
valor, a fim de que se possa ter uma viso global sobre os dados.
12

ETAPA 3

Joo quer montar um painel contendo diferentes nmeros de LEDs. Como no tm


muitos,no tem certeza se vai ser capaz de montar o nmero desejado. Considerandose a configurao dos LEDs conforme consta o exemplo na Figura 1, fazer um
algoritmo que ajude Joo descobrir quantos LEDs so necessrios para montar o
nmero.
Para cada caso de teste, imprimir uma linha contendo o nmero de LEDs que Joo
precisa para representar o valor desejado, seguido da palavra "leds".
Dados e Variveis
Variveis utilizadas no primeiro problema:
quantidade: vetor[0..9] de inteiro
N, V, aux, alg, a, qtd_leds:inteiro
Algoritmoleds
Declare: quantidade: vetor [0..9] de inteiro
N, V, aux, alg, a, qtd_leds: inteiro
inicio
quantidade[0] := 6
quantidade[1] := 2
quantidade[2] := 5
quantidade[3] := 5
quantidade[4] := 4
quantidade[5] := 5
quantidade[6] := 6
quantidade[7] := 3
quantidade[8] := 7
quantidade[9] := 6
leia(N)
enquanto ((N < 1) ou (N > 2000)) faca
escreva ("Valor invlido. Informe o nmero de casos de teste entre 1 e 2000: ")
leia(N)
13

fimenquanto
para a de 1 ate N faca
leia (V)
enquanto ((V < 1) ou (V > 10100)) faca
escreva ("Valor invlido. Informe um nmero entre 1 e 10100: ")
leia(V)
fimenquanto
qtd_leds := 0
aux := V
enquanto (aux > 0) faca
alg := aux % 10
qtd_leds := qtd_leds + qtd[alg]
aux := aux \ 10
fimenquanto
escreva ("Nmero: ", V, " -> ", qtd_leds, " leds")
fimpara
fimalgoritmo

Relatrio etapa 3
Apresentamos solues para a resoluo de problemas de programao e sistemas
computacionais, utilizando os contedos de estrutura de dados compostas: vetores e
matrizes.

14

ETAPA 4
O Problema de Josephus definido como mostrado a seguir. Vamos supor que N
pessoas esto organizadas em um crculo, e que temos um inteiro positivo M N.
Comeando com uma primeira pessoa designada, prosseguimos em torno do crculo,
removendo cada M-sima pessoa. Depois que cada pessoa removida, a contagem
prossegue em torno do crculo restante. Esse processo continua at todas as M
pessoas terem sido removidas. A ordem em que as pessoas so removidas do crculo
define a permutao de Josephus de (N, M) dos inteiros 1, 2,... , N.

As variveis representam uma posio na memria, possuem nome e tipo e seus


contedo pode variar ao longo do tempo, ela pode assumir valores diferentes, porm s
pode armazenar um valor de cada vez, os tipos de dados so os numricos que podem
ser inteiros ou reais, lgicos que sempre retornara em dois possveis juzos ou
verdadeiro ou falso e os caracteres.
Algoritimo Etapa 4
Var
Cast: vetor[1...30,1..2] inteiro
N: vetor[1.10000]inteiro
Nc,i,j,k,MP,pessoas:inteiro
Inicio
Escreva(Quantidade de casos)
Leia(nc)
Para k de 1 ate nc faa
Escreva(Pessoas no circulo)
Leia(cast[k,1])
Escreva(ordem eliminao)
15

Leia(cast[k,2])
Para i de 1 ate cast[k,1] faa
N[i]<-i
Fimpara
MP<-0
Pessoas <-1
Repita
Para j de 1 ate cast[k,1] faa
Se n[j] <> 0 entao
Se pessoas = cast[k,2] ento
N[j]<-0
MP <- MP + 1
Pessoas <-1
Seno
Pessoas = pessoas + 1
Fim se
Fim se
Fim para
Ate MP = cast[k,1]-1
Para j de i ate cast[k,1] faa
Se n[j] <> 0 entao
Escreva( Caso , k, : , n [j])
Escreva()
Escreva()
16

Fimse
Fimpara
Fimpara
Finalalgoritimo

Relatorio etapa 4
Conclumos ao final deste desafio que fundamental cada passo realizado no algoritmo
para chegarmos a um timo programa final em linguagens de programao. Com as
tarefas propostas neste desafio proporcionou a ns alunos um desenvolvimento de
capacidades lgicas e desenvolver tambm competncias para identificar, analisar,
documentar e solucionar problemas.

17

CONCLUSO

Algoritmos um dos processos mais importantes na rea da programao, pois


atravs dele conseguimos criar uma lgica funcional para um problema especfico. Com
isso ganhamos portabilidade em nosso cdigo, pois uma vez criada, podemos importla para qualquer linguagem de programao, tendo apenas a necessidade de
programar de acordo com as sintaxes que a ferramenta de programao prope, tendo
o algoritmo como base de escopo para o cdigo. Portugus Estruturado: o algoritmo
em forma de texto, escrito de uma forma simplificada, contendo os passos de execuo,
sendo restrito a poucas palavras, ou seja, executando o essencial ao entendimento
humano. Tambm conhecido como pseudocdigo. Diagrama de Blocos: a
representao do algoritmo em uma forma grfica, concebida atravs de formas
geomtricas padronizadas, ligadas atravs de setas de fluxos de dados, indicando as
diversas aes no sistema.

18

BIBLIOGRAFIA:

http://www.ebah.com.br/content/ABAAABBrMAB/visualg-comandos
http://pt.wikipedia.org/wiki/Fluxograma
<http://www.facom.ufu.br/~claudio/Cursos/PP/Docs/Visualg2.pdf>.

19

Você também pode gostar