P.S.I. – Programação e Sistemas de Informação Estruturas de Dados Estáticas Módulo 4: Caderno de Exercícios nº1 Notas: Deve gravar os programas com o seguinte nome: nr_do_programa.c Exemplo: 1.c Grave todos os programas na sua pasta de rede. 1. Desenvolva uma aplicação que leia valores do tipo real para um array de 10 posições, e após a leitura mostre os respectivos valores lidos. 2. Desenvolva uma aplicação que leia valores do tipo real para um array de 5 posições, e após a leitura mostre os respectivos valores lidos e a ordem de leitura. Exemplo: 1 – 12.33 2 – 123.0 3 – 1.98 4 – 433.0 5 – 987.34 3. Desenvolva uma aplicação que leia valores do tipo inteiro para um array de 10 posições. Após a leitura mostre os valores na ordem inversa da sua leitura. 4. Desenvolva uma aplicação que leia valores do tipo real para um array de 5 posições, e de seguida peça ao utilizador um número real e verifique se esse número existe ou não no array. 5. Desenvolva uma aplicação que leia valores do tipo real para um array de 5 posições, e de seguida peça ao utilizador um número real e verifique se esse número existe ou não no array e diga também quantas vezes esse valor existe no array. (Copie o programa anterior (exercício 4) e ajuste-o a este problema.) 6. Desenvolva uma aplicação que leia valores para dois arrays (cada array tem 10 posições), e preencha um terceiro array com a soma dos valores dos dois primeiros arrays. 7. Desenvolva uma aplicação que leia valores para um array de 20 posições, e de seguida mostre ao utilizador um segundo array que contem os mesmos valores introduzidos no primeiro array, mas com a ordem invertida. Ou seja, o valor introduzido pelo utilizador no índice 19 irá ficar no índice 0 do segundo array, e assim sucessivamente. 8. Desenvolva uma aplicação que leia caracteres para um array com 10 posições, e de seguida informe o utilizador para cada caracter introduzido, se este é uma vogal, uma consoante ou um número. (aconselha-se a criação de uma função para verificar se o caracter é uma vogal, consoante ou número). Módulo 4 1 P.S.I. – Programação e Sistemas de Informação 9. Desenvolva uma aplicação que leia valores reais para um array de 10 posições, e de seguida mostre ao utilizador a seguinte informação acerca dos valores do array: • • • Valor máximo do array Valor mínimo do array Média dos valores do array 10. Desenvolva uma aplicação cujo objectivo é: conferir uma chave do Euromilhões • Diga ao utilizador em quantos números e em quantas estrelas acertou. Æ MATRIZES (Vectores bidimensionais) 11. Desenvolva uma aplicação cujo objectivo é ler valores reais para uma matriz 3 por 4, ou seja, uma matriz com 3 linhas e 4 colunas. No final imprima a respectiva matriz. 12. Desenvolva uma aplicação que leia valores inteiros para uma matriz com 3 linhas e 3 colunas, e no final mostre (imprima) a matriz com todos os seus valores elevados ao quadrado. 13. Desenvolva uma aplicação que leia valores inteiros para uma matriz com 2 linhas e 5 colunas, e diga no final, quantos valores introduzidos pelo utilizador na matriz são maiores ou iguais a 10 e quantos são menores que 10. 14. (T.P.C.) Desenvolva uma aplicação que leia caracteres para uma matriz de 3 linhas e 4 colunas, e no final diga quantas vogais foram introduzidas pelo utilizador. 15. Desenvolva uma aplicação que leia valores inteiros para duas matrizes com 3 linhas e 3 colunas, e no final mostre uma matriz que é resultado da soma das duas matrizes inseridas pelo utilizador. 16. Desenvolva uma aplicação que preencha uma matriz de 10 linhas e 10 colunas com as tabuadas do 1 ao 10. 1 2 3 … … … … … … … Módulo 4 2 4 6 … … … … … … … 3 6 9 … … … … … … … 4 8 12 … … … … … … … 5 10 15 … … … … … … … 6 12 18 … … … … … … … 7 14 21 … … … … … … … 8 16 24 … … … … … … … 9 18 27 … … … … … … … 10 20 30 … … … … … … … 2 P.S.I. – Programação e Sistemas de Informação 17. Desenvolva uma aplicação que leia valores reais para uma matriz de 3 linhas e 3 colunas. Após a leitura dos valores terá de trocar a primeira linha com a última linhas e mostrar novamente a matriz ao utilizador. 2 3 9 3 4 8 7 6 2 9 3 2 8 4 3 2 6 7 18. Desenvolva uma aplicação que leia valores inteiros para uma matriz de 4 linhas e 5 colunas. Após a leitura terá de preencher um array de 4 posições, em que cada posição do array terá a soma de todos os valores da respectiva linha da matriz. Mostre o array preenchido. 1 2 3 4 5 15 2 2 2 2 2 10 1 2 3 1 1 8 0 0 2 1 0 3 19. JOGO DO GALO Desenvolva o Jogo do Galo em linguagem C. Sendo que este jogo não é mais do que uma matriz de 3 linhas e 3 colunas que vão sendo preenchidas com X ou O, como podemos na representação seguinte: X O O X O jogo terá as seguintes funcionalidades: • O utilizador poderá escolher entre jogar contra outro utilizador, ou jogar contra o computador. o Deve perguntar o nome do(s) jogador(es), para que possa tratá-los pelo seu nome. No caso de jogar contra o computador, o computador terá sempre o nome PC. • O jogo termina quando algum dos jogadores vencer ou quando a matriz ficar completamente preenchida. • Para cada jogada é pedida a linha (0, 1 ou 2) e a coluna (0, 1 ou 2) pretendidas, caso essa posição da matriz já esteja preenchida, o jogador perde a jogada. • Um jogador ganha o jogo quando conseguir preencher totalmente uma linha horizontal, vertical ou diagonal. O jogo deverá ter MENU. Valoriza-se a utilização de funções. Módulo 4 3 P.S.I. – Programação e Sistemas de Informação Æ STRINGS (arrays de caracteres) 20. Desenvolva uma aplicação que leia uma string e a compare com o nome de ambos os elementos do seu grupo de trabalho. Se a string for igual a algum dos nomes mostre a mensagem “ACERTOU”, caso contrário mostre a mensagem “ERROU”. Após a mensagem mostre ao utilizador a string introduzida, mas de forma invertida. 21. Desenvolva uma aplicação que leia uma string, e copie essa string para outra variável (do tipo string com o nome clone). Após a cópia mostre ao utilizador o conteúdo da variável clone assim como o seu tamanho. 22. Desenvolva uma aplicação que leia 2 strings e faça a sua concatenação. Mostre ao utilizador o resultado da concatenação. 23. Altere o programa anterior de forma a que o resultado da concatenação possua um espaço entre as duas strings. Æ REVISÃO 24. Desenvolva uma aplicação que leia 5 temperaturas (para um array de 5 posições), e no final mostre a temperatura média. 25. Desenvolva uma aplicação que leia 5 valores inteiros (para um array), de seguida preencha automaticamente um segundo array (de 5 posições) com o quadrado dos valores do primeiro array. 26. Desenvolva uma aplicação que leia valores reais para uma matriz (de 3 linhas e 2 colunas). Após a leitura deve percorrer a matriz e alterar todos os valores menores que 10 para 0. Após este procedimento mostre novamente a matriz. Valoriza-se a utilização de funções. 27. Desenvolva uma aplicação que possua um menu com as seguintes opções: • 1 – Ler valores para o array • 2 – Imprimir os valores do array • 3 – Calcular a média dos valores armazenados no array • 4 – Mostrar o menor valor armazenado • 0 – Sair Implemente as funcionalidades descritas no menu. Valoriza-se a utilização de funções. Módulo 4 4