Escolar Documentos
Profissional Documentos
Cultura Documentos
COMANDOS EM JAVA
PORTUGOL
Comandos em Java
4
JAVA
Comandos em Java
5
JAVA
Comandos em Java
7
JAVA
Comandos em Java
9
escreval(idade) System.out.println(idade);
Comandos em Java
10
escreval(“Teste”) System.out.println(“Teste”);
escreval(idade) System.out.println(idade);
1
PORTUGOL
Comando Condicional
3
JAVA
Vamos praticar!!
4
JAVA
Exercício
5
• Estruturas de Decisão:
– if;
– Clausulas em Java;
– switch;
– Exercícios;
• Estruturas de Repetição:
– while;
– do ... while;
– for;
– Exercícios;
• Arrays:
– Unidimensionais;
– Bidimensionais;
– Exercícios.
Java
ESTRUTURAS DE DECISÃO
Estruturas de Decisão – if
VisuALG: Java:
EXERCÍCIOS
Exercícios
ESTRUTURAS DE REPETIÇÃO
Estruturas de Repetição – while
VisuALG: Java:
VisuALG: Java:
repita do
... {
ate (<clausula>) ...
} while (<clausula>);
Sentidos Opostos!
Estruturas de Repetição – for
VisuALG: Java:
x: inteiro int x;
para x de 1 ate 10 faca for( x=1; x <= 10; x++)
... {
fimpara ...
}
Interrompendo Repetições
EXERCÍCIOS
Exercícios
ARRAYS
Arrays Unidimensionais
VisuALG:
var
nome: vetor [n1..n2] de <tipodado>
inicio
nome[indice] <- valor
escreva(nome[indice])
fimalgoritmo
Java:
<tipodado>[ ] nome = new <tipodado>[tamanho];
nome[indice] = valor;
System.out.println(nome[indice]);
Arrays Unidimensionais
• Exemplo de criação e uso de Array:
int[]numeros = new int [5];
int valor = 0; valor = numeros[2];
numeros[3] = 5;
numeros[0] = 3;
numeros[1] = 4;
numeros[2] = 10;
numeros[4] = 1;
numeros: 3 4 10 5 1
valor 10
Índices: 0 1 2 3 4
Arrays Bidimensionais
• Definição: Arrays Bidimensionais – Matrizes!
– Imagens;
– Equações matemática, principalmente geometria;
– Tabelas;
– Entre outros exemplos.
Ano/ Cafezinhos Pães Biscoitos Bolos Cucas
Produto
2006 3650,00 63875,00 10950,00 36500,00 7665,00
Exemplo: 2007 3454,00 74345,00 12043,00 46342,00 9234,00
Relação de vendas
2008 3789,00 61023,00 11324,00 29345,00 8235,00
de uma padaria:
2009 4002,00 75432,00 14034,00 40123,00 8945,00
2010 3876,00 79345,00 9231,00 39423,00 7983,00
2011 3953,00 64567,00 10234,00 37345,00 6235,00
Arrays Bidimensionais
• Uso:
<tipodado>[ ][ ] nome = new <tipodado>[n][m];
nome[x][y] = valor;
System.out.println(nome[x][y]);
• Onde:
– n é o número de linhas;
– m é o número de colunas;
– x é o índice de uma linha;
– y é o índice de uma coluna.
Arrays Bidimensionais
EXERCÍCIOS
Exercícios
• Lista de números:
1. Armazenar um array de 10 números inteiros:
• Solicitar ao usuário que informe cada um destes
números; ou
• Gerar 10 números aleatórios para o array:
– Random rnd = new Random(); //Inicia Aleatório [Fora do laço]
– array[indice]= rnd.nextInt(100); //Gera um número aleatório
2. Mostrar o array na sequência adquirida/gerada;
3. Colocar todo o array em ordem crescente;
4. Mostrar o array ordenado na tela.
1
COMANDOS DE REPETIÇÃO
E se eu
quisesse repetir
a frase 1000x
??
Antes de começar!
3
do {
<sequencia de comandos>
} while <expressão lógica>;
do {
<sequencia de comandos>
while <expressão lógica>;
while;
Testeno Início;
A sequência de comandos é repetida zero ou mais
vezes;
do… while;
Testeno Fim;
A sequência de comandos é repetida 1 ou mais vezes;
Repetição com variável de controle
12
<sequencia de comandos>
}
Repetição com variável de controle
13
EXERCÍCIOS
1 – CRESCENTE
2 - DECRESCENTE
EXERCÍCIO Nº 2
3
Atenção: apesar de ser possível resolver os problemas com qualquer estrutura de repetição,
sempre procure identificar a que melhor se adequa à solução do problema.
Simples
1. Crie um algoritmo que, dado um número informado pelo usuário, imprima a tabuada
dele de 1 a 10. Use o formato de apresentação (considerando que o usuário informou
o número 5):
5 x 1 = 5
5 x 2 = 10
...
7. Faça um algoritmo que leia tantos números quanto o usuário desejar e imprima a
soma deles.
8. Faça um algoritmo que permita ao usuário informar a idade de quantas pessoas ele
desejar. Após isso o algoritmo deve informar a soma das pessoas maiores de idade e a
média de idade das pessoas maiores de idade informadas.
12. Faça um algoritmo que, dada uma sequência de 9 valores, diga se ela representa uma
progressão aritmética.
13. Construa uma calculadora que permita realiza somas, subtrações, multiplicações e
divisões. Considere que o usuário pode acumular resultados, como em uma
calculadora normal.
14. Crie um algoritmo que permita que um usuário informe ATÉ 10 números reais
positivos. Após isso, o algoritmo deve informar a média e o desvio padrão amostral
dos valores informados.
15. Um circo deseja saber qual o preço ideal dos ingressos, de acordo com a cidade que
visitam. Para tanto, eles descobriram que em média 120 pessoas comparecem em
cada sessão, quando o preço do ingresso é R$ 5,00. A partir disso, a cada redução de
R$ 0,50 há um aumento de público, que difere em cada cidade. Cada sessão tem um
custo de R$ 200,00 ao circo. Faça um programa que, dado o número adicional de
pessoas a cada redução de R$ 0,50 no preço do ingresso, imprima a tabela de lucro de
cada sessão. Considere a variação de preço entre R$ 5,00 e R$ 1,00. Informe também
ao usuário, qual é o valor de ingresso que gera o maior lucro. Dica: para testar o
algoritmo, considere taxas de aumento de 26 e 30 pessoas.
Avançados
16. Construa um algoritmo para o jogo da velha. Esse jogo consiste em um tabuleiro de
dimensão 3x3 de valores O ou X. Os usuários devem informar a linha e a coluna que
desejam preencher. A partir da terceira jogada de cada jogador é necessário verificar
se houve algum ganhador. Também é possível que o resultado do jogo seja empate
(nenhum jogador preencheu uma coluna, uma linha ou uma diagonal).
17. A delegacia de polícia da pequena cidade de Springfield conta com somente 3 políciais:
o chefe de polícia Clancy, e os policiais Eddie e Lou. Como é de se esperar, esse
pequeno contingente de policiais não consegue atender imediatamente a todos os
chamados policiais. Portanto, você foi contratado para criar um sistema de
atendimento, de maneira que cada um dos policiais fique com um conjunto
equilibrado de chamados. Considere os requisitos:
Cada ocorrência deve ser de um tipo: Direção Perigosa, Barulho, Bebedeira,
Homer;
Cada ocorrência deve ser de um nível de gravidade: Baixo, Médio, Alto;
Toda ocorrência do tipo Homer tem nível de gravidade alto;
Novas ocorrências devem ser atribuídas ao policial com menos ocorrências;
Ocorrências do tipo Homer sempre são atribuídas ao chefe de polícia;
A cada registro de ocorrência o sistema deve imprimir um resumo da quantidade
de ocorrências de cada policial, o número de ocorrências do tipo Homer e o
percentual de ocorrências do tipo “Direção Perigosa” em relação do total de
ocorrências cadastradas.
18. Faça um programa que desenhe na tela losangos ou triângulos utilizando somente o
caractere “%” (veja exemplos abaixo). O usuário é quem escolhe o que deve ser
impresso. O usuário também deve ter a opção de escolher o tamanho (em linhas) da
figura a ser desenhada.
%
%%%%%
%%%%%%%%%
%%%%%%%%%%%%%
%%%%%%%%%
%%%%%
%
%
%%%
%%%%%
%%%%%%%
%%%%%%%%%
Exercícios – Recursividade
1 + 2 + 3 + 4 + ... + N.
3. Implemente um método recursivo que receba como entrada dois números inteiros x e
k e retorne o valor da operação xk. Não utilize o método Math.pow() do Java. Utilize
apenas multiplicação.
Implemente um método recursivo que receba por parâmetro um número inteiro positivo
N e mostre e retorne o N-ésimo número da sequência de Tribonacci.
Exemplo de números desta sequência são: 0, 1, 2, 5, 12, 29, 70, 169, 408, 985...
Implemente um método recursivo que receba como entrada um número N e retorne o N-
ésimo número de Pell.
LISTA DE EXERCÍCIOS – JAVA BÁSICO
1. Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e
mostre-a expressa em dias. Leve em consideração o ano com 365 dias e o mês com 30.
(Ex: 3 anos, 2 meses e 15 dias = 1170 dias.)
2. Fazer um programa que imprima a média aritmética dos números 8,9 e 7. A média dos
números 4, 5 e 6. A soma das duas médias. A média das médias.
5. Crie um algoritmo que leia o valor do salário mínimo e o valor do salário de um usuário,
calcule a quantidade de salários mínimos esse usuário ganha e imprima o resultado.
(1SM=R$788,00)
1
14. A nota final de um estudante é calculada a partir de três notas atribuı́das entre o intervalo
de 0 até 10, respectivamente, a um trabalho de laboratório, a uma avaliação semestral
e a um exame final. A média das três notas mencionadas anteriormente obedece aos
pesos: Trabalho de Laboratório: 2; Avaliação Semestral: 3; Exame Final: 5. De acordo
com o resultado, mostre na tela se o aluno está reprovado (média entre 0 e 2,9), de
recuperação (entre 3 e 4,9) ou se foi aprovado. Faça todas as verificações necessárias.
15. Escreva um programa que leia um inteiro entre 1 e 7 e imprima o dia da semana corres-
pondente a este numero. Isto é, domingo se 1, segunda-feira se 2, e assim por diante.
16. Escreva um programa que leia um inteiro entre 1 e 12 e imprima o mês correspondente
a este numero. Isto é, janeiro se 1, fevereiro se 2, e assim por diante.
17. Faça um programa que calcule e mostre a área de um trapézio. Sabe-se que:
18. Faça um programa que mostre ao usuário um menu com 4 opções de operações ma-
temáticas (as básicas, por exemplo). O usuário escolhe uma das opções e o seu pro-
grama então pede dois valores numéricos e realiza a operação, mostrando o resultado e
saindo.
19. Faça um programa para verificar se um determinado número inteiro e divisı́vel por 3 ou
5, mas não simultaneamente pelos dois.
20. Dados três valores, A, B, C, verificar se eles podem ser valores dos lados de um triângulo
e, se forem, se é um triângulo escaleno, equilátero ou isóscele, considerando os seguin-
tes conceitos:
21. Escreva o menu de opções abaixo. Leia a opção do usuário e execute a operação esco-
lhida. Escreva uma mensagem de erro se a opção for inválida.
Escolha a opç~
ao:
1- Soma de 2 números.
2- Diferença entre 2 números (maior pelo menor).
3- Produto entre 2 números.
4- Divis~
ao entre 2 números (o denominador n~ao pode ser zero).
Opç~
ao
22. Leia a idade e o tempo de serviço de um trabalhador e escreva se ele pode ou não se
aposentar. As condições para aposentadoria são
2
23. Determine se um determinado ano lido é bissexto. Sendo que um ano é bissexto se
for divisı́vel por 400 ou se for divisı́vel por 4 e não for divisı́vel por 100. Por exemplo:
1988, 1992, 1996
24. Uma empresa vende o mesmo produto para quatro diferentes estados. Cada estado
possui uma taxa diferente de imposto sobre o produto (MG 7%; SP 12%; RJ 15%; MS
8%). Faça um programa em que o usuário entre com o valor e o estado destino do
produto e o programa retorne o preço final do produto acrescido do imposto do estado
em que ele será vendido. Se o estado digitado não for válido, mostrar uma mensagem
de erro.
Lembrando que:
√
−b ± ∆
x=
2a
Onde
∆ = B 2 − 4ac
A variável a tem que ser diferente de zero. Caso seja igual, imprima a mensagem “Não
é equação de segundo grau”.
27. Escreva um programa que, dada a idade de um nadador, classifique-o em uma das
seguintes categorias:
Categoria Idade
Infantil A 5a7
Infantil B 8 a 10
Juvenil A 11 a 13
Juvenil B 14 a 17
Sênior maiores de 18 anos
28. Faça um programa que leia três números inteiros positivos e efetue o cálculo de uma das
seguintes médias de acordo com um valor numérico digitado pelo usuário:
3
√
(a) Geométrica: 3 x∗y∗z
x+2∗y+3∗z
(b) Ponderada: 6
1
(c) Harmônica: 1
+ y + z1
1
x
x+y+z
(d) Aritmética: 3
29. Faça uma prova de matemática para crianças que estão aprendendo a somar números
inteiros menores do que 100. Escolha números aleatórios entre 1 e 100, e mostre na
tela a pergunta: qual é a soma de a + b, onde a e b são os números aleatórios. Peça a
resposta. Faça cinco perguntas ao aluno, e mostre para ele as perguntas e as respostas
corretas, além de quantas vezes o aluno acertou.
30. Faça um programa que receba três números e mostre-os em ordem crescente.
31. Faça um programa que receba a altura e o peso de uma pessoa. De acordo com a tabela
a seguir, verifique e mostra qual a classificação dessa pessoa.
Altura Peso
Até 60 Entre 60 e 90 (Inclusive) Acima de 90
Menor que 1,20 A D G
De 1,20 a 1,70 B E H
Maior que 1,70 C F I
32. Escrever um programa que leia o código do produto escolhido do cardápio de uma lan-
chonete e a quantidade. O programa deve calcular o valor a ser pago por aquele lanche.
Considere que a cada execução somente será calculado um pedido. O cardápio da lan-
chonete segue o padrão abaixo:
33. Um produto vai sofrer aumento de acordo com a tabela abaixo. Leia o preço antigo,
calcule e escreva o preço novo, e escreva uma mensagem em função do preço novo (de
acordo com a segunda tabela).
34. Leia a nota e o número de faltas de um aluno, e escreva seu conceito. De acordo com a
tabela abaixo, quando o aluno tem mais de 20 faltas ocorre uma redução de conceito.
4
PREÇO NOVO MENSAGEM
até R$ 80 Barato
entre R$ 80 e R$ 120 (inclusive) Normal
entre R$ 120 e R$ 200 (inclusive) Caro
acima de R$ 200 Muito caro
35. Leia uma data e determine se ela é válida. Ou seja, verifique se o mês está entre 1 e 12,
e se o dia existe naquele mês. Note que Fevereiro tem 29 dias em anos bissextos, e 28
dias em anos não bissextos.
36. Escreva um programa que, dado o valor da venda, imprima a comissão que deverá ser
paga ao vendedor. Para calcular a comissão, considere a tabela abaixo:
5
39. Uma empresa decide dar um aumento aos seus funcionários de acordo com uma tabela
que considera o salário atual e o tempo de serviço de cada funcionário. Os funcionários
com menor salário terão um aumento proporcionalmente maior do que os funcionários
com um salário maior, e conforme o tempo de serviço na empresa, cada funcionário irá
receber um bônus adicional de salário. Faça um programa que leia:
Use as tabelas abaixo para calcular o salário reajustado deste funcionário e imprima o
valor do salário final reajustado, ou uma mensagem caso o funcionário não tenha direito
a nenhum aumento.
41. Faça um algoritmo que calcule o IM C de uma pessoa e mostre sua classificação de
acordo com a tabela abaixo:
IMC Classificação
< 18,5 Abaixo do Peso
18,6 - 24,9 Saudável
25,0 - 29,9 Peso em excesso
30,0 - 34,9 Obesidade Grau I
35,0 - 39,9 Obesidade Grau II(severa)
≥ 40,0 Obesidade Grau III(mórbida)
6
UNIVERSIDADE FEDERAL DE SANTA CATARINA
CENTRO TECNOLÓGICO
Departamento de Informática e de Estatística
1. Escreva um main Java que preenche um array de tamanho 10 com números lidos pelo teclado.
2. Escreva um main Java que solicita 8 inteiros ao usuário e guarda esses valores em um array. Depois o
programa deve descobrir e exibir qual a posição do elemento de maior valor.
3. Escreva um main Java que solicita 5 valores ao usuário, armazena esses valores em um array chamado
vet1 de inteiros. Depois, copia o conteúdo desse array para um segundo array chamado vet1. O
programa deve imprimir os dois arrays na tela.
4. Modifique o exercício 3 de forma que o conteúdo de vet1 seja copiado para vet2 de forma invertida.
Veja o exemplo:
1 5 0 4 9 9 4 0 5 1
Detalhe: o programa deve ser genérico de forma que independente do tamanho do vetor, a inversão será
realizada corretamente.
5. Escrever um main Java que lê 20 números reais e armazena esses valores em um array. O programa
deve calcular a média aritmética dos valores do vetor e imprimir todos os valores menores do que a
média calculada.
6. Crie uma classe denominada OperaComArray, que tenha como atributo um array de inteiros que deve
ser iniciado no construtor da classe – o tamanho do array deve ser recebido como parâmetro e os valores
do array devem ser gerados aleatoriamente dentro do construtor. Crie e teste métodos para:
a. retornar a soma dos elementos do array
b. retornar a média dos valores do array
c. retornar o último elemento do array
d. retornar o maior elemento do array
e. verificar se um número “x” passado como parâmetro existe no array. O método deve retornar
true ou false.
7. Escreva uma classe Profe que tem dois arrays como atributo da classe. O primeiro array armazena
os nomes dos professores. O segundo array armazena o tempo de profissão de cada um dos professores.
Implemente o construtor que preenche os arrays com valores lidos pelo teclado. O construtor recebe o
tamanho dos arrays no seu parâmetro. Escreva também um único método para mostrar os valores dos
arrays. Faça uma classe de teste (main Java) para invocar os métodos implementados.
8. Defina uma classe ArrayExemplo cujo único atributo seja um array de unidimensional de
números inteiros denominado arrayInt. Escreva dois métodos construtores para esta classe. O
primeiro deve receber como parâmetro a dimensão de array e deve gerar seus valores aleatoriamente
(entre 0 e 49). O segundo construtor não deve receber parâmetros, mas deve gerar internamente um
número aleatório (entre 10 e 20 = (int)(Math.random( )*11 +10)) e esta deve ser a dimensão do array e,
em seguida, os valores para este array devem ser lidos de teclado. Esses arrays devem ser impressos
através de um único método, externo aos construtores.
-1-
Universidade Federal de Uberlândia - UFU
Faculdade de Computação - FACOM
Lista de exercı́cios de programação em linguagem C
1 Vetores
1. Faça um programa que possua um vetor denominado A que armazene 6 números intei-
ros. O programa deve executar os seguintes passos:
2. Crie um programa que lê 6 valores inteiros e, em seguida, mostre na tela os valores lidos.
4. Faça um programa que leia um vetor de 8 posições e, em seguida, leia também dois va-
lores X e Y quaisquer correspondentes a duas posições no vetor. Ao final seu programa
deverá escrever a soma dos valores encontrados nas respectivas posições X e Y .
5. Leia um vetor de 10 posições. Contar e escrever quantos valores pares ele possui.
6. Faça um programa que receba do usuário um vetor com 10 posições. Em seguida deverá
ser impresso o maior e o menor elemento do vetor.
8. Crie um programa que lê 6 valores inteiros e, em seguida, mostre na tela os valores lidos
na ordem inversa.
9. Crie um programa que lê 6 valores inteiros pares e, em seguida, mostre na tela os valores
lidos na ordem inversa.
10. Faça um programa para ler a nota da prova de 15 alunos e armazene num vetor, calcule
e imprima a média geral.
11. Faça um programa que preencha um vetor com 10 números reais, calcule e mostre a
quantidade de números negativos e a soma dos números positivos desse vetor.
12. Fazer um programa para ler 5 valores e, em seguida, mostrar todos os valores lidos
juntamente com o maior, o menor e a média dos valores.
13. Fazer um programa para ler 5 valores e, em seguida, mostrar a posição onde se encon-
tram o maior e o menor valor.
1
14. Faça um programa que leia um vetor de 10 posições e verifique se existem valores iguais
e os escreva na tela.
15. Leia um vetor com 20 números inteiros. Escreva os elementos do vetor eliminando ele-
mentos repetidos.
16. Faça um programa que leia um vetor de 5 posições para números reais e, depois, um
código inteiro. Se o código for zero, finalize o programa; se for 1, mostre o vetor na ordem
direta; se for 2, mostre o vetor na ordem inversa. Caso, o código for diferente de 1 e 2
escreva uma mensagem informando que o código é inválido.
17. Leia um vetor de 10 posições e atribua valor 0 para todos os elementos que possuı́rem
valores negativos.
18. Faça um programa que leia um vetor de 10 números. Leia um número x. Conte os
múltiplos de um número inteiro x num vetor e mostre-os na tela.
19. Faça um vetor de tamanho 50 preenchido com o seguinte valor: (i + 5 ∗ i)%(i + 1), sendo
i a posição do elemento no vetor. Em seguida imprima o vetor na tela.
20. Escreva um programa que leia números inteiros no intervalo [0,50] e os armazene em um
vetor com 10 posições. Preencha um segundo vetor apenas com os números ı́mpares
do primeiro vetor. Imprima os dois vetores, 2 elementos por linha.
21. Faça um programa que receba do usuário dois vetores, A e B, com 10 números inteiros
cada. Crie um novo vetor denominado C calculando C = A - B. Mostre na tela os dados
do vetor C.
22. Faça um programa que leia dois vetores de 10 posições e calcule outro vetor contendo,
nas posições pares os valores do primeiro e nas posições impares os valores do se-
gundo.
23. Ler dois conjuntos de números reais, armazenando-os em vetores e calcular o produto
escalar entre eles. Os conjuntos têm 5 elementos cada. Imprimir os dois conjuntos e o
produto escalar, sendo que o produto escalar é dado por: x1 ∗ y1 + x2 ∗ y2 + ... + xn ∗ yn .
24. Faça um programa que leia dez conjuntos de dois valores, o primeiro representando o
número do aluno e o segundo representando a sua altura em metros. Encontre o aluno
mais baixo e o mais alto. Mostre o número do aluno mais baixo e do mais alto, juntamente
com suas alturas.
25. Faça um programa que preencha um vetor de tamanho 100 com os 100 primeiros natu-
rais que não são múltiplos de 7 ou que terminam com 7.
26. Faça um programa que calcule o desvio padrão de um vetor v contendo n = 10 números,
onde m é a media do vetor.
v
u n
u 1 X
Desvio Padr~ao = t (v[i] − m)2
n−1
i=1
2
29. Faça um programa que receba 6 números inteiros e mostre:
30. Faça um programa que leia dois vetores de 10 elementos. Crie um vetor que seja a
intersecção entre os 2 vetores anteriores, ou seja, que contém apenas os números que
estão em ambos os vetores. Não deve conter números repetidos.
31. Faça um programa que leia dois vetores de 10 elementos. Crie um vetor que seja a união
entre os 2 vetores anteriores, ou seja, que contém os números dos dois vetores. Não
deve conter números repetidos.
32. Leia dois vetores de inteiros x e y, cada um com 5 elementos (assuma que o usuário não
informa elementos repetidos). Calcule e mostre os vetores resultantes em cada caso
abaixo:
33. Faça um programa que leia um vetor de 15 posições e o compacte, ou seja, elimine as
posições com valor zero. Para isso, todos os elementos à frente do valor zero, devem ser
movidos uma posição para trás no vetor.
35. Faça um programa que leia dois números a e b (positivos menores que 10000) e:
36. Leia um vetor com 10 números reais, ordene os elementos deste vetor, e no final escreva
os elementos do vetor ordenado.
3
37. Considere um vetor A com 11 elementos onde A1 < A2 < · · · < A6 > A7 > A8 >
· · · > A11, ou seja, está ordenado em ordem crescente até o sexto elemento, e a partir
desse elemento está ordenado em ordem decrescente. Dado o vetor da questão anterior,
proponha um algoritmo para ordenar os elementos.
38. Peça ao usuário para digitar dez valores numéricos e ordene por ordem crescente esses
valores, guardando-os num vetor. Ordene o valor assim que ele for digitado. Mostre ao
final na tela os valores em ordem.
39. Escreva um programa que leia um número inteiro positivo n e em seguida imprima n
linhas do chamado Triangulo de Pascal:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
...
2 Matrizes
1. Leia uma matriz 4 x 4, conte e escreva quantos valores maiores que 10 ela possui.
3. Faça um programa que preenche uma matriz 4 x 4 com o produto do valor da linha e da
coluna de cada elemento. Em seguida, imprima na tela a matriz.
5. Leia uma matriz 5 x 5. Leia também um valor X. O programa deverá fazer uma busca
desse valor na matriz e, ao final, escrever a localização (linha e coluna) ou uma mensa-
gem de “não encontrado”.
6. Leia duas matrizes 4 x 4 e escreva uma terceira com os maiores valores de cada posição
das matrizes lidas.
7. Gerar e imprimir uma matriz de tamanho 10 x 10, onde seus elementos são da forma:
A[i][j] = 2i + 7j − 2 se i < j;
A[i][j] = 3i2 − 1 se i = j;
A[i][j] = 4i3 − 5j 2 + 1 se i > j.
8. Leia uma matriz de 3 x 3 elementos. Calcule a soma dos elementos que estão acima da
diagonal principal.
9. Leia uma matriz de 3 x 3 elementos. Calcule a soma dos elementos que estão abaixo da
diagonal principal.
10. Leia uma matriz de 3 x 3 elementos. Calcule a soma dos elementos que estão na diago-
nal principal.
4
11. Leia uma matriz de 3 x 3 elementos. Calcule a soma dos elementos que estão na diago-
nal secundária.
13. Gere matriz 4 x 4 com valores no intervalo [1, 20]. Escreva um programa que transforme
a matriz gerada numa matriz triangular inferior, ou seja, atribuindo zero a todos os ele-
mentos acima da diagonal principal. Imprima a matriz original e a matriz transformada.
14. Faça um programa para gerar automaticamente números entre 0 e 99 de uma cartela de
bingo. Sabendo que cada cartela deverá conter 5 linhas de 5 números, gere estes dados
de modo a não ter números repetidos dentro das cartelas. O programa deve exibir na
tela a cartela gerada.
15. Leia uma matriz 5 x 10 que se refere respostas de 10 questões de múltipla escolha,
referentes a 5 alunos. Leia também um vetor de 10 posições contendo o gabarito de
respostas que podem ser a, b, c ou d. Seu programa deverá comparar as respostas
de cada candidato com o gabarito e emitir um vetor denominado resultado, contendo a
pontuação correspondente a cada aluno.
16. Faça um programa para corrigir uma prova com 10 questões de múltipla escolha (a, b,
c, d ou e), em uma turma com 3 alunos. Cada questão vale 1 ponto. Leia o gabarito, e
para cada aluno leia sua matricula (número inteiro) e suas respostas. Calcule e escreva:
Para cada aluno, escreva sua matrı́cula, suas respostas, e sua nota. O percentual de
aprovação, assumindo média 7.0.
17. Leia uma matriz 10 x 3 com as notas de 10 alunos em 3 provas. Em seguida, escreva
o número de alunos cuja pior nota foi na prova 1, o número de alunos cuja pior nota foi
na prova 2, e o número de alunos cuja pior nota foi na prova 3. Em caso de empate
das piores notas de um aluno, o critério de desempate é arbitrário, mas o aluno deve ser
contabilizado apenas uma vez.
18. Faça um programa que permita ao usuário entrar com uma matriz de 3 x 3 números
inteiros. Em seguida, gere um array unidimensional pela soma dos números de cada
coluna da matriz e mostrar na tela esse array. Por exemplo, a matriz:
5 -8 10
1 2 15
25 10 7
Vai gerar um vetor, onde cada posição é a soma das colunas da matriz. A primeira
posição será 5 + 1 + 25, e assim por diante:
31 4 3
19. Faça um programa que leia uma matriz de 5 linhas e 4 colunas contendo as seguintes
informações sobre alunos de uma disciplina, sendo todas as informações do tipo inteiro:
5
(a) Leia as três primeiras informações de cada aluno
(b) Calcule a nota final como sendo a soma da média das provas e da média dos
trabalhos
(c) Imprima a matrı́cula do aluno que obteve a maior nota final (assuma que só existe
uma maior nota)
(d) Imprima a média aritmética das notas finais
20. Faça programa que leia uma matriz 3 x 6 com valores reais.
(a) Imprima a soma de todos os elementos das colunas ı́mpares.
(b) Imprima a média aritmética dos elementos da segunda e quarta colunas.
(c) Substitua os valores da sexta coluna pela soma dos valores das colunas 1 e 2.
(d) Imprima a matriz modificada.
21. Faça um programa que leia duas matrizes 2 x 2 com valores reais. Ofereça ao usuário
um menu de opções:
(a) somar as duas matrizes
(b) subtrair a primeira matriz da segunda
(c) adicionar uma constante às duas matrizes
(d) imprimir as matrizes
Nas duas primeiras opções uma terceira matriz 3 x 3 deve ser criada. Na terceira opção
o valor da constante deve ser lido e o resultado da adição da constante deve ser arma-
zenado na própria matriz.
22. Faça um programa que leia duas matrizes A e B de tamanho 3 x 3 e calcule C = A ∗ B.
23. Faça um programa que leia uma matriz A de tamanho 3 x 3 e calcule B = A2 .
24. Na matriz de 20x20 abaixo, quatro números ao longo de uma linha diagonal foram mar-
cadas em negrito. O produto desses números é 26 * 63* 78 * 14 = 1788696.
08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65
52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91
22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80
24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50
32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21
24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72
21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95
78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92
16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57
86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58
19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40
04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66
88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69
04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36
20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16
20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54
01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48
6
Qual é o maior produto de quatro números adjacentes em qualquer direção (cima, baixo,
esquerda, direita, ou na diagonal) na matriz de 20x20?
25. Faça um programa para determinar a próxima jogada em um Jogo da Velha. Assumir que
o tabuleiro é representado por uma matriz de 3 x 3, onde cada posição representa uma
das casas do tabuleiro. A matriz pode conter os seguintes valores -1, 0, 1 representando
respectivamente uma casa contendo uma peça minha (-1), uma casa vazia do tabuleiro
(0), e uma casa contendo uma peça do meu oponente (1).
Exemplo:
-1 1 1
-1 -1 0
0 1 0