Sei sulla pagina 1di 3

UFRPE/UAST Bacharelado em Sistemas de Informao Algoritmos e Estruturas de Dados prof. Tiago B. A.

A. de Carvalho Lista de Exerccio 01 A lista deve ser entregue por email at as 23:59 do dia anterior primeira aula da semana. A lista deve ser enviada por email em um arquivo .zip o qual deve conter apenas arquivos .c e .h, o ttulo do email deve ser [AED] Lista01-<seu primeiro nome>-<seu segundo nome>, exemplo: [AED] Lista01-tiago-buarque. Para cada questo deve ser enviado um arquivo .c com a seguinte especificao de nome L01Qnn-<seu primeiro nome>-<seu segundo nome>, exemplo: L01Q00-tiago-buarque.c, L01Q01-tiago-buarque.c, L01Q02-tiago-buarque.c

Questo 00) Esta uma questo de exemplo. Escreva um cdigo C que l de um arquivo dois nmeros em cada linha e escreve no arquivo de sada trs nmeros em cada linha, os dois primeiros nmeros escritos so os mesmo lidos no arquivo original e o terceiro nmero a soma dos dois primeiros. Exemplo de Entrada 24 36 39 12 16

Exemplo de Sada 246 369 3 9 12 12 16 28 Questo 01) Considere o seguinte algoritmos1: 1. 2. 3. 4. 5. 6. input n print n if n == 1 then STOP if n mpar then n = 3*n +1 else n = n/2 GOTO 2

Dada a entrada 22, a seguinte sequencia de nmeros ser mostrada 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

input = entrada, isto , o nmero n passado para o algoritmo; assuma que o comando STOP termina a execuo do algoritmo; o comando GOTO volta para a linha indicada, no caso para a linha 2

conjecturado que o algoritmo acima termina (isto acontece quando o valor 1 mostrado) para qualquer entrada n que seja um nmero inteiro. Apesar da simplicidade do algoritmo, no se sabe se essa conjectura verdadeira. No entanto isto foi verificado para todos os inteiros n tais que 0 < n < 1.000.000 (na verdade para bem mais que isso). Dada uma entrada n, possvel determinar o nmero de nmero mostrados antes de ser mostrado o nmero 1, incluindo ele mesmo. Para uma dado n este valor chamado comprimento do ciclo de n. No exemplo acima o comprimento do ciclo de 22 16. Para quaisquer nmeros i e j voc deve determinar o comprimento do ciclo mximo de todos os nmeros entre entes incluindo os prprios i e j. A Entrada O arquivo de entrada consiste de uma srie de pares de inteiros i e j, um par de inteiros por linha. Todos os inteiros sero menores que 10.000 e maiores que 0. Voc deve processar todos os pares de inteiros e para cada par determinar o comprimento do ciclo mximo entre todos os inteiros entre, e incluindo, i e j. A Sada Para cada par dos inteiros da entrada i e j voc deve escrever em cada linha i j e o comprimento de ciclo mximo para todos os inteiros entre i e j, incluindo estes nmeros. Esse trs nmeros deve ser separados por um espao em branco, para cada linha da entrada deve-se ter um linha no arquivo de sada. Os inteiros i e j devem aparecer no arquivo de sada na mesma ordem em que apareceram no arquivo de entrada e devem ser seguidos (na mesma linha) pelo mximo comprimento de ciclo. Exemplo de Entrada 1 10 100 200 201 210 900 1000 Exemplo de sada 1 10 20 100 200 125 201 210 89 900 1000 174

Questo 02) Seleo da pessoa mais nova e da pessoa mais velha em uma lista. A Entrada Consiste de uma lista de idade e nome. Cada linha do arquivo de entrada contm um inteiro, que a idade, e um nome com at 30 caracteres, que o primeiro nome de uma pessoa. A idade e o nome esto separados por um espao.

A sada O arquivo de sada consiste de apenas duas linhas na primeira linha tem-se a idade e o nome da pessoa mais nova da lista do arquivo de entrada e na segunda linha a idade e o nome da pessoa mais velha da lista. A idade e o nome devem estar separados por um espao. Exemplo de Entrada 19 Jorginiaureo 20 Cris 24 Sergio 33 Jesus 40 Laila 47 Carlos 26 Eva 29 Daniel 12 Mario 15 Claudio 17 Marcelo Exemplo de Sada 12 Mario 47 Carlos

Potrebbero piacerti anche