Buscar

Estrutura de Repetição (exercícios/respostas)

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 18 páginas

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 6, do total de 18 páginas

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 9, do total de 18 páginas

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

Prévia do material em texto

Exercício 1:
Completar o algoritmo dado, que contém uma sub-rotina que recebe como parâmetro um vetor A de
25 números inteiros e substitui eventuais valores negativos de A por zero, escrevendo a sub-rotina
substituicao():
Algoritmo:
DECLARAR vetor[25], i NUMÉRICO
PARA i <— 1 ATÉ 25 FAZER
 INICIO
 LER vetor[i]
 FIM
substituicao(vetor)
PARA i <— 1 ATÉ 25 FAZER
 INICIO
 ESCREVER vetor[i]
 FIM_ALGORITMO
 
A)
SUB-ROTINA substituicao( NUMÉRICO)
 DECLARAR z NUMÉRICO
 PARA i <— 1 ATÉ 25 FAZER
 INICIO
 IF vet[z] < 0
 ENTÃO vet[z] <— 0
 FIM
FIM_SUB_ROTINA
 
B)
SUB-ROTINA substituicao(vet NUMÉRICO)
 DECLARAR z NUMÉRICO
 PARA i <— 1 ATÉ 5 FAZER
 INICIO
 IF vet[z] < 0
 ENTÃO vet[z] <— 0
 FIM
FIM_SUB_ROTINA
 
C)
SUB-ROTINA substituicao(vet NUMÉRICO)
 DECLARAR z NUMÉRICO
 PARA i <— 1 ATÉ 25 FAZER
 INICIO
 IF vet[z] > 0
 ENTÃO vet[z] <— 0
 FIM
FIM_SUB_ROTINA
 
D)
SUB-ROTINA substituicao(vet NUMÉRICO)
 DECLARAR z NUMÉRICO
 PARA i <— 1 ATÉ 25 FAZER
 INICIO
 IF vet[z] < 0
 ENTÃO vet[I] <— z
 FIM
FIM_SUB_ROTINA
 
E)
SUB-ROTINA substituicao(vet NUMÉRICO)
 DECLARAR z NUMÉRICO
 PARA i <— 1 ATÉ 25 FAZER
 INICIO
 IF vet[z] < 0
 ENTÃO vet[z] <— 0
 FIM
FIM_SUB_ROTINA
 
 
O aluno respondeu e acertou. Alternativa(E)
Comentários:
A) Lógica de Programação e Algoritmos 
E) Lógica de Programação e Algoritmos 
Exercício 2:
ALGORITMO
Potencia(base, expoente: inteiro): inteiro
var resultado, contador: inteiro
início
 resultado <— 1
 para (contador <— 1; contador <= expoente; contador <— contador + 1) fazer
 resultado <— base * resultado
 retornar (resultado)
fim
 
Principal(): neutro
var resultado, base, expoente: inteiro
início
 escrever(“entrar com um número e sua potência: “)
 ler(base, expoente)
 se(expoente < 0) então
 escrever(“erro: expoente deve ser número positivo: “)
 senão
 Potencia(base, expoente)
 escrever(base, “elevado a“, expoente, “é igual a”, resultado)
fim
 Com relação ao algoritmo, assinalar a alternativa correta:
 
A)
 O algoritmo resolve iterativamente o cálculo de potência por meio de multiplicações;
 
B)
 O algoritmo resolve recursivamente o cálculo de potência por meio de somas;
 
C)
 O algoritmo resolve recursivamente o cálculo de potência por meio de multiplicações;
 
D)
 O algoritmo resolve iterativamente o cálculo de potência por meio de somas.
 
E)
O algoritmo resolve iterativamente o cálculo de potência por meio de subtração.
 
O aluno respondeu e acertou. Alternativa(A)
Comentários:
A) Lógica de Programação e Algoritmos 
Exercício 3:
Escrever algoritmo que calcule um novo salário a partir de um percentual, através do uso de uma sub-
rotina:
 
A)
Algoritmo
Declarar sal: Numerico
Ler sal
aum <— calculo (sal)
novo_sal <— sal * aum
Escrever “novo salario é”, novo_sal
Fim_Algoritmo
 
Sub-Rotina calculo (sal: Numerico)
 Declarar perc, valor: Numerico
 Ler perc
 valor <— sal * perc / 100
 Retornar valor
Fim_Sub-Rotina calculo
 
B)
Algoritmo
Declarar sal: Numerico
Ler sal
aum <— calculo (sal)
novo_sal <— sal + aum
Escrever “novo salario é”, novo_sal
Fim_Algoritmo
 
Sub-Rotina calculo (sal: Numerico)
 Declarar perc, valor: Numerico
 Ler perc
 valor <— sal + perc / 100
 Retornar valor
Fim_Sub-Rotina calculo
 
C)
Algoritmo
Declarar sal: Numerico
Ler sal
aum <— calculo (sal)
novo_sal <— sal + aum
Escrever “novo salario é”, novo_sal
Fim_Algoritmo
 
Sub-Rotina calculo (sal: Numerico)
 Declarar perc, valor: Numerico
 Ler perc
 valor <— sal * perc / 100
 Retornar valor
Fim_Sub-Rotina calculo
 
D)
Algoritmo
Declarar sal: Numerico
Ler sal
aum <— calculo (sal)
novo_sal <— sal - aum
Escrever “novo salario é”, novo_sal
Fim_Algoritmo
 
Sub-Rotina calculo (sal: Numerico)
 Declarar perc, valor: Numerico
 Ler perc
 valor <— sal / perc / 100
 Retornar valor
Fim_Sub-Rotina calculo
 
E)
Algoritmo
Declarar sal: Numerico
Ler sal
aum <— calculo (sal)
novo_sal <— sal * aum
Escrever “novo salario é”, novo_sal
Fim_Algoritmo
 
Sub-Rotina calculo (sal: Numerico)
 Declarar perc, valor: Numerico
 Ler perc
 valor <— sal * perc / 100*4
 Retornar valor
Fim_Sub-Rotina calculo
 
O aluno respondeu e acertou. Alternativa(C)
Comentários:
A) Lógica de Programação e Algoritmos 
E) Lógica de Programação e Algoritmos 
D) Lógica de Programação e Algoritmos 
C) Lógica de Programação e Algoritmos 
Exercício 4:
Deseja se criar um algoritmo usando sub-rotina para realizar a operação de adição entre dois
valores, com a passagem de parâmetros com valores variáveis.
 
A)
Programa Princ_Adicao
Procedimento Proc_Adicao (v1, v2 : real)
var
res : real
início
res <— v1 + v2
Escreva(“O resultado da soma é:”,
res)
Fim
Var
n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo
numero:”) Leia(n2)
Proc_Adicao(n1, n2)
 
Fim
 
B)
Programa Princ_Adicao
Procedimento Proc_Adicao (v2 : real)
var
res : real
início
res <— v1 + v2
Escreva(“O resultado da soma é:”,
res)
Fim
Var
n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo
numero:”) Leia(n2)
Proc_Adicao(n1, n2)
Fim
 
C)
Programa Princ_Adicao
Procedimento Proc_Adicao (v1, v2)
var
res : real
início
res <— v1 + v2
Escreva(“O resultado da soma é:”,
res)
Fim
Var
n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo
numero:”) Leia(n2)
Proc_Adicao(n1, n2) Fim
 
D)
Programa Princ_Adicao
Procedimento Proc_Adicao (v1, v2 : real)
var
res : real
início
res <— v1 + v2
Escreva(“O resultado da soma é:”, res)
Fim
Var
n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo
numero:”) Leia(n2)
Proc_Adicao( n2)
Fim
 
E)
Programa Princ_Adicao
Procedimento Proc_Adicao (v1, v2 : real)
var
res : real
início
res <— v1 + v2
Escreva(“O resultado da soma é:”,
res)
Fim
Var
n1, n2 : real
Inicio
Escreva(“Digite o primeiro numero:”)
Leia(n1)
Escreva(“Digite o segundo
numero:”) Leia(n2)
Proc_Adicao()
Fim
 
 
O aluno respondeu e acertou. Alternativa(A)
Comentários:
A) Lógica de Programação e Algoritmos 
Exercício 5:
Usando sub-rotinas criar um algoritmo que deverá solicita ao usuário
para digitar um valor final para um intervalo que inicie em 0 (zero).
A partir daí o programa deve contar quantos números pares e ímpares
existem entre 0 (zero), início do intervalo, e o número digitado pelo
usuário, final do intervalo.
 
A)
ALGORITMO
 
DECLARE
IMPAR, PAR, NUMERO, CONT: INTEIRO;
PROCEDIMENTO NUM-PAR;
INICIO
CONT ← 0;
PAR ← 0;
ENQUANTO (CONT <= NUMERO) FAÇA
INICIO
 PAR ← PAR + 1;
 CONT ← CONT + 2;
FIM;
FIM;
 
PROCEDIMENTO NUM-IMPAR;
INICIO
CONT ← 1;
IMPAR ← 0;
REPITA
SE NUM <> 0 ENTÃO
 INICIO
IMPAR ← IMPAR + 1;
CONT ←CONT+2;
 FIM;
ATÉ CONT > NUMERO;
FIM;
 
INICIO
LEIA (NUMERO);
NUM-PAR;
NUM-IMPAR;
ESCREVA(“QUANTIDADE DE PARE = “, PAR);
ESCREVA(“QUANTIDADE DE IMPARES = “, IMPAR);
FIM.
 
 
B)
ALGORITMO
 
DECLARE
IMPAR, PAR, NUMERO, CONT: INTEIRO;
PROCEDIMENTO NUM-PAR;
INICIO
ENQUANTO (CONT <= NUMERO) FAÇA
INICIO
 PAR ← PAR + 1;
 CONT ← CONT + 2;
FIM;
FIM;
 
PROCEDIMENTO NUM-IMPAR;
INICIO
CONT ← 1;
IMPAR ← 0;
REPITA
SE NUM <> 0 ENTÃO
 INICIO
IMPAR ← IMPAR + 1;
CONT ← CONT+2;
 FIM;
ATÉ CONT > NUMERO;
FIM;
 
INICIO
LEIA (NUMERO);
NUM-PAR;
NUM-IMPAR;
ESCREVA(“QUANTIDADE DE PARE = “, PAR);
ESCREVA(“QUANTIDADE DE IMPARES = “, IMPAR);
FIM.
 
 
C)
ALGORITMO
 
DECLARE
IMPAR, PAR, NUMERO, CONT: INTEIRO;
PROCEDIMENTO NUM-PAR;
INICIO
CONT ← 0;
PAR ← 0;
ENQUANTO (CONT <= NUMERO) FAÇA
INICIO
 PAR ← PAR + 2;
 CONT ← CONT + 2;
FIM;
FIM;
 
PROCEDIMENTO NUM-IMPAR;
INICIO
CONT ← 1;
IMPAR ← 0;
REPITA
SE NUM <> 0 ENTÃO
 INICIO
IMPAR ← IMPAR + 1;
CONT ← CONT+2;
 FIM;
ATÉ CONT > NUMERO;
FIM;
 
INICIO
LEIA (NUMERO);
NUM-PAR;
NUM-IMPAR;
ESCREVA(“QUANTIDADE DE PARE = “, PAR);
ESCREVA(“QUANTIDADE DE IMPARES = “, IMPAR);
FIM.
 
 
D)
ALGORITMO
 
DECLARE
IMPAR, PAR, NUMERO, CONT: INTEIRO;
PROCEDIMENTO NUM-PAR;
INICIO
CONT ← 0;
PAR ← 0;
ENQUANTO (CONT <= NUMERO) FAÇA
INICIO
 PAR ← PAR + 1;
 CONT ← CONT + 2;
FIM;
FIM;
 
PROCEDIMENTO NUM-IMPAR;
INICIO
CONT ← 1;
IMPAR ← 0;
REPITA
SE NUM <> 0 ENTÃO
 INICIO
IMPAR ← IMPAR + 1;
CONT ← CONT+2;
 FIM;
ATÉ CONT < NUMERO;
FIM;
 
INICIO
LEIA (NUMERO);
NUM-PAR;
NUM-IMPAR;
ESCREVA(“QUANTIDADE DE PARE = “, PAR);
ESCREVA(“QUANTIDADE DE IMPARES = “, IMPAR);
FIM.
 
 
E)
ALGORITMO
 
DECLARE
IMPAR, PAR, NUMERO, CONT: INTEIRO;
PROCEDIMENTO NUM-PAR;
INICIO
CONT ← 0;
PAR ← 0;
ENQUANTO (CONT <= NUMERO) FAÇA
INICIO
 PAR ← PAR + 1;
 CONT ← CONT + 2;
FIM;
FIM;
 
PROCEDIMENTO NUM-IMPAR;
INICIO
CONT ← 1;
IMPAR ← 0;
REPITA
SE NUM <> 0 ENTÃO
 INICIO
IMPAR ← IMPAR + 1;
CONT ← CONT+2;
 FIM;
ATÉ CONT > NUMERO;
FIM;
 
INICIO
LEIA (NUMERO);
NUM-IMPAR;
ESCREVA(“QUANTIDADE DE PARE = “, PAR);
ESCREVA(“QUANTIDADE DE IMPARES = “, IMPAR);
FIM.
 
O aluno respondeu e acertou. Alternativa(A)
Comentários:
A) Lógica de Programação e Algoritmos

Outros materiais