Algoritmia e Programação
Pedro Pimenta
Sem consulta Duração: 3 hr Entrada: até 30 min após o início Saída: só na última hora Esta é a parte prática da prova de exame (época especial) – deverá construir algoritmos (powerpoint) que permitam a resolução dos enunciados, e copiar os respectivos ficheiros para a directoria \\sol\exame\ – depois, ser-lhe-ão fornecidos outros fluxogramas, e deverá optar, justificando, pelos algoritmos desenvolvidos por si ou propostos pelo professor. Leia atentamente o todo o enunciado antes de começar a responder... Bom trabalho!
Parte Prática - "Análise", Programação e Crítica 1. A resposta às perguntas desta secção será constituída por: Um fluxograma, em powerpoint, com a representação do algoritmo; o programa-fonte em cada uma das linguagens / ferramentas inserido no fluxograma representado em powerpoint. 2. Os ficheiros mencionados no ponto anterior deve ser copiado, no final do exame, para a directoria \\sol\exame os ficheiros devem ter o nome do tipo
p; por exemplo, para o aluno 23487, Carlos Filpe dos Santos Martins, seria: 23487 Carlos Martins p17.ppt e 23487 Carlos Martins p18.ppt 1 Uma conhecida propriedade dos triângulos rectângulos é o facto do quadrado da sua hipotenusa ser igual à soma dos quadrados dos catetos. Considerando apenas o conjunto dos números naturais, podemos referir que, para uma hipotenusa de comprimento 5, existe uma (e uma só) solução possível para os catetos correspondentes, i. é, o par {3, 4}. (32+42=52). Para uma hipotética hipotenusa de comprimento 6, não seremos capazes de encontrar nenhum par de catetos (no conjunto dos números naturais), mas para uma hipotenusa de 10 poderemos encontrar, por exemplo, o par {6,8}. Proponha um algoritmo (explicite-o sob a forma de um fluxograma) que, dado um valor inteiro para o comprimento uma hipotética hipotenusa, encontre todos os pares de catetos-solução (poderá haver mais do que uma solução !). O algoritmo deverá terminar dizendo, para a hipotenusa dada, se há, ou não, pares de cactetos solução e, havendo, deverá indicar quais. Modifique o algoritmo anterior de forma a que este determine quanto tempo demorou a efectuar o cálculo. 2 Pares e ímpares Elabore um fluxograma para um programa que inicialize um vector (vector V) com valores inteiros, aleatórios, entre 1 e 100. Depois, o algoritmo deverá ‘separar’ / ‘arrumar’ os elementos pares dos elementos ímpares, criando outro vector (vector O) de forma a que os valores pares estejam no ‘início’ do vector, e os ímpares no ‘fim’ – por exemplo (é um exemplo, há outras formas, igualmente correctas, de ‘separar’ os valores pares dos ímpares!): V: [8 4 2 9 67 91 59 44 62 82 83 77 44 28] O: [8 4 2 44 62 82 44 28 9 67 91 59 83 77] FIM