TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Atps De Construçao De Algoritmo 1 E 2

Trabalho Escolar: Atps De Construçao De Algoritmo 1 E 2. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  22/11/2013  •  1.285 Palavras (6 Páginas)  •  468 Visualizações

Página 1 de 6

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

...

Baixar como  txt (8.6 Kb)  
Continuar por mais 5 páginas »