Buscar

UFRN Algoritmos Turma 09 AV01 25032014 (resolução em metalinguagem)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Universidade Federal do Rio Grande do Norte 
Centro de Ciências Exatas e da Terra 
Disciplina: DIM0320 – Algoritmo de Programação de Computadores 
Turma: 09 
Professor: Claudio Andrés Callejas Olguín 
 
 
Resolução parcial da Primeira Avaliação 
 
Exercício 01: O seguinte algoritmo, representado em metalinguagem, deve ser 
traduzido a fluxograma para que seja a resolução do primeiro exercício. 
 
Algoritmo Resolve em metalinguagem o problema do Exercício 01 
 Variáveis 
 Inteiro: num1, num2, i, soma 
 Início 
 Escreva("Insira um inteiro positivo: ") 
 Repita 
 Leia(num1) 
 até(num1>0) 
 Escreva("Insira outro inteiro positivo: ") 
 Repita 
 Leia(num2) 
 até(num2>0) 
 soma <-- 0 
 i <-- 1 
 Enquanto(i≤num1 .E. i≤num2)faça 
 Se(num1%i=0 .E. num2%i=0)então 
 soma <-- soma + i 
 fim_se 
 i <-- i + 1 
 fim_enquanto 
 Escreva("A soma de todos os divisores comuns de ",num1," e ",num2," 
 é ,"soma) 
 fim 
fim_algoritmo 
 
 
 
 
 
 
 
 
 
 
Exercício 02: 
 
Algoritmo Exercício 02 
 Variáveis 
 Inteiro: num1, num2, comp1, comp2, novonum 
 Início 
 Escreva("Insira um inteiro positivo: ") 
 Repita 
 Leia(num1) 
 até(num1>0) 
 Escreva("Insira outro inteiro positivo: ") 
 Repita 
 Leia(num2) 
 até(num2>0) 
 comp1 <-- 1 
 Enquanto(num1/10^comp1≠0)faça 
 comp1 <-- comp1 + 1 
 fim_enquanto 
 comp2 <-- 1 
 Enquanto(num2/10^comp2≠0)faça 
 comp2 <-- comp2 + 1 
 fim_enquanto 
 novonum <-- 0 
 Enquanto(comp1>0 .OU. comp2>0)faça 
 Se(comp1>0)então 
 novonum <-- novonum*10 + num1/10^(comp1 - 1) 
 num1 <-- num1%10^(comp1 - 1) 
 comp1 <-- comp1 - 1 
 fim_se 
 Se(comp2>0)então 
 novonum <-- novonum*10 + num2/10^(comp2 - 1) 
 num2 <-- num2%10^(comp2 - 1) 
 comp2 <-- comp2 - 1 
 fim_se 
 fim_enquanto 
 Escreva("O número obtido com a intercalação dos algarismos dos dois 
 números inseridos é ",novonum) 
 fim 
fim_enquanto 
 
 
 
 
 
 
 
Exercício 03: Apresentam-se duas soluções. 
 
Algoritmo Exercício 3 (solução 1) 
 Variáveis 
 Inteiro: n,i,j 
 Início 
 Escreva("Insira um número par positivo menor ou igual a 20: ") 
 Repita 
 Leia(n) 
 até(n%2=0 .E. n>0 .E. n≤20) 
 Para i de 0 até n/2 faça 
 Para j de i até 0 passo -1 faça 
 Escreva(n/2 - j," ") 
 fim_para 
 Para j de 1 até i faça 
 Escreva(n/2 + j," ") 
 fim_para 
 Escreva("╲n") 
 fim_para 
 fim 
fim_algoritmo 
 
Algoritmo Exercício 3 (solução 2) 
 Variáveis 
 Inteiro: n,i,j 
 Início 
 Escreva("Insira um número par positivo menor ou igual a 20: ") 
 Repita 
 Leia(n) 
 até(n%2=0 .E. n>0 .E. n<=20) 
 Para i de 0 até n/2 faça 
 Para j de i*-1 até i faça 
 Escreva(n/2 + j," ") 
 fim_para 
 Escreva("╲n") 
 fim_para 
 fim 
fim_algoritmo 
 
Exercício 04: 
A instrução (*) é executada 16 vezes se o usuário insere o valor 8.

Outros materiais