Os Códigos em Portugal
Por: Erick Fiel • 30/9/2021 • Trabalho acadêmico • 2.142 Palavras (9 Páginas) • 162 Visualizações
Algoritmo
Lista de Exercício 05
1) Dado o seguinte algoritmo, reescreva utilizando estrutura de repetição ENQUANTO, de modo que produza a mesma saída (PSEUDO ou PORTUGAL).
algoritmo fatoriais
var
fat : real
i, num: inteiro
inicio
Para num de 1 ate 10 faca
fat ← 1
para i de 1 ate num faca
fat ← fat*i
fim_
para escreva (“fatorial de”, num,”: “,fat)
fim_para
Fim
programa
{
funcao inicio()
{
real fat
inteiro i, num
fat= 1
i=1
num=0
enquanto (num < 10)
{num += 1
enquanto (i <= num)
{fat = fat*num
i += 1}
escreva ("fatorial de ",num,": ",fat,"\n")}
}
}
2) A série de Fibonacci é formada pela sequência: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... Escreva um algoritmo em PORTUGAL que gere a série de FIBONACCI até o (N) Enésimo termo. (passado pelo usuário).
programa
{
funcao inicio()
{
inteiro x, x1, x2, x3, x4
escreva("Digite um número: ")
leia (x)
x1= 1
x2= 1
escreva(x1,", ",x2,", ")
x3= 3
enquanto (x3<= x){
x4= x1+ x2
escreva(x4,", ")
x2= x1
x1= x4
x3= x3+ 1}
}
}
3) Escreva um algoritmo em PORTUGOL que determine se dois valores inteiros e positivos A e B são primos entre si. (dois números inteiros são ditos primos entre si, caso não exista divisor comum aos dois números).
programa
{
funcao inicio()
{
inteiro X, Y, resto, maior, menor
escreva("Digite o primeiro número: ")
leia(X)
escreva("Digite o segundo número: ")
leia(Y)
se(X > Y){
maior = X
menor = X}
senao{
maior = Y
menor = X}
enquanto(maior % menor != 0){
resto= (maior % menor)
maior= menor
menor= resto}
se(menor % maior == 1){
escreva("Os números digitados são primos. \n")}
senao{
escreva("Os números digitados não são primos. \n")}
}
}
4) Escreva um algoritmo em PORTUGOL que:
• leia 100 fichas, onde cada ficha contém o número de matrícula e a nota de cada aluno de um determinado curso;
• determine e imprima as duas maiores notas, juntamente com o número de matrícula do aluno que obteve cada uma delas;
• Suponha que não exista dois ou mais alunos com a mesma nota.
programa
{
funcao inicio()
{
caracter a = 'x'
inteiro x, y, z, w
real nota, nota1, nota2
y= 0
z= 0
w= 1
nota1= 0
nota2= 0
faca {
escreva ("Digite o número da matricula do aluno: ")
leia (x)
escreva ("Digite a nota do aluno: ")
leia (nota)
limpa()
se (nota > nota1) {
nota2 = nota1
z = y
nota1 = nota
y = x
}senao se (nota > nota2) {
nota2 = nota
z = x
}
escreva (" Digite 1 para colocar a matricula de outro aluno ou caso contrario digite 2: \n")
leia(a)
limpa()
w +=1
se (w > 100){
a = '2'}
}
enquanto (a == '1')
escreva ("A maior nota é: ", nota1," e corresponde ao aluno com o número da matrícula: ",y,"\n")
escreva ("A segunda maior nota é: ", nota2," e corresponde ao aluno com o número da matrícula: ",z,"\n")
}
}
5) Um cinema possui capacidade de 100 lugares e está sempre com ocupação total. Certo dia, cada espectador respondeu a um questionário, no qual constava:
• Sua idade
• Sua opinião em relação ao filme, segundo as seguintes notas
[pic 1]
Elabore um algoritmo que, lendo estes dados, calcule e imprima:
• A quantidade de respostas ótimas;
• A diferença percentual entre respostas bom e regular;
• A média de idade das pessoas que responderam ruim;
• A diferença de idade das pessoas entre a maior idade que respondeu ótimo e a maior idade que respondeu ruim
programa
{
funcao inicio()
{
caracter r = 'x', nota
inteiro x, idade, A, D, D2, M, A1, B1, C1, D1, E1
x= 1
A=0
D=0
D2 =0
M=0
A1=0
B1=0
C1=0
D1=0
E1=0
escreva ("De acordo com a tabela, digite a sua nota considerando que: \n")
escreva("A= Ótimo, B= Bom, C= Regular, D= Ruim e E= Péssimo \n")
faca {
escreva ("Digite a sua nota: ")
leia(nota)
escreva("Digite a idade: ")
leia(idade)
escolha (nota)
{caso 'A': A1 += 1 se (A < idade) {A = idade} pare
caso 'B': B1 += 1 pare
caso 'C': C1 += 1 pare
caso 'D': D1 += 1 D += idade se (D2 < idade) {D2 = idade}pare
...