Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA DEPARTAMENTO DE COMPUTAÇÃO Disciplina: Programação Imperativa Professor: Antônio Monteiro Freire EXERCÍCIOS PROPOSTOS - PROGRAMAS ELEMENTARES 1.01 - Escrever um programa para ler o valor de A e o de B, lados de um retângulo, e calcular a sua área. Imprimir A, B e a área calculada. 1.02 - Escrever um programa para ler os valores de X e de Y. Mandar imprimir o valor de X, e o de Y se este for maior que X. 1.03 - Escrever um programa para ler dois valores diferentes e a seguir imprimir somente o maior dos dois. 1.04 - Escrever um programa para ler e imprimir um conjunto de valores, até encontrar um valor que seja nulo. 1.05 - Escrever um programa para imprimir todos os números inteiros de 1 até N, onde o valor de N deverá ser lido. 1.06 - Escrever um programa para calcular a soma dos números inteiros de 1 a N, onde o valor de N deverá ser lido. 1.07 - Escrever um programa para ler um conjunto de N valores e imprimir a soma dos mesmos. O valor de N deverá ser lido. 1.08 - Dado um conjunto de valores positivos, escrever um programa para determinar a soma desses valores. Um valor negativo indicará final dos dados. Imprimir o valor da soma obtida. 1.09 - Escrever um programa para calcular a soma dos números ímpares menores que N. Mandar imprimir o resultado obtido. O valor de N deve ser lido. 1.10 - Dada a sequência de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, ... Escrever um programa para determinar o termo da sequência que seja imediatamente inferior a K. Mandar imprimir o resultado obtido. O valor de k deverá ser lido. 1.11 - Escrever um programa para calcular a soma dos números naturais menores que L, excluindo os múltiplos de 5. Mandar imprimir o resultado obtido. O valor de L deverá ser lido. 1.12 - Escrever um programa para ler uma serie de N valores e determinar a soma dos valores pares e a soma dos impares. Mandar imprimir os valores lidos e os resultados obtidos. O valor de N deve ser lido. 1.13 - Escrever um programa para ler uma serie de N valores e determinar a média aritmética desses valores. Mandar imprimir os valores lidos e o resultado obtido. O valor de N deve ser lido. 1.14 - Escrever um programa para ler uma serie de N duplas de valores de X e Y, e determinar a média aritmética total desses valores. Mandar imprimir o resultado obtido. O valor de N deve ser lido. 1.15 - Escrever um programa para ler uma serie de N valores e determinar: 2 - A soma dos valores menores que P - A soma dos maiores ou iguais a P e menores que T - A soma dos maiores ou iguais a T Mandar imprimir os valores lidos e os resultados obtidos. Os valores de N, W e P devem ser lidos. 1.16 - Escrever um programa para ler um valor K e determinar o seu fatorial. Mandar imprimir o valor lido e o resultado obtido. 1.17 - Escrever um programa para ler uma série de N valores e determinar o maior valor lido. Mandar imprimir os valores lidos e os resultados obtidos. O valor de N deve ser lido. 1.18 – Escrever um programa para ler os nomes de N alunos e imprimi-los. Mandar ler o valor de N. 1.19 - Escrever um programa para ler uma serie de N valores e determinar o maior e o menor valor lido. Mandar imprimir os valores lidos e os resultados obtidos. O valor de N deve ser lido. 1.20 - Escrever um programa para ler uma serie de N valores e determinar os dois maiores valores lidos. Mandar imprimir os valores lidos e os resultados obtidos. O valor de N deve ser lido. 1.21 - Escrever um programa para ler uma série de N valores e determinar a quantidade de valores positivos, a quantidade de nulos e a quantidade de negativos. Mandar imprimir os valores lidos e os resultados obtidos. O valor de N deve ser lido. 1.22 - Escrever um programa para ler uma serie de N valores e determinar: - A média aritmética dos valores lidos - O maior valor lido Mandar imprimir os valores lidos e os resultados obtidos. O valor de N deve ser lido. 1.23 - Escrever um programa para ler uma serie de N valores e determinar: - A soma dos valores pares menores que K - A soma dos valores pares maiores ou iguais a K - A soma dos valores impares Mandar imprimir os valores lidos e os resultados obtidos. O valor de N e o de K devem ser lidos. 1.24 - Escrever um programa para determinar todos os divisores de um número K, com exceção de 1 e K. Mandar ler o valor de K e imprimir os resultados obtidos. 1.25 - Escrever um programa para calcular a soma dos N primeiros termos da série: 1 + 1/2 + 1/3 + 1/4 + ... Mandar ler o valor de N e imprimir o resultado obtido. 1.26 - Escrever um programa para calcular a soma dos N primeiros termos da série: 1 + 1/1! + 1/2! + 1/3! + ... Mandar ler o valor de N e imprimir o resultado obtido. 3 1.27 - Seja a série infinita: 1 – 1/2 + 1/3 – 1/4 + ... Escrever um programa para calcular a soma dos termos cujo valor absoluto seja maior que 0.15. Mandar imprimir os termos calculados e o valor da soma, ou seja, [ t ] > 0.15. 1.28 - Seja a série infinita: x - x²/2 + x³/3 - x 4 /4 + ... Escrever um programa para calcular a soma dos N primeiros termos, com N e X devendo ser lidos. Mandar imprimir o valor de X e o resultado obtido. 1.29 - Escrever um programa para calcular os valores de y, onde: y = sen x/2 + 3. tg x/2 Para X variando de 0.1 ate 1.0 em intervalos de 0.1 unidades. Mandar imprimir os valores de X e Y. 1.30 - Escrever um programa para ler os dados de N alunos, cada aluno com um número de identificação e suas tres notas. Pede-se para calcular: - A média de cada aluno - O número de aprovados - O número de reprovados - A média da turma Mandar imprimir os dados de cada aluno e os resultados obtidos. A média de aprovação é 5. Mandar ler N. 1.31 – Escrever um programa para ler um conjunto de notas de N alunos, cada aluno com nome e nota, e determinar o aluno com a maior nota. Mandar imprimir o nome obtido. Mandar ler N. EXERCICIOS PROPOSTOS - PROGRAMAS COM ARRAYS 2.01 - Escrever um programa para ler um array com N elementos e calcular a soma de seus valores. Mandar imprimir o array lido e o resultado obtido. O valor de N deve ser lido. 2.02 - Escrever um programa para ler um array com N elementos e determinar a média aritmética de seus valores. Mandar imprimir o array lido e o resultado obtido. O valor de N deve ser lido. 2.03 - Escrever um programa para ler um array com N elementos e determinar a quantidade de valores pares e a de impares. Mandar imprimir o array lido e os resultados obtidos. O valor de N deve ser lido. 2.04 - Escrever um programa para ler um array com N elementos e determinar o maior e o menor valor do array. Mandar imprimir o array e os resultados obtidos. O valor de N deve ser lido. 2.05 - Escrever um programa para ler um array com N elementos e colocar os seus valores em ordem crescente. Mandar imprimir o array na forma original e após a ordenação. O valor de N deve ser lido. 2.06 - Escrever um programa para ler dois arrays A e B, ambos com N elementos. Obter um array C com 2N elementos a partir dos dois arrays lidos, da seguinte forma: 4 Array A: A1 , A2 , A3 , ... , An Array B: B1 , B2 , B3 , ... , Bn Array C: A1 , B1 , A2 , B2 , A3 , B3 , ... , An , Bn Mandar imprimir os três arrays. O valor de N deve ser lido. 2.07 - Escrever um programa para ler um array com N elementos. Mandar calcular a média aritmética e o desvio padrão dos valores do array. Mandar escrever o array lido e os resultados obtidos. O valor deN deve ser lido. ma = ∑ xi² / n dp = raiz quadrada ( ∑ xi² / n - ma² ) 2.08 - Escrever um programa para ler um array X com N elementos e criar outro array Y com o quadrado dos elementos pares de X. Mandar imprimir os arrays X e Y. O valor de N deve ser lido. 2.09 - Escrever um programa para ler um array X com N elementos e criar um array Y com os elementos de X na ordem inversa. Mandar imprimir os dois arrays. O valor de N deve ser lido. 2.10 - Escrever um programa para ler um array X com N elementos e inverter a ordem dos elementos de X sem a ajuda de outro array. Mandar imprimir o array X nas duas situações. O valor de N deve ser lido. 2.11 - Escrever um programa para ler um array X com N elementos e determinar a quantidade de elementos que estão abaixo da média aritmética dos valores de X. Mandar imprimir o array lido, a média aritmética e o resultado obtido. O valor de N deve ser lido. 2.12 - Escrever um programa para ler um array X com N elementos e copiar em um array A os elementos negativos de X, e em um array B, os elementos nulos ou positivos. Mandar imprimir os tres arrays. O valor de N deve ser lido. 2.13 - Escrever um programa para ler um array com N elementos e determinar a quantidade de elementos do array com valores no intervalo fechado de P a W. Mandar imprimir o array lido e o resultado obtido. Mandar ler o valor de N, o de P e o de W. 2.14 - Escrever um programa para ler um array com N elementos e eliminar os valores nulos desse array. Usar apenas o array lido. Mandar imprimir o array nas duas situações. O valor de N deve ser lido. 2.15 - Escrever um programa Pascal para ler um array A com N elementos e criar um array B com o quadrado dos elementos de A. Mandar imprimir os dois arrays. Mandar ler N. 2.16 - Escrever um programa para ler um array com N valores de X, imprimir o array e imprimir os múltiplos de 3 ou de 5. Imprimir numa coluna os múltiplos de 3 e na coluna ao lado os múltiplos de 5. Mandar ler N. 2.17 - Escrever um programa para ler um texto com até 1000 caracteres e em seguida determinar o número de palavras com até 5 caracteres. Imprimir o texto lido e a quantidade de palavras determinada. Finalizar texto com o caractere #. 2.18 – Escrever um programa para ler um texto com N caracteres e em seguida ler 2 palavras e substituir toda a ocorrência da primeira pela segunda. Imprimir o texto nas duas versões. 2.19 – Escrever um programa para criptografar um texto com N caracteres e codifica-lo usando as seguintes regras: 5 a) Substituir toda vogal encontrada pela 2ª vogal consecutiva; Ex.: a => i; e => o; i => u; o => a; u = e. b) Substituir toda a ocorrência de: ch => x1; lh => x2; nh => x3; br => y 1; cr => y2; dr => y3; gr => y4; pr => y5; tr => y6. Imprimir o texto inicial, o codificado e o texto decodificado. 2.20 – Escrever um programa para ler um texto com excesso de espaços em branco e codificar os brancos excedentes da seguinte forma: - substituir todo branco inicial por “#” e os consecutivos pela quantidade excedente; Imprimir o texto lido e o texto codificado. 2.21 – Escrever um programa para corrigir as provas de múltipla escolha de um concurso com N candidatos. A prova tem 20 questões e cada questão tem 5 opções. Para cada candidato ler a identificação, o nome e as 20 respostas. Mandar ler o gabarito com as respostas certas e o número de candidatos. Imprimir numa área de saída o gabarito e a relação dos candidatos com suas respostas e as notas obtidas. 2.22 – Escrever um programa para ler um texto com N linhas e determinar o número de palavras com menos de 5 letras. Imprimir o texto lido e o resultado obtido. Mandar ler N. 2.23 – Escrever um programa para ler um texto com várias linhas. Uma linha em branco indicará final do texto. Em seguida ler 2 palavras e substituir no texto toda ocorrência da primeira pela segunda. Imprimir o texto original e o texto modificado. 2.24 – Escrever um programa para ler um série de N nomes de cidades e criar um arrray contendo esses nomes. Imprimir o array criado. Mandar ler o valor de N. EXERCICIOS PROPOSTOS - PROGRAMAS COM MATRIZES 3.01 - Escrever um programa para ler uma matriz A com M linhas e N colunas, e copiar os seus elementos, linha por linha, em um array X. Mandar imprimir a matriz A e o array X. O valor de M e o de N devem ser lidos. 3.02 - Escrever um programa para ler uma matriz A com M linhas e M colunas, e copiar os elementos da diagonal principal em um array Y. Mandar imprimir a matriz A e array Y. O valor de M deve ser lido. 3.03 - Escrever um programa para ler uma matriz B com M linhas e N colunas, e calcular a média aritmética dos seus elementos. Mandar imprimir a matriz B e o resultado obtido. Mandar ler M e N. 3.04 - Escrever um programa para ler uma matriz A com M linhas e M colunas, e calcular a soma dos elementos que estão acima da diagonal principal. Mandar imprimir a matriz A e o resultado obtido. Mandar ler M. 3.05 - Escrever um programa para ler uma matriz A com M linhas e N colunas, e montar um array B com os elementos da primeira e da última linha da matriz. Mandar imprimir a matriz A e o array B. Mandar ler M e N. 3.06 - Escrever um programa para ler uma matriz A com M linhas e M colunas, e determinar o maior valor da diagonal principal. Mandar imprimir a matriz A e o resultado obtido. Mandar ler M. 3.07 - Escrever um programa para ler uma matriz A com M linhas e N colunas, e determinar o maior valor de cada linha da matriz. Mandar imprimir a matriz A e os resultados obtidos. Mandar ler M e N. 6 3.08 - Escrever um programa para ler duas matrizes A e B, ambas com M linhas e N colunas, e determinar a matriz C resultante da soma das duas matrizes. Mandar imprimir as tres matrizes. Mandar ler M e N. Cij = Aij + Bij 3.09 - Escrever um programa para ler uma matriz A com M linhas e N colunas, e montar uma matriz B eliminando a linha L e a coluna K da matriz A. Mandar imprimir as duas matrizes. Mandar ler M, N, L e K. 3.10 - Escrever um programa para ler uma matriz A com M linhas e N colunas, e determinar a posição da matriz onde está localizado o menor valor da mesma. Mandar imprimir a matriz lida, a linha e a coluna da posição do menor valor. Mandar ler M e N. 3.11 - Escrever um programa Pascal para ler uma matriz A com M linhas e N colunas e transformar os elementos negativos em positivos. Imprimir a matriz antes e depois da alteração. Mandar ler M e N. 3.12 - Escrever um programa para ler os dados de N alunos, cada aluno com o número, idade e sexo, e construir uma tabela do tipo: Mas Fem Total Até 20 De 21 a 30 De 31 a 40 Acima de 40 Total Mandar ler N. Obs.: Sexo: 1 - Masculino, 2 – Feminino. 3.13 – Escrever um programa para ler um array com K elementos e montar uma matriz A com M linhas e N colunas. Completar os elementos da última linha com zeros se necessário. Mandar ler M, N, K e os valores do array. Imprimir o array e a matriz criada. 3.14 – Escrever um programa para ler uma matriz com M linhas e N colunas e calcular a média aritmética dos valores de cada coluna da matriz. Mandar imprimir a matriz A e os resultados obtidos. Mandar ler M e N. EXERCICIOS PROPOSTOS - REGISTROS E ARQUIVOS 4.01 – Escrever um programa para ler as informações de N alunos contendo nome, notas de 1 a 5 e média. Criar um array de registros para guardar as referidas informações. A média será calculada da seguinte forma: média = nota 1 * .7 + nota 2 * 0.15 + (nota 3 + nota 4 + nota 5) / 2. As notas 1 e 2 variam de 0 a 10, enquanto as notas 3, 4 e 5 variam de 0 a 1. Imprimir o array de registros. Mandar ler N. 4.02 – Escrever um programapara ler N linhas de caracteres e gravar em um arquivo tipo texto. Ler o arquivo gravado e imprimir o seu conteúdo na tela. Mandar ler o valor de N. 7 EXERCICIOS PROPOSTOS - SUBPROGRAMAS 5.01 – Escrever um subprograma para receber por valor, um argumento do tipo real, incrementá-lo de 1 e fazer a sua impressão. Escrever um programa para testar o subprograma com duas variáveis. Mostrar também que o argumento passado por valor não é alterado no programa principal. 5.02 – Escrever um subprograma para receber por valor uma matriz A com M linhas e N colunas, e imprimir a matriz. Escrever um programa para testar o subprograma. Mandar ler M e N. 5.03 - Escrever um subprograma para determinar o valor da função: f(x) = 0 para x ≤ 0 f(x) = x para 0 < x ≤ 1 f(x) = 1 para x > 1 Escrever um programa principal para chamar a função. 5.04 - Escrever um subprograma para determinar a posição de um ponto (x,y) nos eixos cartesianos. A função deverá retornar com o número do quadrante no qual está o ponto ou com o valor zero, se o ponto estiver sobre um dos eixos. Escrever um programa principal para chamar a função. 5.05 - Escrever um subprograma para calcular: f(x) = sen² x - cos² x se 0 ≤ x < 1 f(x) = 1 + tg² x se 1 ≤ x < 2 Para x fora dos intervalos acima, a função deverá retornar com zero. Escrever um programa principal para chamar a função. 5.06 - Escrever um subprograma para calcular o Fatorial de um número N. Escrever um programa principal para chamar a função. 5.07 - Escrever um subprograma para determinar o valor que mais vezes se repete em um array com N elementos. Escrever um programa principal para chamar a função. 5.08 - Escrever um subprograma para determinar quantos valores iguais a P existem em uma matriz com M linhas e N colunas. Escrever um programa principal para chamar a função. 5.09 - Escrever um subprograma para determinar a quantidade de valores nulos de um array com N elementos. Escrever um programa principal para chamar a função. 5.10 - Escrever um subprograma para determinar o maior valor da linha L de uma matriz com M linhas e N colunas. Escrever um programa principal para chamar a função. 5.11 - Escrever um subprograma para determinar a faixa etaria de acordo com a tabela: Faixa 1 idade até 20 anos Faixa 2 idade de 21 a 30 anos Faixa 3 idade de 31 a 40 anos Faixa 4 idade de 41 a 60 anos Faixa 5 idade acima de 60 anos 8 De acordo com a idade o subprograma deverá fornecer o valor da faixa etaria. Escrever um programa principal para chamar a função. 5.12 - Escrever um subprograma para determinar em uma matriz A com M linhas e N colunas, uma linha na qual todos os elementos tenham valor par. Escrever um programa principal para chamar a função. 5.13 - Escrever um subprograma para calcular as raizes reais de uma equação do segundo grau do tipo: ax² + bx + c = 0 Escrever um programa principal para chamar o subprograma. 5.14 - Escrever um subprograma para calcular a quantidade de valores pares e a quantidade de valores impares de um array com N elementos. Escrever um programa principal para chamar o subprograma. 5.15 - Escrever um subprograma para determinar em um array com N elementos, a quantidade de valores que estão abaixo e a dos que estão igual ou acima da média aritmética dos mesmos. Escrever um programa principal para chamar o subprograma. 5.16 - Escrever um subprograma para calcular o número de elementos negativos, o de nulos e o de positivos de um array com N elementos. Escrever um programa principal para chamar o subprograma. 5.17 - Escrever um subprograma para determinar os divisores de um número N. Escrever um programa principal para chamar o subprograma. 5.18 Escrever um subprograma para determinar em uma matriz com M linhas e N colunas, a soma dos elementos de cada coluna. Escrever um programa principal para chamar o subprograma. 5.19 - Escrever um subprograma para montar um array com os elementos de uma matriz B, M linhas e N colunas, que obedecem à relação: [ Aij- media ] ≤ 1 Onde media representa a média aritmética dos valores da matriz B. Escrever um programa principal para chamar o subprograma. 5.20 - Escrever um subprograma para montar um array com os elementos multiplos de 3 ou de 5 de uma matriz com M linhas e N colunas. Escrever um programa principal para chamar o subprograma. 5.21 - Escrever um subprograma para montar um array com os elementos das linhas impares de uma matriz com M linhas e N colunas. Escrever um programa principal para chamar o subprograma. 5.22 - Escrever um subprograma para determinar em uma matriz com M linhas e M colunas, a soma dos elementos da diagonal principal, a soma dos que estão acima e a dos que estão abaixo da diagonal. Escrever um programa principal para chamar o subprograma.
Compartilhar