Prévia do material em texto
INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 1 INTRODUÇÃO À COMPUTAÇÃO - 1ª LISTA DE EXERCÍCIOS PROF. FERNANDO RIVAS IMPORTANTE: Esta lista de exercícios foi preparada a partir dos livros Lógica de Programação – A construção de algoritmos e estruturas de dados, de André Luiz Villar Forbellone e Henri Frederico Eberspächer e Lógica de Programação e estruturas de dados de Sandra Puga e Gerson Rissetti, e um texto da Wikipédia que fala sobre sequência. QUESTÕES DE FORBELLONE E EBERSPÄCHER QUESTÃO 1 [FORBELLONE05A] Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo, e mais uma de suas três cargas, que são: um lobo, um bode, e um maço de alfafa. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Escreva um algoritmo mostrando a resposta, ou seja, indicando todas as ações necessárias para efetuar uma travessia segura. QUESTÃO 2 [FORBELLONE05B] Elabore um algoritmo que mova três discos de uma Torre de Hanói, que consiste em três hastes (a – b – c), uma das quais serve de suporte para três discos de tamanhos diferentes (1 – 2 – 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 2 QUESTÃO 3 [FORBELLONE05C] Três jesuítas e três canibais precisam atravessar um rio; para tal, dispõem de um barco com capacidade para duas pessoas. Por medida de segurança, não se deve permitir que em alguma margem a quantidade de jesuítas seja inferior à de canibais. Qual a solução para efetuar a travessia com segurança? Elabore um algoritmo mostrando a resposta, indicando as ações que concretizam a solução deste problema. QUESTÃO 4 [FORBELLONE05D] No torneio de atletismo, Barnabé, Gumercindo e Teodoro participaram das provas de 100 metros rasos, salto em distância e arremesso de dardo. Cada um deles conseguiu um primeiro lugar, um segundo e um terceiro. Descubra o que cada um conquistou, sabendo que: a) Gumercindo venceu Barnabé no Salto em Distância; b) Teodoro chegou atrás de Gumercindo no Arremesso de Dardo; c) Barnabé não chegou em primeiro nos 100 Metros Rasos. QUESTÃO 5 [FORBELLONE05E] João tem três barris. No barril A, que está vazio, cabem 8 litros. No barril B, 5. No barril C, 3 litros. Que deve ele fazer para deixar os barris A e B com 4 litros cada e o C vazio? QUESTÃO 6 [FORBELLONE05I] A partir do Exercício de fixação I.3 (resolvido no anexo I), amplie a solução apresentada de maneira a completar a operação descrita, de troca dos discos da haste a para a haste c, considerando a existência de 4 discos. QUESTÃO 7 [FORBELLONE05J] A sequência de Fibonacci é formada pela seguinte sequência: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ... etc. Escreva um algoritmo que gere a série de Fibonacci até o vigésimo termo. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 3 QUESTÃO 8 [FORBELLONE05K] Prepare um algoritmo que calcule o valor de H, sendo que ele é determinado pela série: H = 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50. QUESTÃO 9 [FORBELLONE05L] Elabore um algoritmo que determine o valor de S, em que: S = 1/1 – 2/4 + 3/9 – 4/16 + 5/25 – 6/36 ... – 10/100. QUESTÃO 10 [FORBELLONE05M] Escreva um algoritmo que calcule e escreva a soma dos dez primeiros termos da seguinte série: 2/500 – 5/450 + 2/400 – 5/350 + 5/300 - ... QUESTÃO 11 [FORBELLONE05N] Crie um algoritmo que leia um vetor com 30 números inteiros e gere um segundo vetor cujas posições pares são o dobro do vetor inicial e as ímpares o triplo. QUESTÃO 12 [FORBELLONE05O] Desenvolva um algoritmo que permita a leitura de um vetor de 30 números inteiros, e gere um segundo vetor com os mesmos dados, só que de maneira invertida, ou seja, o primeiro elemento ficará na última posição, o segundo na penúltima posição, e assim por diante. QUESTÃO 13 [FORBELLONE05P] Construa um algoritmo que permita informar dados para 2 vetores inteiros de 20 posições, e apresente a intersecção dos vetores. Lembrando que intersecção são os elementos repetidos em ambos os vetores, mas sem repetição (cada número pode aparecer uma única vez no resultado). INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 4 QUESTÃO 14 [FORBELLONE05Q] Construa um algoritmo que permita informar dados para 2 vetores inteiros de 20 posições e apresente o conjunto união dos vetores. Lembrando que conjunto união são todos os elementos que existem em ambos os vetores, mas sem repetição (cada número pode aparecer uma única vez no resultado). QUESTÕES DE PUGA E RISSETTI QUESTÃO 1 [PUGA14A] Dadas as premissas a seguir, verifique quais são as sentenças que representam a conclusão correta: I – Cavalos são animais. Animais possuem patas. Portanto: a) Cavalos possuem patas; b) Todos os animais são cavalos; c) Os cavalos possuem quatro patas. II – Retângulos são figuras que têm ângulos. Temos uma figura sem nenhum ângulo. Portanto: a) Essa figura pode ser um círculo; b) Não é possível tirar conclusões; c) Essa figura não é um retângulo. III – Se o verde é forte, o vermelho é suave. Se o amarelo é suave, o azul é médio. Mas ou o verde é forte ou o amarelo é suave. Forte, suave e médio são as únicas tonalidades possíveis. Portanto: a) O azul é médio; b) Ou o vermelho é suave ou o azul é médio; c) O amarelo e o vermelho são suaves. QUESTÃO 2 [PUGA14E] Um pastor deve levar suas três ovelhas e seus dois lobos para o pasto que fica ao sul da região. Ele deve levar também a provisão de alimentos para as ovelhas, que consiste em dois maços de feno. No entanto, no meio do caminho existe um grande rio cheio de piranhas, e o pastor tem apenas um pequeno barco à sua disposição, o qual lhe permite levar dois “passageiros” de cada vez. Considere como passageiros as ovelhas, os maços de feno e os lobos e considere ainda que, se as ovelhas ficarem em menor número do que INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 5 os lobos, serão comidas e, se o feno ficar com as ovelhas sem um lobo por perto, as ovelhas comerão o feno. Ajude o pastor a atravessar o rio e preservar suas posses. QUESTÃO 3 [PUGA14B] Identifique o próximo número da sequência: 12, 13, 15, 18, 22, 27, 33? QUESTÃO 4 [PUGA14C] Dadas as premissas a seguir, verifique quais são as sentenças que representam a conclusão correta: I – Você está dirigindo seu carro. Se brecar repentinamente, um caminhão baterá na traseira. Se não brecar imediatamente, você atropelará uma criança que está atravessando a estrada. Portanto: a) As crianças devem afastar-se das estradas; b) O caminhão baterá na traseira de seu carro ou você atropelará a criança; c) O caminhão vai muito depressa. II – Somente quando B é X, K é Z. E é X ou Z somente quando K não é Z. Duas letras não podem ser uma só. Portanto; a) Quando B é X, E não é X nem Z; b) Quando K é Z, X ou Z é E; c) Quando B não é X, E não é X nem Z. III – Quando B é maior que A, J é menor que A, porém A nunca é maior que B e jamais é igual a B. Portanto: a) J nunca é menor que B; b) J nunca é menor que A; c) J nunca é maior que B. IV – Todas as plantas verdes têm clorofila. Algumas coisas que têm clorofila são comestíveis. Portanto: a) Alface é comestível; b) Algumas plantas verdes são comestíveis; c) Alface tem clorofila. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 6 QUESTÃO 5 [PUGA14D] Considere a seguinte sequência infinita de números: 3, 12, 27, _____, 75, 108, ..., n. O número que preenche adequadamente a quarta posição dessa sequência é: a) 42; b) 36; c) 48; d) 40; e) 44.QUESTÃO 6 [PUGA14F] Qual é o próximo número da sequência: 1, 1, 2, 3, 5, 8, 13, _____, ..., n? QUESTÕES DA WIKIPÉDIA QUE FALA SOBRE SEQUÊNCIAS As seguintes questões foram inspiradas em um texto da Wikipédia que fala sobre Sequências [WIKIPÉDIA20]. Estas sequências estão lá, mas algumas eu adaptei para o formato desta relação de exercícios. QUESTÃO 1 [WIKIPÉDIA20A] Qual o próximo número que será gerado na seguinte sequência? -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, _____ QUESTÃO 2 [WIKIPÉDIA20B] Qual o próximo número que será gerado na seguinte sequência? - 23, -18, -13, -8, -3, 2, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57, _____ INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 7 QUESTÃO 3 [WIKIPÉDIA20C] Qual o próximo número que será gerado na seguinte sequência? 27, 22, 17, 13, 10, 7, 4, 1, -2, -5, -8, -13, -17, _____ QUESTÃO 4 [WIKIPÉDIA20D] Qual o próximo número que será gerado na seguinte sequência? 3, -3, 3, -3, 3, -3, 3, -3, 3, ______ QUESTÃO 5 [WIKIPÉDIA20E] Qual o próximo número que será gerado na seguinte sequência? 16, -8, 4, -2, 1, -1/2, ¼, -1/8, 1/16, ______ RESPOSTAS QUESTÕES DE FORBELLONE E EBERSPÄCHER QUESTÃO 1 [FORBELLONE05F] Resposta transcrita do livro (ver página 180). 1. Levar o bode para o outro lado do rio; 2. Voltar sem carga nenhuma; 3. Levar o lobo para o outro lado do rio; 4. Voltar com o bode; 5. Levar a alfafa para o outro lado do rio; 6. Voltar sem carga nenhuma; 7. Levar o bode para o outro lado do rio. A seguinte resposta foi elaborada pelo aluno Iuri Andrade de Sousa Marques da turma de Introdução à Computação do turno da noite – período letivo de 2019/2; reposta apresentada referente a 1ª questão da 1ª Chamada do 1º NPC do referido curso em 13/03/2020. A seguir segue a resposta do aluno Iuri: 1. Levar o bode para o outro lado do rio; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 8 2. Voltar sem carga nenhuma; 3. Levar a alfafa para o outro lado do rio; 4. Voltar com o bode; 5. Levar o lobo para o outro lado do rio; 6. Voltar sem carga nenhuma; 7. Levar o bode para o outro lado do rio. OBS: O mais importante é que o lobo e o bode não podem ficar a sós em uma mesma margem. E nem o bode e a alfafa também não podem ficar a sós na mesma margem. Seria um prejuízo muito grande, pois ou o lobo devoraria o bode, ou o bode devoraria a alfafa. QUESTÃO 2 [FORBELLONE05G] Resposta transcrita do livro (ver páginas 180 e 181). Mover o disco 1 da torre A para a torre B; Mover o disco 2 da torre A para a torre C; Mover o disco 1 da torre B para a torre C; Mover o disco 3 da torre A para a torre B; Mover o disco 1 da torre C para a torre A; Mover o disco 2 da torre C para a torre B; Mover o disco 1 da torre A para a torre B. Comentário: A Torre de Hanói em si é formada por três discos. Um menor que fica em cima e recebe o número 1, um intermediário que fica no meio e recebe o número 2, e um maior que fica em baixo e recebe o número 3. E existem três hastes a, b e c. A ideia é mover os discos de uma haste para outra. A resposta que os autores do livro deram para solucionar o problema não está completamente errada. Talvez, nas fases finais de elaboração do livro, ao revisarem o texto, eles não perceberam o erro que estavam cometendo ao chamar de torre o que na realidade é uma haste. Na figura que está no livro, as hastes são chamadas de a, b e c, em letras minúsculas. Já na solução apresentada por eles, houve uma mudança e passaram a chamá-las de A, B e C, com o uso de letras maiúsculas. A sequência de passos está correta. A seguir apresento a mesma sequência apenas corrigindo estes dois erros, chamando de haste o que é haste, e utilizando letras minúsculas em vez de maiúsculas respeitando a figura. Mover o disco 1 da haste a para a haste b; Mover o disco 2 da haste a para a haste c; Mover o disco 1 da haste b para a haste c; Mover o disco 3 da haste a para a haste b; Mover o disco 1 da haste c para a haste a; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 9 Mover o disco 2 da haste c para a haste b; Mover o disco 1 da haste a para a haste b. HASTES a b c ESTADO INICIAL 1, 2, 3 1º Movimento 2, 3 1 2º Movimento 3 1 2 3º Movimento 3 1, 2 4º Movimento 3 1, 2 5º Movimento 1 3 2 6º Movimento 1 2, 3 7º Movimento 1, 2, 3 ESTADO FINAL 1, 2, 3 Eu encontrei na Wikipédia, a enciclopédia livre, um texto que fala sobre a Torre de Hanói. Neste texto, as hastes são chamadas de pinos e existem alguns exemplos de Torres de Hanói. No final desta lista, você pode encontrar a referência. A utilização do termo pino não é exclusividade da Wikipédia. No livro Lógica de programação e estruturas de dados, de Puga e Rissetti, os autores utilizam pino, em vez de haste, quando apresentam o problema da Torre de Hanói [PUGA14G]. QUESTÃO 3 [FORBELLONE05H] Resposta transcrita do livro (ver página 181). Atravessar um jesuíta e um canibal para a margem B; Voltar o jesuíta para a margem A; Atravessar dois canibais para a margem B; Voltar um canibal para a margem A; Atravessar dois jesuítas para a margem B; Voltar um jesuíta e um canibal para a margem A; Atravessar dois jesuítas para a margem B; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 10 Voltar um canibal para a margem A; Atravessar dois canibais para a margem B; Voltar um canibal para a margem A; Atravessar dois canibais para a margem B. QUESTÃO 4 Gumercindo chegou em 1º no Salto em Distância, em 2º no Arremesso de Dardo e em 3º nos 100 Metros Rasos; Teodoro chegou em 2º no Salto em Distância, em 3º no Arremesso de Dardo, e 1º nos 100 Metros Rasos; Barnabé chegou em 3º no Salto em Distância, em 1º no Arremesso de Dardo e em 2º nos 100 Metros Rasos. A tabela apresentada a seguir mostra como ficou o resultado. PROVAS SALTO EM DISTÂNCIA ARREMESSO DE DARDO 100 METROS RASOS 1º Lugar Gumercindo Barnabé Teodoro 2º Lugar Teodoro Gumercindo Barnabé 3º Lugar Barnabé Teodoro Gumercindo OBS: Para resolver esta questão, eu contei com a ajuda do aluno da turma de Introdução à Computação, período 2019/2, do turno da tarde Felipe Alves Araújo. QUESTÃO 5 Coloque os 3 litros de C em A; Coloque 3 dos 5 litros de B em C; Coloque os 3 litros de C em A; Coloque os 2 litros de B em C; Coloque 5 dos 6 litros de A em B; Coloque 1 dos 5 litros de B em C; Coloque os 3 litros de C em A. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 11 A tabela abaixo permite uma visualização melhor dos litros nos três barris. Após cada movimento são apresentados os estados intermediários resultantes após cada movimentação. Após o 7º Movimento chega-se ao Estado Final Desejado, com 4 litros nos barris A e B. Inclusive, a linha do 7º Movimento está em negrito para diferenciá-la das demais, já que ela é o fim da movimentação, ou seja, chegou-se ao Estado Final Desejado. BARRIS A B C CAPACIDADE 8 5 3 ESTADO INICIAL 0 5 3 1º Movimento 3 5 0 2º Movimento 3 2 3 3º Movimento 6 2 0 4º Movimento 6 0 2 5º Movimento 1 5 2 6º Movimento 1 4 3 7º Movimento 4 4 0 ESTADO FINAL 4 4 0 QUESTÃO 6 Ampliando a Torre de Hanói de três para quatro discos. Mover o disco 1 da haste a para a haste b; Mover o disco 2 da haste a para a haste c; Mover o disco 1 da haste b para a haste c; Mover o disco 3 da haste a para a haste b; Mover o disco 1 da haste c para a haste a; Mover o disco 2 da haste c para a haste b; Mover o disco 1 da haste a para a haste b. Mover o disco 4 da haste a para a haste c. Mover o disco 1 da haste b para a haste c. Mover o disco 2 da haste bpara a haste a. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 12 Mover o disco 1 da haste c para a haste a. Mover o disco 3 da haste b para a haste c. Mover o disco 1 da haste a para a haste b. Mover o disco 2 da haste a para a haste c. Mover o disco 1 da haste b para a haste c. HASTES a b c ESTADO INICIAL 1, 2, 3, 4 1º Movimento 2, 3, 4 1 2º Movimento 3, 4 1 2 3º Movimento 3, 4 1, 2 4º Movimento 4 3 1, 2 5º Movimento 1, 4 3 2 6º Movimento 1, 4 2, 3 7º Movimento 4 1, 2, 3 8º Movimento 1, 2, 3 4 9º Movimento 2, 3 1, 4 10º Movimento 2 3 1, 4 11º Movimento 1, 2 3 4 12º Movimento 1, 2 3, 4 13º Movimento 2 1 3, 4 14º Movimento 1 2, 3, 4 15° Movimento 1, 2, 3, 4 ESTADO FINAL 1, 2, 3, 4 INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 13 QUESTÃO 7 No texto da Wikipédia sobre a Linguagem C, temos um exemplo de como declarar variáveis inteiras. Para este algoritmo vamos precisar de algumas delas. Inicialmente, vamos precisar de duas chamadas de ant1 e ant2 que serão usadas como anterior 1 e anterior 2, na sequência vamos precisar de uma chamada de atual que vai receber o valor da sequência de Fibonacci gerado naquela repetição, e por último uma chamada de cont um contador. Vamos utilizar um pseudocódigo que é muito parecido com a Linguagem C. Vamos inicializar as variáveis ant1 e ant2 com 1, cont com 3 e atual com 2. Vamos executar um laço 17 vezes, já que queremos gerar e imprimir os 20 primeiros números da sequência de Fibonacci. Algoritmo SeqFibonacci Var ant1, ant2, atual, cont : inteiro Início ant1 ← 1 ant2 ← 1 Mostrar (“Sequência de Fibonacci: “) Mostrar (ant1, “, “, ant2, “, “) Para cont de 3 até 20 Passo 1 Faça atual ← ant1 + ant2 ant2 ← ant1 ant1 ← atual Mostrar (atual) Se cont < 20 Mostrar (“, “) Senão Mostrar (“.”) Fim-Se Fim-Para INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 14 Fim. QUESTÃO 8 Para este algoritmo vamos precisar de uma variável real chamada H que vai receber o somatório de uma série de 50 termos. Uma variável real pode receber números reais. Cada um deste termos é uma fração, onde cada numerador é um número ímpar entre 1 e 99, e cada denominador é um sequencial que vai de 1 até 50. Vamos precisar de mais três variáveis, só que neste caso inteiras, um contador, chamado de cont, que vai de 1 até 50, um numerador, chamado de num e um denominador chamado de den. Algoritmo Soma-Frações Var H : real; cont, num, den : inteiro; Início H ← 0; Para cont de 1 até 50 Passo 1 Faça den ← cont; num ← (den * 2) -1; H ← H + (num / den); Fim-Para; Mostrar (“O somatório é: “, H); Fim. Se você quiser, você pode suprimir uma variável, já que cont e den estão realizando a mesma função. É só escolher uma delas e eliminar a outra. Por exemplo, vamos eliminar a variável cont, mantendo a variável den: Algoritmo Soma-Frações1 Var INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 15 H : real; num, den : inteiro; Início H ← 0; Para den de 1 até 50 Passo 1 Faça num ← (den * 2) -1; H ← H + (num / den); Fim-Para; Mostrar (“O somatório é: “, H); Fim. QUESTÃO 9 Para este algoritmo vamos precisar de uma variável real S que vai receber o somatório de dez termos. É uma série de somas algébricas, onde os termos ímpares são realmente somas e os termos pares são subtrações. Cada um dos dez termos são frações, onde o numerador é um sequencial que vai de 1 até 10, e o denominador é o quadrado do numerador. Vamos precisar de três variáveis inteiras cont que é um contador, num que é o numerador, e den que é o denominador. E vamos utilizar o -1 como termo que vai alternar as somas e subtrações. Teremos algo parecido com o seguinte algoritmo: Algoritmo Soma-Algébrica1 Var S : real; cont, num, den : inteiro; Início S ← 0; Para cont de 1 até 10 Passo 1 Faça num ← cont; den ← num ** 2; S ← S + ((-1) ** (cont + 1) * num / den; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 16 Fim-Para; Mostrar (“O somatório é “, S); Fim. Você pode estar se perguntando por que eu disse “algo parecido com”. Se você quiser, você pode suprimir algumas variáveis. O cont e o num realizam a mesma função. O den é o mesmo num elevado ao quadrado. No final você pode utilizar só o cont mesmo. Observe o algoritmo apresentado a seguir: Algoritmo Soma-Algébrica2 Var S : real; Cont : inteiro; Início S ← 0; Para cont de 1 até 10 Passo 1 Faça S ← S + ((-1) ** (cont + 1) * cont / (cont ** 2); Fim-Para; Mostrar (“O somatório é “, S); Fim. Se quiser pode simplificar mais ainda. Como a fração é sempre um número dividido pelo seu quadrado, se você simplificar esta fração você vai ter 1 dividido por cont. Como apresentado a seguir: Algoritmo Soma-Algébrica3 Var S : real; Cont : inteiro; Início S ← 0; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 17 Para cont de 1 até 10 Passo 1 Faça S ← S + ((-1) ** (cont + 1) * 1 / cont; Fim-Para; Mostrar (“O somatório é “, S); Fim. QUESTÃO 10 Para este algoritmo, vamos precisar de duas variáveis reais S e T, S de soma e T de termo. Vamos precisar de uma variável inteira chamada de cont, um contador e de mais uma variável inteira chamada de den. Esta segunda variável inteira vai começar com o valor 500 e vai decrescendo de 50 em 50 até chegar em 50. Se você notar o numerador está sempre alternando o valor, sendo igual +2 quando se trata de um termo ímpar (2/500, 2/400, 2/300) e -5 quando se trata de um termo par (-5/450, -5/350, -5/250). Algoritmo Soma-Algébrica-10-Termos Var S, T : real; cont, den : inteiro; Início S ← 0; den ← 500; Para cont de 1 até 10 Passo 1 Faça Se (cont mod 2) = 1 Então T ← 2 / den; Senão T ← -5 / den; Mostrar (“O Termo “, cont, “é igual a: ”, T); S ← S + T; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 18 den ← den – 50; Fim-Para; Mostrar (“O valor da soma é igual a: “, S); Fim. QUESTÃO 11 Para este algoritmo vamos precisar de dois vetores (VETOR1 e VETOR2) de 30 posições inteiras, e um índice i. Inicialmente, vamos fazer a leitura dos 30 valores que serão informados pelo usuário que vão sendo armazenados no primeiro vetor (VETOR1). Posteriormente, vamos focalizar nossa atenção no índice i. Se o resto da divisão e i por 2 for 0, o valor a ser armazenado no segundo vetor (VETOR2) será o dobro do que está no VETOR1. Se o resto da divisão por 2 for 1, o valor a ser armazenado no segundo vetor (VETOR2) será o triplo do que está no VETOR1. Vamos ao algoritmo: Algoritmo Armazena-Dobro-Triplo-Valores Var // definição do tipo construído vetor Tipo V = vetor [1..30] de inteiros; // declaração de variáveis compostasV: VETOR1, VETOR2; // declaração de variáveis simples Inteiro: i; Para i de 1 até 30 Passo 1 Faça Ler (VETOR1[i]); Se i mod 2 = 0 VETOR2[i] ← VETOR1[i] * 2; Senão VETOR2[i] ← VETOR1[I] * 3; Fim-para; Para i de 1 até 30 Passo 1 Faça INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 19 Mostrar (“VETOR1 [“, i, ”] = “, VETOR1[i],” VETOR2[“, i, “]= “, VETOR2[i]); Fim-Para; Fim. QUESTÃO 12 Para este algoritmo vamos precisar de dois vetores (VETOR1 e VETOR2) de 30 posições inteiras, e dois índices i1 e i2. Inicialmente, vamos fazer a leitura dos 30 valores que serão informados pelo usuário que vão sendo armazenados no primeiro vetor (VETOR1). Posteriormente, vamos focalizar nossa atenção no índice i1. O índice i2 vai receber o valor inicial de 31. Utilizaremos uma equação para calcular o valor de i2, que será igual a: i2 ← i2 – i1. Vamos ao algoritmo: Algoritmo Inverte-Posição-no-Vetor Var // definição do tipo construído vetor Tipo V = vetor [1..30] de inteiros; // declaração de variáveis compostas V: VETOR1, VETOR2; // declaração de variáveis simples Inteiro: i1, i2; Para i1 de 1 até 30 Passo 1 Faça Ler (VETOR1[i1]); Fim-para; Para i1 de 1 até 30 Passo 1 Faça i2 ← 31 – i1; VETOR2[i2] ← VETOR1[i1]; Fim-Para; Para i1 de 1 até 30 Passo 1 Faça INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 20 Mostrar (“VETOR1 [“, i1, ”] = “, VETOR1[i1],” VETOR2[“, i1, “]= “, VETOR2[i1]); Fim-Para; Fim. QUESTÃO 13 Para este algoritmo vamos precisar de três vetores VETOR1, VETOR2 e VETOR3. Inicialmente, serão gerados os vetores VETOR1 e VETOR2 a partir das informações geradas pelo usuário. O VETOR3 será inicializado com valores iguais a zero. Utilizando uma variável chamada cont (de contador) cujo valor inicial é zero, faremos o teste para determinar se um determinado valor do VETOR1 está também no VETOR2. Se for verdade, cont será incrementado de um. Agora, se cont for igual a 1 o número que está em VETOR1 será gravado em VETOR3. Somente neste caso é feito o transporte do valor que está em VETOR1 para VETOR3. No final, imprimimos os três vetores. Algoritmo Intersecção-de-Vetores Var // definição do tipo construído vetor Tipo V = vetor [1..20] de inteiros; // declaração de variáveis compostas V: VETOR1, VETOR2, VETOR3; // declaração de variáveis simples Inteiro: i1, i2, cont; Para i1 de 1 até 20 Passo 1 Faça Ler (VETOR1[i1]); Ler (VETOR2[i1]); VETOR3[i1] ← 0; Fim-Para; Para i1 de 1 até 20 Passo 1 Faça cont ← 0; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 21 Para i2 de 1 até 20 Passo 1 Faça Se VETOR1[i1] = VETOR2[i2] Então cont ← cont + 1; Se cont =1 Então VETOR3[i1] ← VETOR2[i2]; Fim-Para; Fim-Para; Para i1 de 1 até 20 Passo 1 Faça Mostrar (“VETOR1 [“, i1, ”] = “, VETOR1[i1],” VETOR2[“, i1, “]= “, VETOR2[i1]); Mostrar (“VETOR3 [“, i1, ”] = “, VETOR3[i1]); Fim-Para; Fim. QUESTÃO 14 Para este algoritmo vamos precisar de três vetores: VETOR1, VETOR2 e VETOR3. Inicialmente, os vetores VETOR1 e VETOR2 são inicializados com dados fornecidos pelo usuário. O VETOR3 recebe diretamente os dados que estão no VETOR1. A partir deste instante, é feita a checagem de cada número existente no VETOR2, comparando-os com todos os valores existentes no VETOR1. Se não for comum, ou seja, se a variável de controle cont continuar igual a zero, significa que aquele determinado valor não existe no vetor VETOR1, portanto ele é incluído no VETOR3. No final, são impressos os três vetores. Note que o VETOR3 tem 40 posições, porque no pior caso, pode acontecer de nenhum dos valores que estão no VETOR1 sejam iguais aos que estão no VETOR2. Uma última explicação: Durante a inicialização dos vetores VETOR1 e VETOR2, o usuário não vai poder informar que quaisquer dos números que vão ser armazenados nestes dois vetores é igual a zero. O VETOR3 vai receber os 20 números que estão no VETOR1 e depois vai ser inicializado com valores iguais a zero (nas posições 21 até 40). Eu proibi a inicialização com valor zero para distinguir da inicialização com zero do VETOR3. Existe um outro problema que precisa ser resolvido: Ao inicializar o vetor VETOR1 é preciso que se faça uma checagem para verificar se não existem dois ou mais números repetidos neste vetor. O mesmo procedimento de checagem deverá ser feito no vetor VETOR2. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 22 Algoritmo União-de-Vetores Var // definição do tipo construído vetor Tipo VET0 = vetor [1..20] de inteiros; VET1 = vetor [1..40] de inteiros; // declaração de variáveis compostas VET0: VETOR1, VETOR2; VET1: VETOR3; // declaração de variáveis simples Inteiro: i1, i2, i3, cont; Para i1 de 1 até 20 Passo 1 Faça Repita Mostrar (“VETOR1[“, i1, “] = “); Ler (VETOR1[i1]); Até VETOR1[i1] <> 0; Repita Mostrar (“VETOR2[“, i1, “] = “); Ler (VETOR2[i1]); Até VETOR2[i1] <> 0; VETOR3[i1] ← VETOR1[i1]; Fim-Para; Para i3 de 21 até 40 Passo 1 Faça VETOR3[i3] ← 0; Fim-Para; i3 ← 20; Para i2 de 1 até 20 Passo 1 Faça INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 23 cont ← 0; Para i1 de 1 até 20 Passo 1 Faça Se VETOR1[i1] = VETOR2[i2] Então cont ← cont + 1; Fim-Se; Fim-Para; Se cont = 0 Então i3 ← i3 + 1; VETOR3[i3] ← VETOR2[i2]; Fim-Se; Fim-Para; Para i1 de 1 até 20 Passo 1 Faça Mostrar (“VETOR1 [“, i1, ”] = “, VETOR1[i1],” VETOR2[“, i1, “]= “, VETOR2[i1]); Fim-Para; Para i3 de 1 até 40 Passo 1 Faça Mostrar (“VETOR3 [“, i1, ”] = “, VETOR3[i1]); Fim-Para; Fim. OBS: Este algoritmo foi parcialmente inspirado no livro Algoritmos e Estruturas de Dados de Guimarães/Lages, página 73, de 1987. QUESTÕES DE PUGA E RISSETTI QUESTÃO 1 I – Letra a As premissas deste exercício são: Cavalos são animais e, Animais possuem patas. Em lugar nenhum está escrito que cavalos possuem quatro patas, ou que todos os animais são cavalos. A conclusão é: INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 24 Cavalos possuem patas. II – Letra c Neste exercício as premissas são: Retângulos são figuras que têm ângulos, e temos uma figura sem nenhum ângulo. Elas se excluem mutuamente, e a conclusão é: Essa figura não é um retângulo. III – Letra b Neste caso temos as seguintes premissas: Se o verde é forte, o vermelho é suave. Se o amarelo é suave, o azul é médio. Mas ou o verde é forte ou o amarelo é suave. Aqui a solução passa pela substituição de partes das premissas dadas. Considere o verde é forte e substitua por o vermelho é suave. Faça a mesma operação com a outra premissa, substituindo o amarelo é suave poro azul é médio. O resultado é: Ou o vermelho é suave, ou o azul é médio. QUESTÃO 2 A seguinte sequência de passos, ou de movimentos, resolve o problema proposto nesta questão. 1. Levar uma ovelha para a outra margem. 2. Voltar sozinho para a margem inicial. 3. Levar um lobo para a outra margem. 4. Voltar sozinho para a margem inicial. 5. Levar um maço de feno para a outra margem. 6. Voltar sozinho para a margem inicial. 7. Levar uma ovelha para a outra margem. 8. Voltar sozinho para a margem inicial. 9. Levar um lobo para a outra margem. 10. Voltar sozinho para a margem inicial. 11. Levar uma ovelha para a outra margem. 12. Voltar sozinho para a margem inicial. 13. Levar um maço de feno para a outra margem. As possíveis soluções deste problema podem surgir de várias combinações diferentes de passos, ou de movimentos. Você pode levar primeiro, alternadamente, os dois maços de feno, depois, de novo alternando, um lobo e INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 25 uma ovelha, até levar a última ovelha. Ou levar os dois lobos primeiro, depois os dois maços de feno. Obviamente, sempre alternando um e outro passageiro E quando for levar uma ovelha, trazer para a margem inicial um lobo. Ou ainda levar uma ovelha, depois um lobo e na sequência outra ovelha, e em seguida os dois maços de feno, novamente de forma alternada, e por último tanto faz levar primeiro uma ovelha ou um lobo. Estes são apenas alguns exemplos das possíveis soluções para este problema. QUESTÃO 3 Para facilitar o raciocínio, eu vou transcrever a sequência de números. E embaixo dela, eu vou colocar os números 1, 2, 3, 4, 5, 6, 7, ..., correspondendo a posição que cada número tem nesta sequência. NÚMEROS E SUAS POSIÇÕES NA SEQUÊNCIA Número 12 13 15 18 22 27 33 Posição 1 2 3 4 5 6 7 Agora, se você somar o número com a sua posição, você vai obter o próximo número da sequência. Portanto; 12 + 1 = 13, 13 + 2 = 15, 15 + 3 = 18, 18 + 4 = 22, 22 + 5 = 27, 27 + 6 = 33. Consequentemente, o próximo número da sequência será 33 + 7 = 40. QUESTÃO 4 I – Letra b; As duas premissas deste exercício são: Se brecar repentinamente, um caminhão baterá na sua traseira. Se não brecar imediatamente, você atropelará uma criança que está atravessando a estrada. Como só existem duas opções, brecar e não brecar, e como ambas se excluem mutuamente, temos que: Um caminhão baterá na sua traseira ou você atropelará uma criança. II – Letra a; INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 26 As duas premissas deste exercício são: Quando B é X, K é Z. E é X ou Z, somente quando K não é Z. Duas letras não podem ser uma só. “Em lógica quando você nega duas vezes uma sentença, você está afirmando esta sentença. Se você nega um e você obtém um ou, se você nega um ou, você obtém um e”. Se você notar bem K é Z e K não é Z se excluem mutuamente. Se você negar a segunda premissa, você obterá E não é X e nem Z somente quando K é Z. Comparando com a primeira premissa (Quando B é X, K é Z) você terá K é Z nas duas sentenças. A conclusão é que: Quando B é X, E não é X e nem Z. Agradecimento: Com a colaboração do Aluno Pedro Henrique dos Santos Aguiar da turma de Introdução à Computação do turno da noite do semestre 2024.1 III – Letra b. As duas premissas deste exercício são: Quando B é maior que A, J é menor que A, e, porém, A nunca é maior que B e jamais é igual a B. O nunca funciona como fator de exclusão mútua na comparação dos tamanhos de A e B. Na realidade, você está afirmando que se A nunca é maior e jamais é igual a B que A é sempre menor que B. Que é a mesma coisa que afirmar que B é maior que A. Portanto, J é menor que A. Se A é menor que B e J é menor que A, conclusão é a seguinte: J nunca é maior que B. IV – Letra b As duas premissas desse exercício são: Todas as plantas verdes tem clorofila. Algumas coisas que têm clorofila são comestíveis. Na realidade, você sabe que alface é verde, mas nesse exercício não está escrito em lugar nenhum que alface é verde. Entretanto, em ambas as premissas existe a palavra clorofila. Portanto, você pode substituir coisas por plantas verdes, e a conclusão é: Algumas plantas verdes são comestíveis. QUESTÃO 5 Para facilitar o raciocínio, eu vou transcrever a sequência de números. A sequência inicialmente é: 3, 12, 27, _____, 75, 108, ..., n INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 27 Se você observar bem, você vai ver que todos os números da sequência são divisíveis por 3. Eu vou reescrever a sequência colocando 3 em evidência. Portanto: 3 x 1, 3 x 4, 3 x 9, _____, 3 x 25, 3 x 36, ..., n. Se você agora olhar bem para os números 1, 4, 9, 25 e 36, você verá que todos eles são a posição que o número ocupa na sequência elevado ao quadrado. Desta forma, vou reescrever outra vez a sequência: 3 x 1², 3 x 2², 3 x 3², _______, 3 x 5², 3 x 6², ..., n. Portanto, para preencher corretamente a lacuna é só fazer 3 x 4² = 3 x 16 = 48. A resposta correta é a letra c. QUESTÃO 6 Para facilitar o raciocínio, vou transcrever a sequência: 1, 1, 2, 3, 5, 8, 13, _____, ..., n. Se você notar bem, cada número da sequência, a partir do 3º número é igual à soma dos dois anteriores, desta forma, 2 é igual a 1 + 1; 3 é igual a 1 + 2; 5 é igual a 2 + 3; 8 é igual 3 + 5, 13 é igual a 5 + 8. O próximo, basta somar 8 + 13 = 21. Esta sequência é conhecida como sendo a Sequência de Fibonacci. QUESTÕES DA WIKIPÉDIA QUE FALA SOBRE SEQUÊNCIAS QUESTÃO 1 -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, _____ Nesta questão, você vai perceber que se trata de uma Progressão Aritmética (P.A.) onde o próximo termo é gerado a partir da adição do número 2. É uma sequência crescente, ou seja, é uma P.A. de razão 2. Como 8 + 2 é igual a 10, portanto 10 é a resposta certa. QUESTÃO 2 - 23, -18, -13, -8, -3, 2, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57, _____ Se você notar bem, você vai observar que temos uma Progressão Aritmética (P.A.) onde o próximo termo é gerado a partir da adição do número 5. É uma INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 28 sequência crescente, ou seja, é uma P.A. de razão 5. Como 57 + 5 é igual a 62, 62 é a resposta certa. QUESTÃO 3 27, 22, 17, 13, 10, 7, 4, 1, -2, -5, -8, -13, -17, _____ Nesta questão, você vai notar que se trata de uma Progressão Aritmética (P.A.) onde o próximo termo é gerado a partir da subtração do número 5. É uma sequência decrescente, ou seja, é uma P.A. de razão -5. Finalizando, -17 - 5 é igual a -22, portanto -22 é a resposta certa. QUESTÃO 4 3, -3, 3, -3, 3, -3, 3, -3, 3, ______ Se você notar bem, você vai perceber que temos uma Progressão Geométrica (P.G.), onde cada termo é igual ao produto do termo anterior por uma constante, denominada “razão de P.G.”. A solução apresentada não é a mesma proposta pelo texto, mas resolve o problema. Nós temos basicamente o número -3, e ele é multiplicado por -1 elevado a posição que o termo na sequência como mostrado a seguir: -3 * (-1)¹, -3 * (-1)², -3 * (-1)³, -3 * (-1)⁴ , -3 * (-1)⁵ , -3 * (-1)⁶ , -3 * (-1)⁷ , -3 * (- 1)⁸ , -3 * (-1)⁹ O resultado é apresentado na seguinte tabela: PROGRESSÃO GEOMÉTRICA DE -3 ELEVADO A -1 Posição 1 2 3 4 5 6 7 8 9 Número 3 -3 3 -3 3 -3 3 -3 3 Por se tratar de uma P.G., o próximo termo é -3. QUESTÃO 5 16, -8, 4, -2, 1, -1/2, ¼, -1/8, 1/16, ______ Nesta questão, vemos que se trata de uma Progressão Geométrica (P.G.), onde o primeiro termo é 16 e os próximos termos são gerados a partir da razão INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 29 de P.G. que neste caso é igual a -1/2. O resultado é apresentado na seguinte tabela: PROGRESSÃOGEOMÉTRICA DE 16 DIVIDIDO POR -½ Posição 1 2 3 4 5 6 7 8 9 Número 16 -8 4 -2 1 -1/2 1/4 -1/8 1/16 O próximo termo da P.G. é 1/16 dividido por -1/2 que é igual a -1/32. REFERÊNCIAS [FORBELLONE05A] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 12, 2005. [FORBELLONE05B] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 12, 2005. [FORBELLONE05C] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 12, 2005. [FORBELLONE05D] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, páginas 12 e 13, 2005. [FORBELLONE05E] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 13, 2005. [FORBELLONE05F] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 180, 2005. [FORBELLONE05G] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, páginas 180 e 181, 2005. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 30 [FORBELLONE05H] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 181, 2005. [FORBELLONE05I] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 13, 2005. [FORBELLONE05J] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 62, 2005. [FORBELLONE05K] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 65, 2005. [FORBELLONE05L] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 65, 2005. [FORBELLONE05M] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 65, 2005. [FORBELLONE05N] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 93, 2005. [FORBELLONE05O] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 93, 2005. [FORBELLONE05P] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 93, 2005. [FORBELLONE05Q] Forbellone, A. L. V., Eberspächer, H. F., Lógica de Programação – A construção de algoritmos e estruturas de dados, Pearson Education do Brasil Ltda, 3ª Edição, página 94, 2005. [GUIMARÃES87] Guimarães, A. de M., Lages, N. A. de C., Algoritmos e Estruturas de Dados, livro publicado pela Livros Técnicos e Científicos Editora S.A., Rio de Janeiro, R.J., 1ª Edição, 4ª Reimpressão, 5ª Tiragem, página 73, no ano de 1987. [PUGA14A] Puga, S., Rissetti, G., Lógica de programação e estruturas de dados com aplicações em Java, Pearson Education do Brasil Ltda., 2ª Edição – 5ª reimpressão, página 04, outubro de 2014. INTRODUÇÃO À COMPUTAÇÃO – 1ª LISTA DE EXERCÍCIOS 31 [PUGA14B] Puga, S., Rissetti, G., Lógica de programação e estruturas de dados com aplicações em Java, Pearson Education do Brasil Ltda., 2ª Edição – 5ª reimpressão, página 05, outubro de 2014. [PUGA14C] Puga, S., Rissetti, G., Lógica de programação e estruturas de dados com aplicações em Java, Pearson Education do Brasil Ltda., 2ª Edição – 5ª reimpressão, páginas 05 e 06, outubro de 2014. [PUGA14D] Puga, S., Rissetti, G., Lógica de programação e estruturas de dados com aplicações em Java, Pearson Education do Brasil Ltda., 2ª Edição – 5ª reimpressão, páginas 06 e 07, outubro de 2014. [PUGA14E] Puga, S., Rissetti, G., Lógica de programação e estruturas de dados com aplicações em Java, Pearson Education do Brasil Ltda., 2ª Edição – 5ª reimpressão, página 07, outubro de 2014. [PUGA14F] Puga, S., Rissetti, G., Lógica de programação e estruturas de dados com aplicações em Java, Pearson Education do Brasil Ltda., 2ª Edição – 5ª reimpressão, página 07, outubro de 2014. [PUGA14G] Torre de Hanói, Puga, S., Rissetti, G., Lógica de programação e estruturas de dados com aplicações em Java, Pearson Education do Brasil Ltda., 2ª Edição – 5ª reimpressão, páginas 04 e 05, outubro de 2014. [WIKIPÉDIA20] Sequência, Wikipédia, a enciclopédia livre, 06 páginas, 25/03/2020. [WIKIPÉDIA20A] Exemplo de sequência, Wikipédia, a enciclopédia livre, página 02, 25/03/2020. [WIKIPÉDIA20B] Exemplo de sequência, Wikipédia, a enciclopédia livre, página 03, 25/03/2020. [WIKIPÉDIA20C] Exemplo de sequência, Wikipédia, a enciclopédia livre, página 03, 25/03/2020. [WIKIPÉDIA20D] Exemplo de sequência, Wikipédia, a enciclopédia livre, página 03, 25/03/2020. [WIKIPÉDIA20E] Exemplo de sequência, Wikipédia, a enciclopédia livre, página 03, 25/03/2020. [WIKIPÉDIA23] Torre de Hanói, Wikipédia, a enciclopédia livre, 08 páginas, 14/06/2023.