Buscar

Exercícios de programação_UFS

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.

Continue navegando