Академический Документы
Профессиональный Документы
Культура Документы
ATPS:
Construo de Algoritmos
Santo Andr
2014
1
ATPS:
Atividade Supervisionada desenvolvida no 2 Bimestre do 1 ano do curso
Tecnologia de Redes de computadores sobre a matria Algoritmos ministrada por
Prof Claudio Buranelo na Universidade do Grande ABC Anhanguera
Santo Andr
2014
2
RESUMO
SUMRIO
1. Capa.......................................................................................................................... Pg 1
2. Contracapa............................................................................................................... Pg 2
3. Resumo..................................................................................................................... Pg 3
4. Sumrio.................................................................................................................... Pg 4
5. Introduo............................................................................................................... Pg 5
6. Desenvolvimento...................................................................................... Pg 6 at Pg 23
7. Concluso................................................................................................................ Pg 24
8. Referncias Bibliogrficas..................................................................................... Pg 25
Introduo
Como citado no trabalho abaixo, utilizamos a linguagem de programao C++ junto do
programa DEV C++, para criarmos algoritmos que possam facilitar os problemas com
clculos elevados, utilizando-se de matrizes e vetores.
Desenvolvimento
Etapa 1 Problema 1
Definir 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.
algoritmo "Soma de dois nmeros." //Incio do programa
var
num1,num2,soma:inteiro
inicio
escreva("Digite o 1 e o 2 nmero: ")
leia(num1)
leia(num2)
Se (num1 mod 2 =1) ou (num2 mod 2 =1) entao
soma <- num1 + num2
escreva("A soma dos nmeros : ",soma)
Fimse
fimalgoritmo
var
num1,num2,soma:inteiro
//Declara as variveis.
inicio
escreva("Digite o 1 nmero: ")
leia(num1)
Se (num1 mod 2 =1) ou (num2 mod 2 =1) entao //Verifica a diviso dos nmeros por
2. Se o resto da diviso = 1 ento
soma <- num1 + num2
Fimse
fimalgoritmo
//Fim do programa
INICIO
Digite o 1
nmero
Digite o 2
nmero
No
Sim
soma = num1+num2
A soma dos
nmeros : soma
Fim
Etapa 2 Problema 1
Andreia est aprendendo Programao de Computadores. Ela acha tudo muito fcil, muito
simples. Ela vai fazer um pequeno programa que l os nomes de seus amigos e a distncia de
sua casa at a casa de cada um deles.
algoritmo "distancia"
var
nome_amigo, cont: caracter
soma, media: real
distancia, quant: inteiro
inicio
soma <- 0
quant <- 0
repita
escreva("Digite o nome do amigo: ")
leia(nome_amigo)
escreva("Digite a distancia do amigo: ")
leia(distancia)
enquanto (distancia <= 0) faca
escreva("Digite novamente a distancia: ")
leia(distancia)
fimenquanto
9
10
algoritmo "distancia"
var
nome_amigo, cont: caracter
//variaveis
//soma recebe 0
quant <- 0
//quant recebe 0
repita
escreva("Digite o nome do amigo: ")
leia(nome_amigo)
//ler distancia
//digitar a distancia
fimenquanto
quant <- quant+ 1
//deseja saber a
//leia cont
escreva("Distncia entre a casa da Andria e a casa dos amigos de: ", media, ".0")
//mostrar ao usurio a distancia entre a casa da Andreia ate o amigo
fimalgoritmo
12
Inicio
Digite Nome
Digite Distancia
Se distancia = 0
No
Distancia invalida
Se digitar n ou N
Sim
Se digitar s ou S
A distancia : media
FIM
13
Etapa 3 Problema 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.
C++
#include <stdio.h>
main()
{
int v,n,num_leds[10]={6,2,5,5,4,5,6,3,7,6}, num, c, aux, total;
for(c=0; c<=n; c++)
{
printf("Digite o numero desejado: ");
scanf("%d",&v);
aux = v;
total = 0;
while (aux>0)
{
num = aux % 10;
total += num_leds[num];
aux /= 10;
}
printf("O numero de LEDS : %d \n", total);
}
}
Passo 1
15
Passo 2
Passo 3
16
Etapa 4 Problema 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.
#include <stdio.h>
main()
{
int pessoa[1000], N, M, a, b, c, d;
printf("Digite o nmero de pessoas: ");
scanf("%d", N);
printf("Digite o valor de circulos: ");
scanf("%d", M);
while (M>N)
{
printf("valor invalido, por favor digite um valor menor que 1000: ");
scanf("%d", M);
}
for (c=0; c<N; c++)
{
pessoa[a]:a ;
c:0;
d:1;
while (c<N)
{
17
b:0;
while (b<M)
while (pessoa[d]<0)
if (d=N)
{
d:1
}
else
{
d:1+1
}
}
printf("a ordem : \n");
scanf("%d", b);
printf("numero de pessoas: \n");
scanf("%d", d);
pessoa[d]:-d
c:c+1
}
}
18
//variaveis
while (M>N)
{
printf("valor invalido, por favor digite um valor menor que 1000: "); // mostrar
valor invalido
scanf("%d", M);
}
for (c=0; c<N; c++)
{
pessoa[a]:a ;
c:0;
d:1;
while (c<N)
{
b:0;
while (b<M)
while (pessoa[d]<0)
if (d=N)
{
d:1
}
Else
//seno
{
d:1+1
}
}
printf("a ordem : \n");
scanf("%d", b);
//mostre a ordem
//leia a ordem
pessoa[d]:-d
c:c+1
}
}
20
21
Passo 2
22
Concluso
Nossos colaboradores chegamos em uma concluso que: a utilizao da linguagem C++ nos
proporciona a ferramentas de simplificao de clculos, com varias funes diferentes para
assim ser simples para o usurio e completo de recursos.
23
Referncias bibliogrficas.
http://www.youtube.com/watch?v=dZq7l9Oj_c&list=PLE88CDBBDB041CC82&index=
1
http://www.facom.ufu.br/~claudio/Cursos/PP/Docs/Visualg2.pdf
https://drive.google.com/a/anhanguera.com/?tab=mo#folders/0ByrqRhRetWzEcE15
R19pUlZubkU
https://drive.google.com/a/anhanguera.com/?tab=mo#folders/0ByrqRhRetWzEcE15
R19pUlZubkU
https://drive.google.com/a/anhanguera.com/?tab=mo#folders/0ByrqRhRetWzEcE15
R19pUlZubkU
24