Baixe o app para aproveitar ainda mais
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
Compartilhar