Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de Programação Iniciado em quarta, 13 Abr 2022, 21:22 Estado Finalizada Concluída em quarta, 13 Abr 2022, 22:04 Avaliar 6,0 de um máximo de 10,0(60%) https://aula.fael.edu.br/ Questão 1 Correto Você já brincou de inverter palavras? Por exemplo, DIVAD é o contrário de DAVID, assim como JOÃO invertido �ca OÃOJ. Divertido, não é? Faça um algoritmo que inverta qualquer palavra digitada. Assinale a alternativa que traz um algoritmo que atenda a este requisito: Escolha uma opção: a. Solução (4) ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE COMPR(PALAVRA) ATÉ 1 PASSO -1 FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO Esta solução algorítmica é bastante simples. Podemos utilizar a estrutura de repetição PARA FAÇA no sentido de percorrer toda a cadeia de caracteres de traz para frente, como no exemplo abaixo (solução 4): ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE COMPR(PALAVRA) ATÉ 1 PASSO -1 FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO Vamos discutir as outras soluções apresentadas nesta questão? Comecemos pela solução 1. Como pode ser observado a seguir, esse algoritmo simplesmente coloca a mesma PALAVRA digitada na variável INVERTIDA. O que provoca esse erro é a ordem da operação string codi�cada na linha 7. Veja abaixo: ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE COMPR(PALAVRA) ATÉ 1 PASSO -1 FAÇA INVERTIDA = COPIA(PALAVRA, POSIC, 1) + INVERTIDA FIMPARA ESCREVA INVERTIDA FIMALGORITMO Já a solução 2, como abaixo transcrita, sequer fará um loop dentro do laço PARA FAÇA, porque o PASSO -1 foi esquecido: ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE COMPR(PALAVRA) ATÉ 1 FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO A solução 3 também não atende ao requisito desejado, pois ela percorre a PALAVRA na ordem normal, movendo seu conteúdo na mesma ordem para INVERTIDA: ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE 1 ATÉ COMPR(PALAVRA) FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO https://aula.fael.edu.br/ Por �m, a solução 5, que também não atende ao requisito, tenta percorrer a PALAVRA da posição 1 até a última, porém com passo invertido (-1): ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE 1 ATÉ COMPR(PALAVRA) PASSO -1 FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO b. Solução (2) ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE COMPR(PALAVRA) ATÉ 1 FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO c. Solução (1) ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE COMPR(PALAVRA) ATÉ 1 PASSO -1 FAÇA INVERTIDA = COPIA(PALAVRA, POSIC, 1) + INVERTIDA FIMPARA ESCREVA INVERTIDA FIMALGORITMO d. Solução (3) ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE 1 ATÉ COMPR(PALAVRA) FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO e. Solução (5) https://aula.fael.edu.br/ ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE 1 ATÉ COMPR(PALAVRA) PASSO -1 FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO Sua resposta está correta. A resposta correta é: Solução (4) ALGORITMO VAR PALAVRA, INVERTIDA: CARACTERE POSIC: INTEIRO LEIA PALAVRA PARA POSIC DE COMPR(PALAVRA) ATÉ 1 PASSO -1 FAÇA INVERTIDA = INVERTIDA + COPIA(PALAVRA, POSIC, 1) FIMPARA ESCREVA INVERTIDA FIMALGORITMO https://aula.fael.edu.br/ Questão 2 Correto Ao ser executado um procedimento, o que acontece com o �uxo lógico do programa original? Escolha uma opção: a. O �uxo é desviado para uma rotina e, após sua execução, retorna para a próxima instrução do programa de origem. O �uxo é desviado para uma rotina e, após sua execução, retorna para a próxima instrução. b. O �uxo segue para uma rotina e, após executada, devolve o �uxo para o início do programa de origem. c. O �uxo é desviado permanentemente para um outro programa. d. O �uxo lógico é desviado para uma rotina, retornando somente em caso de execução do comando SAIA. e. O �uxo é desviado para uma rotina e, após sua execução, retorna para o próprio comando que a invocou, devolvendo um valor processado para a expressão que o utilizou. Sua resposta está correta. A resposta correta é: O �uxo é desviado para uma rotina e, após sua execução, retorna para a próxima instrução do programa de origem. https://aula.fael.edu.br/ Questão 3 Correto Imagine um algoritmo capaz de ler uma sequência de números, até que seja digitado um zero, e calcule a média aritmética de todos eles. Assinale a alternativa que apresenta uma possibilidade de erro de lógica neste algoritmo: ALGORITMO VAR N, S, Q: INTEIRO LEIA (N) ENQUANTO N <> 0 FAÇA Q←Q+1 S←S+N LEIA (N) FIMENQUANTO ESCREVA S/Q FIMALGORITMO Escolha uma opção: a. Quando o primeiro número digitado é zero o algoritmo provoca um erro. Quando o primeiro número a ser digitado é zero, o laço não faz nenhum loop, passando direto à impressão da média S/Q. Ora, como Q é igual a zero, a divisão de S por zero �ca indeterminada, pois não existe divisão por zero. b. O erro está na fórmula matemática da média, que é Q/S ao invés de S/Q. c. Não há erros nesse algoritmo. d. O algoritmo calcula a média erradamente. e. Toda vez que a soma ultrapassa 10, a média começa a ser calculada de forma errada. Sua resposta está correta. A resposta correta é: Quando o primeiro número digitado é zero o algoritmo provoca um erro. https://aula.fael.edu.br/ Questão 4 Correto Podemos dizer que ao declararmos um vetor ele deve receber ____________ tipo(s) de dados. Assinale a alternativa que melhor preenche esta sentença. Escolha uma opção: a. Apenas um. Por ser homogêneo o vetor só recebe um tipo de dado por vez, ou seja, todos os dados são do mesmo tipo. b. Apenas dois. c. Até três. d. Até quatro. e. Até cinco. Sua resposta está correta. A resposta correta é: Apenas um. https://aula.fael.edu.br/ Questão 5 Incorreto Um computador está recebendo uma sequência de datas digitadas pelo usuário no formato “DD/MM/AAAA”, ou seja, o mês e o dia com dois dígitos, seguido do ano com quatro dígitos, todos separados por barras. Este mesmo computador guarda, em uma variável global intitulada DATAHOJE, que não precisa ser declarada no algoritmo, também no formato “DD/MM/AAAA”. O programa terá seu �m quando o usuário digitar o seguinte dado: “99/99/9999”. Ao término deste processamento, o computador deverá exibir a quantidade de datas inválidas digitadas. Desenvolva este algoritmo, levando em consideração que nenhum ano será bissexto. Após desenvolver esta solução, compare com as alternativas abaixo, indicando qual delas é a correta. Escolhauma opção: a. Solução (2) ALGORITMO VAR DATADIGITADA: CARACTERE CONTINVALIDO: INTEIRO LEIA DATADIGITADA ENQUANTO DATADIGITADA <> “99/99/9999” FAÇA SE CARACPNUM(COPIA(DATADIGITADA,4,2))>12 OU CARACPNUM(COPIA(DATADIGITADA,4,2))<1 ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE SE CARACPNUM(COPIA(DATADIGITADA,1,2))>28 ENTÃO SE COPIA(DATADIGITADA,4,2)=”02” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 SENÃO SE CARACPNUM(COPIA(DATADIGITADA,1,2))>30 ENTÃO SE COPIA(DATADIGITADA,4,2)=”04” OU COPIA(DATADIGITADA,4,2)=”06” OU COPIA(DATADIGITADA,4,2)=”09” OU COPIA(DATADIGITADA,4,2)=”11” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMSE FIMSE FIMSE FIMENQUANTO ESCREVA CONTINVALIDO FIMALGORITMO b. Solução (5) ALGORITMO VAR DATADIGITADA: CARACTERE CONTINVALIDO: INTEIRO LEIA DATADIGITADA ENQUANTO DATADIGITADA <> “99/99/9999” FAÇA SE CARACPNUM(COPIA(DATADIGITADA,1,2))>28 ENTÃO https://aula.fael.edu.br/ SE COPIA(DATADIGITADA,4,2)=”02” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMSE SE CARACPNUM(COPIA(DATADIGITADA,1,2))>30 E ( COPIA(DATADIGITADA,4,2)=”04” OU COPIA(DATADIGITADA,4,2)=”06” OU COPIA(DATADIGITADA,4,2)=”09” OU COPIA(DATADIGITADA,4,2)=”11” ) ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE SE CARACPNUM(COPIA(DATADIGITADA,4,2))>12 OU CARACPNUM(COPIA(DATADIGITADA,4,2))<1 ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMENQUANTO ESCREVA CONTINVALIDO FIMALGORITMO c. Solução (4) ALGORITMO VAR DATADIGITADA: CARACTERE CONTINVALIDO: INTEIRO LEIA DATADIGITADA ENQUANTO DATADIGITADA <> “99/99/9999” FAÇA SE CARACPNUM(COPIA(DATADIGITADA,4,2))>12 OU CARACPNUM(COPIA(DATADIGITADA,4,2))<1 ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE SE CARACPNUM(COPIA(DATADIGITADA,1,2))>28 ENTÃO SE COPIA(DATADIGITADA,4,2)=”02” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMSE SE CARACPNUM(COPIA(DATADIGITADA,1,2))>30 E ( COPIA(DATADIGITADA,4,2)=”04” OU COPIA(DATADIGITADA,4,2)=”06” OU COPIA(DATADIGITADA,4,2)=”09” OU COPIA(DATADIGITADA,4,2)=”11” ) ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMENQUANTO ESCREVA CONTINVALIDO FIMALGORITMO d. Solução (3) ALGORITMO https://aula.fael.edu.br/ VAR DATADIGITADA: CARACTERE CONTINVALIDO: INTEIRO LEIA DATADIGITADA ENQUANTO DATADIGITADA <> “99/99/9999” FAÇA SE CARACPNUM(COPIA(DATADIGITADA,4,2))>12 OU CARACPNUM(COPIA(DATADIGITADA,4,2))<1 ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE SE CARACPNUM(COPIA(DATADIGITADA,1,2))>28 ENTÃO SE COPIA(DATADIGITADA,4,2)=”02” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMSE SE CARACPNUM(COPIA(DATADIGITADA,1,2))>30 ENTÃO SE COPIA(DATADIGITADA,4,2)=”04” OU COPIA(DATADIGITADA,4,2)=”06” OU COPIA(DATADIGITADA,4,2)=”09” OU COPIA(DATADIGITADA,4,2)=”11” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMSE FIMENQUANTO ESCREVA CONTINVALIDO FIMALGORITMO e. Solução (1) ALGORITMO VAR DATADIGITADA: CARACTERE CONTINVALIDO: INTEIRO LEIA DATADIGITADA ENQUANTO DATADIGITADA <> “99/99/9999” FAÇA SE CARACPNUM(COPIA(DATADIGITADA,4,2))>12 OU CARACPNUM(COPIA(DATADIGITADA,4,2))<1 ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 SENÃO SE CARACPNUM(COPIA(DATADIGITADA,1,2))>28 ENTÃO SE COPIA(DATADIGITADA,4,2)=”02” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 SENÃO SE CARACPNUM(COPIA(DATADIGITADA,1,2))>30 ENTÃO SE COPIA(DATADIGITADA,4,2)=”04” OU COPIA(DATADIGITADA,4,2)=”06” OU COPIA(DATADIGITADA,4,2)=”09” OU COPIA(DATADIGITADA,4,2)=”11” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE https://aula.fael.edu.br/ FIMSE FIMSE FIMSE FIMSE FIMENQUANTO FIMALGORITMO Sua resposta está incorreta. A resposta correta é: Solução (1) ALGORITMO VAR DATADIGITADA: CARACTERE CONTINVALIDO: INTEIRO LEIA DATADIGITADA ENQUANTO DATADIGITADA <> “99/99/9999” FAÇA SE CARACPNUM(COPIA(DATADIGITADA,4,2))>12 OU CARACPNUM(COPIA(DATADIGITADA,4,2))<1 ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 SENÃO SE CARACPNUM(COPIA(DATADIGITADA,1,2))>28 ENTÃO SE COPIA(DATADIGITADA,4,2)=”02” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 SENÃO SE CARACPNUM(COPIA(DATADIGITADA,1,2))>30 ENTÃO SE COPIA(DATADIGITADA,4,2)=”04” OU COPIA(DATADIGITADA,4,2)=”06” OU COPIA(DATADIGITADA,4,2)=”09” OU COPIA(DATADIGITADA,4,2)=”11” ENTÃO CONTINVALIDO ← CONTINVALIDO + 1 FIMSE FIMSE FIMSE FIMSE FIMSE FIMENQUANTO FIMALGORITMO https://aula.fael.edu.br/ Questão 6 Correto Podemos apontar como principal vantagem do uso dos procedimentos: Escolha uma opção: a. Não há qualquer vantagem no uso de procedimentos. b. Organização estética do código fonte. c. Aumento da performance dos programas. d. Economia de memória. e. Redução de redundância de códigos. Usando procedimentos podemos reduzir a redundância de códigos, uma vez que um mesmo grupo de instruções podem ser isoladas em um procedimento, e invocadas a cada vez que este grupo necessite ser executado. Sua resposta está correta. A resposta correta é: Redução de redundância de códigos. https://aula.fael.edu.br/ Questão 7 Incorreto Elabore um algoritmo que leia uma frase e conte quantas palavras aparecem no texto. Considere que as palavras são separadas apenas por espaços em branco. Escolha uma opção: a. Solução (1) ALGORITMO VAR TEXTO: CARACTERE I, QPALAVRAS: INTEIRO LEIA TEXTO SE TEXTO<>”” ENTÃO QPALAVRAS←1 FIMSE PARA I DE 1 ATÉ COMPR(TEXTO) FAÇA SE COPIA(TEXTO,I,1)=” ” ENTÃO ENQUANTO COPIA(TEXTO,I,1)=” ” E I<=COMPR(TEXTO) FAÇA QPALAVRAS←QPALAVRAS+1 FIMENQUANTO FIMSE FIMPARA ESCREVA QPALAVRAS FIMALGORITMO b. Solução (2) ALGORITMO VAR TEXTO: CARACTERE I, QPALAVRAS: INTEIRO LEIA TEXTO SE TEXTO<>”” ENTÃO QPALAVRAS←1 FIMSE PARA I DE 1 ATÉ COMPR(TEXTO) FAÇA QPALAVRAS←QPALAVRAS+1 FIMPARA ESCREVA QPALAVRAS FIMALGORITMO c. Solução (5) ALGORITMO VAR TEXTO: CARACTERE I, QPALAVRAS: INTEIRO LEIA TEXTO https://aula.fael.edu.br/ SE TEXTO<>”” ENTÃO QPALAVRAS←1 FIMSE PARA I DE 1 ATÉ COMPR(TEXTO) FAÇA SE COPIA(TEXTO,I,1)=” ” ENTÃO ENQUANTO COPIA(TEXTO,I,1)=” ” E I<=COMPR(TEXTO) FAÇA I←I+1 FIMENQUANTO SE I<=COMPR(TEXTO) ENTÃO QPALAVRAS←QPALAVRAS+1 FIMSE FIMSE FIMPARA ESCREVA QPALAVRAS FIMALGORITMO d. Solução (3) ALGORITMO VARTEXTO: CARACTERE I, QPALAVRAS: INTEIRO LEIA TEXTO SE TEXTO<>”” ENTÃO QPALAVRAS←1 FIMSE PARA I DE 1 ATÉ COMPR(TEXTO) FAÇA SE COPIA(TEXTO,I,1)=” ” ENTÃO ENQUANTO COPIA(TEXTO,I,1)=” ” E I<=COMPR(TEXTO) FAÇA I←I+1 FIMENQUANTO QPALAVRAS←QPALAVRAS+1 FIMSE FIMPARA ESCREVA QPALAVRAS FIMALGORITMO e. Solução (4) ALGORITMO VAR TEXTO: CARACTERE I, QPALAVRAS: INTEIRO LEIA TEXTO PARA I DE 1 ATÉ COMPR(TEXTO) FAÇA SE COPIA(TEXTO,I,1)=” ” ENTÃO ENQUANTO COPIA(TEXTO,I,1)=” ” E I<=COMPR(TEXTO) FAÇA I←I+1 FIMENQUANTO SE I<=COMPR(TEXTO) ENTÃO https://aula.fael.edu.br/ QPALAVRAS←QPALAVRAS+1 FIMSE FIMSE FIMPARA ESCREVA QPALAVRAS FIMALGORITMO Sua resposta está incorreta. A resposta correta é: Solução (5) ALGORITMO VAR TEXTO: CARACTERE I, QPALAVRAS: INTEIRO LEIA TEXTO SE TEXTO<>”” ENTÃO QPALAVRAS←1 FIMSE PARA I DE 1 ATÉ COMPR(TEXTO) FAÇA SE COPIA(TEXTO,I,1)=” ” ENTÃO ENQUANTO COPIA(TEXTO,I,1)=” ” E I<=COMPR(TEXTO) FAÇA I←I+1 FIMENQUANTO SE I<=COMPR(TEXTO) ENTÃO QPALAVRAS←QPALAVRAS+1 FIMSE FIMSE FIMPARA ESCREVA QPALAVRAS FIMALGORITMO https://aula.fael.edu.br/ Questão 8 Correto Essas variáveis só valem no âmbito do procedimento, e não podem ser tratadas ou referenciadas pelo programa de origem. Assinale a alternativa que explica corretamente sobre que tipo de variável estamos falando. Escolha uma opção: a. Inteiro. b. Privada. As variáveis privadas são declaradas dentro de um procedimento, e não podem ser tratadas ou referenciadas pelo programa que invocou aquele procedimento. c. Caracteres. d. Global. e. Real. Sua resposta está correta. A resposta correta é: Privada. https://aula.fael.edu.br/ Questão 9 Incorreto Podemos assinalar como principal diferença entre procedimentos e funções: Escolha uma opção: a. Os procedimentos são ilimitados quanto ao tamanho de seu código, enquanto as funções se limitam a 256 bytes. b. A recursividade, somente possível nos procedimentos. c. Apenas as funções podem receber parâmetros. d. Apenas as funções podem ser tratadas como parte de uma expressão, retornando um valor para elas. e. Funções podem ser invocadas de qualquer parte do algoritmo, mas os procedimentos só podem ser chamados de dentro de outro procedimento. Sua resposta está incorreta. A resposta correta é: Apenas as funções podem ser tratadas como parte de uma expressão, retornando um valor para elas. https://aula.fael.edu.br/ Questão 10 Incorreto Indique o resultado que a função TESTE retornará para o programa principal abaixo: FUNCAO TESTE (X: LÓGICO): INTEIRO INICIO RETORNE NÃO X FIMFUNCAO (...) ALGORITMO PRINCIPAL INÍCIO ESCREVA NÃO TESTE(TESTE(NÃO TESTE(FALSO))) FIMALGORITMO Escolha uma opção: a. “FALSO”. b. VERDADEIRO. c. “VERDADEIRO”. d. FALSO. e. 1. Sua resposta está incorreta. A resposta correta é: VERDADEIRO. Atividade Anterior Seguir para... https://aula.fael.edu.br/mod/quiz/view.php?id=71599&forceview=1 https://aula.fael.edu.br/
Compartilhar