Universidade da Beira Interior Departamento de Informática (6619, 11543, 11552) Programação I Ficha prática 4 Ano letivo 2014-15 Exercícios 1. Escreva um programa que mostre no ecrã a parte da tabela ASCII entre os códigos 32 e 126. Deverá codificar 3 versões deste exercício (ex1a.c, ex1b.c e ex1c.c, por exemplo), usando em cada uma um dos 3 diferentes ciclos da linguagem C. Queremos ver no ecrã o código ASCII e à sua frente o caráter respetivo entre plicas. Deve ainda colocar título nas duas colunas da tabela. Exemplo: Código 32 33 ... Caráter ’ ’ ’!’ 2. Considere que foram administradas injeções com hormona de crescimento a um grupo de cobaias. Escreva um programa que leia os valores de comprimento das cobaias (números reais) quando adultas, até o utilizador introduzir um valor negativo, e mostre o comprimento médio no ecrã. 3. Escreva um programa que peça ao utilizador um número inteiro n entre 1 e 100 inclusive. Deve emitir uma mensagem de erro se for introduzido um número fora deste intervalo e voltar a pedir um valor para n. Depois, deve mostrar no ecrã a tabuada do n, uma entrada por linha: n x 1 = n n x 2 = 2n ... n x 10 = 10n NOTA: o processo de verificar se os dados fornecidos pelo utilizador estão de acordo com o que é pedido num enúnciado, emitir uma mensagem de aviso 1 quando tal não ocorre e voltar a pedir os dados, repetindo este processo até que os mesmos sejam válidos, é a validação dos dados introduzidos. A partir deste momento, basta referir que deve ser feita a validação dos dados introduzidos para ficar subentendido que deve ser efetuado o processo que acabámos de descrever. 4. O fatorial dum número inteiro positivo n é dado por n! = 1 x 2 x 3 x ... x (n-1) x n sendo que se define o fatorial de 0 como valendo 1. Escreva um programa que peça ao utilizador um número inteiro n entre 0 e 20 inclusive. Faça a validação dos dados introduzidos. Depois, deve mostrar no ecrã o valor do fatorial de n. 5. Modifique o programa anterior de forma a que seja mostrada no ecrã a forma como foi calculado o fatorial de n. Exemplo: se n=4 deve aparecer no ecrã o seguinte: 4!= 1 x 2 x 3 x 4 = 24 6. Escreva um programa que peça ao utilizador dois números inteiros m e n entre 1 e 100 inclusive, de forma a que m<n. Faça a validação dos dados introduzidos. Depois, deve mostrar no ecrã todos os números pares compreendidos entre m e n. 7. Os números de Fibonacci são os que se apresentam na seguinte sequência: 0 1 1 2 3 5 8 13 ... ou seja, o primeiro número da sequência, F ib(1), é 0, o segundo, F ib(2), é 1, etc. Sabendo que estes números podem ser obtidos tendo em conta que F ib(1) = 0 F ib(2) = 1 F ib(n) = F ib(n − 1) + F ib(n − 2) escreva um programa que peça ao utilizador um número inteiro n>=0, e que mostre o valor de F ib(n). O seu programa deve validar dos dados introduzidos. 8. Neste exercício vamos simular o lançamento de uma moeda usando o gerador de números aleatórios apresentado no exercício 8 da ficha prática 3. Escreva um programa que peça ao utilizador um número inteiro entre 0 e 10. É a estimativa de caras do utilizador. O programa deve simular o lançamento de uma moeda dez vezes mostrando no ecrã o resultado de cada lançamento. No final informa o jogador se acertou ou não no número de caras que sairam no jogo. Exemplo: 2 Introduza uma estimativa de quantas caras aparecem em 10 lançamentos duma moeda: 6 Coroa Coroa Cara Coroa Coroa Cara Coroa Cara Coroa Cara Resultado: 4 caras -> perdeu! 9. Escreva um programa que peça ao utilizador um número inteiro nlinhas>=0 que mostre no ecrã o seguinte padrão: ********** ********** ... ********** ********** São nlinhas linhas, cada uma com 10 asteríscos. Use dois ciclos encadeados para resolver este exercício. 10. Escreva um programa que peça ao utilizador um número inteiro nlinhas>=0 e outro incremento>=0 e que mostre no ecrã o seguinte padrão: * * ... ** ... * ... * São nlinhas linhas, a primeira com um asterísco, a segunda com 1+incremento asteríscos a terceira com 1+ 2*incremento asteríscos, e assim sucessivamente. Exemplo: se nlinhas=4, incremento=3 deve ser mostrado o seguinte padrão: * **** ******* ********** 3 11. Escreva um programa que peça ao utilizador um número inteiro nlinhas>=0 e outro incremento>=0 e que mostre no ecrã o seguinte padrão: * * ... ** ... * ... ... * ... ** * * É idêntico ao exercício anterior até serem atingidas as nlinhas. Daí para baixo mostra mais nlinhas-1 formadas como as anteriores, mas pela ordem inversa que mostrou até aí. Exemplo: se nlinhas=4, incremento=3 deve ser mostrado o seguinte padrão: * **** ******* ********** ******* **** * 4