Atps De Construçao De Algoritmo 1 E 2
Trabalho Escolar: Atps De Construçao De Algoritmo 1 E 2. Pesquise 861.000+ trabalhos acadêmicosPor: • 22/11/2013 • 1.285 Palavras (6 Páginas) • 496 Visualizações
Relatório 1 – Solução para o Problema 1
Problema 1: Definir um número inteiro N que será o número de casos de teste. Cada caso de teste é uma linha que contém dois números inteiros X e Y. O problema se resume em imprimir a soma de todos os valores ímpares entre os dois números inteiros, excetuando-os.
1.1- Identificando dados e variáveis
Como entrada será necessário a criação de seis variáveis sendo elas numtes, x, y, cont, imp, soma do tipo inteiro. A variável “numtes” ira armazenar a quantidade de testes que o usuário deseja fazer, as variáveis “x” e “y” serão respectivamente o menor e o maior valor onde entre estes será calculado o valor dos números impares, a variável “cont” terá o valor inicial definido como “1” que servira para contar a quantidades de casos de teste até o valor da variável “numtes”, já a variável “imp” tem como função o armazenamento dos valores entre “x” e “y” para a realização do teste se o numero é impar ou não caso seja verdadeiro ele armazenara seu valor na variável “soma”, se for falso ele somara “+1” para o próximo laço de repetição do enquanto faça o teste.
1.2- Descrevendo o algoritmo em Pseudo-linguagem
algoritmo "números impares entre X e Y"
// Função: algoritmo que soma dois números impar entre x e Y
// Autor:
// Data: 29/8/2013
// Seção de Declarações
var
numtes, x, y, cont, imp, soma: inteiro
inicio
escreva ("Informe o número de casos de teste: ")//esta função pede para digitar um valor para a variável "numtes"(numero de testes)
leia (numtes)//”nuntes” será coletado pela função leia
para cont de 1 ate numtes faca//laço de repetição onde a variável "cont" de valor inicial 1 irá repetir até a variável "numtes"
escreval ("digite valor de X")//esta função pede valor de "x"
leia (x)//leia coleta o valor da variável "x"
escreval ("digite valor de Y")//esta função pede valor de "y"
leia (y)//leia coleta o valor da variável "y"
soma <- 0//atribuindo valor da variável "soma" inicial= a "0"
imp <- x + 1 //esta expressão ira somar +1 a variável x para que o programa nao comece contado pelo valor x de entrada
enquanto (imp < y) faca //esta função ira repetir o bloco se e senão ate o valor de "imp" for igual ao de "y"
se (imp%2 <> 0) entao//aqui ele fará o teste se o numero é impar(se o resto da divisão for "1" ele é verdadeiro senão será falso ou seja "0")
soma <- soma + imp//ele somara a variável “imp” com a soma sendo que o valor da soma ficara registrado para a próxima instrução "se" do laço "para"
fimse//fecha a função "se"
imp <- imp + 1//soma +1 a cada laço até o valor de "imp" seja igual a "y" sendo que este bloco de execução não ira se acrescentar ao valor da soma pois ele não é um numero impar!
fimenquanto//finaliza o laço do "enquanto"
escreval ("Caso de teste: ", cont)//imprime o valor de "cont" que no final da execução estará com valor = a variável "numtes"
escreval ("soma dos numeros impares é", soma, " entre os numeros", x,y)//imprime valor da variavel "soma" e as variaveis "X" e "y"
fimpara //finaliza o laço "para"
fimalgoritmo//fim do algoritmo
O algoritmo sem comentário ficara assim:
algoritmo "números impares entre X e Y"
// Função :algoritmo que soma dois números impar entre x e Y
// Autor :
// Data : 29/8/2013
// Seção de Declarações
var
numtes, x, y, cont, imp, soma: inteiro
inicio
escreva ("Informe o número de casos de teste: ")
leia (numtes)
para cont de 1 ate numtes faca
escreval ("digite valor de X")
leia (x)
escreval ("digite valor de Y")
leia (y)
soma <- 0
imp <- x + 1
enquanto (imp < y) faca
se (imp%2 <> 0) entao
soma <- soma + imp
fimse
imp <- imp + 1
fimenquanto
escreval ("Caso de teste: ", cont)
escreval ("soma dos números impares é", soma, " entre os números", x,y)
fimpara
fimalgoritmo
1.3- Exemplos de execução do algoritmo passo a passo
O teste será descrito em forma de teste de mesa interpretando cada linha do algoritmo. O primeiro teste descrito será o que segue com a atps.
N linha numtes x y cont imp soma
10 5 - - - - -
11 5 - - 1 - -
13 5 2 - 1 - -
15 5 2 5 1 - -
16 5 2 5 1 - 0
17 5 2 5 1 3 0
20 5 2 5 1 3 3
22 5 2 5 1 4 3
22 5 2 5 1 5 3
11 5 2 5 2 5 3
13 5 6 5 2 5 3
15 5 6 8 2 5 3
16 5 6 8 2 5 0
17 5 6 8 2 7 0
20 5 6 8 2 7 7
22 5 6 8 2 8 7
11 5 6 8 3 8 7
13 5 3 8 3 8 7
15 5 3 5 3 8 7
16 5 3 5 3 8 0
17 5 3 5 3 4 0
22 5 3 5 3 5 0
11 5 3 5 4 5 0
13 5 10 5 4 5 0
15 5 10 13 4 5 0
16 5 10 13 4 5 0
17 5 10 13 4 11 0
20 5 10 13 4 11 11
22 5 10 13 4 12 11
22 5 10 13 4 13 11
11 5 10 13 5 13 11
13 5 10 13 5 13 11
15 5 10 20 5 13 11
16 5 10 20 5 13 0
17 5 10 20 5 11 0
20 5 10 20 5 11 11
22 5 10 20 5 12 11
22 5 10 20 5 13 11
20 5 10 20 5 13 24
22 5 10 20 5 14 24
22 5 10 20 5 15 24
20 5 10 20 5 15 39
22 5 10 20 5 16 39
22 5 10 20 5 17 39
20 5 10 20 5 17 56
22 5 10 20 5 18 56
22 5 10 20 5 19 56
20 5 10 20 5 19 75
22 5 10 20 5 20 75
Resultado do que será exibido na tela:
Início da execução
Informe o número de casos de teste:
5
Digite valor de X
2
Digite valor de Y
5
Caso de teste: 1
Soma dos números impares é 3 entre os números 2 5
Digite valor de X
6
Digite valor de Y
8
Caso de teste: 2
Soma dos números impares é 7 entre os números 6 8
Digite valor de X
3
Digite valor de Y
5
Caso de teste: 3
Soma dos números impares é 0 entre os números 3 5
Digite valor de X
10
Digite valor de Y
13
Caso de teste: 4
Soma dos números impares é 11 entre os números 10 13
Digite valor de X
10
Digite valor de Y
20
Caso de teste: 5
Soma dos números impares é 75 entre os números 10 20
Fim da execução.
Relatório 2 – Solução para o Problema 2
Problema 2:calcular qual é a distância média entre a sua casa e a casa dos seus amigos (em metros) com uma casa decimal após a virgula.
2.1- Identificando dados e variáveis
Para este problema será necessário a criação de sete variáveis sendo elas “media” que será uma variável do tipo real pois será necessário para que possa ser exibido um numero após a casa decimal, a variável “nome” é do tipo caracter para que sera atribuída ao nome do colega e as variáveis c1, c2, e dist, soma que são do tipo inteiro, sendo que “c1 e c2” serão utilizadas para definir a quantidade de amigos que se deseja calcular a distancia media, a variável “dist” será a que armazenara e depois sera somada a variável “soma”
2.2- Descrevendo o algoritmo em Pseudo-linguagem
algoritmo "calcular distancia media"
// Função: media da distancia de colegas de andreia"
// Autor:
// Data: 25/9/2013
// Seção de Declarações
var
media:real
nome:caracter
c1, c2, dist, soma:inteiro
inicio
// Seção de Comandos
escreval("digite quantidade de amigos:")//este escreval irá pedir a quantidade de amigos que deseja para realizar a media nao limitando apenas aos 4 casos de teste
leia(c2)// este ira declarar um valor a variavel "c2"
soma<-0// define o valor inicial de soma=0
para c1 de 1 ate c2 faca// para ira repetir o bloco de intruçoes a seguir até que valor de "c1" seja igual a "c2"
escreval("digite nome:")//aqui ele pede o nome do colega para variavel "nome"
leia(nome)
escreval("digite a distancia:")//qui pede a distancia da casa do colega para a casa de andreia
leia(dist)// aqui esta declarando o valor da variavel
soma<-dist+soma // aqui somará o valor da variavel soma que no inicio é "0" com o valor da variavel dist
fimpara//finaliza o laço para
media<-soma/c2//divide o valor de soma que estara com todas as distacias somadas e divide pelo valor de casos de teste
escreval("distancia media=", media:1:1)//exibe o valor distancia media com apenas "1" casa decimal após a virgula
fimalgoritmo // final do algoritmo
O algoritmo sem comentário ficara assim:
Algoritmo "calcular distancia media"
// Função: media da distancia de colegas de andreia"
// Autor:
// Data: 25/9/2013
// Seção de Declarações
Var
media:real
nome:caracter
c1, c2, dist, soma:inteiro
Inicio
// Seção de Comandos
escreval("digite quantidade de amigos:")
leia(c2)
soma<-0
para c1 de 1 ate c2 faca
escreval("digite nome:")
leia(nome)
escreval("digite a distancia:")
leia(dist)
soma<-dist+soma
fimpara
media<-soma/c2
escreval("distancia media=", media:1:1)
fimalgoritmo
2.3- Exemplos de execução do algoritmo passo a passo
O teste será descrito em forma de teste de mesa interpretando cada linha do algoritmo. O primeiro teste descrito será o que segue com a atps
...