Você está na página 1de 11

Linguagem de Programação JAVA – (182) Exercícios básicos

Introdução

1) Escreva um programa em JAVA que imprima a seguinte mensagem na saída: "Olá


pessoal!".
2) Faça várias alterações ao programa anterior, compile-o e verifique os
resultados.
3) Escreva um programa que declare uma variável inteira e uma variável
caracter, atribua-lhes os valores 5 e ‘a’, imprimindo-as na saída.
4) Crie um programa para somar dois números inteiros.
5) Escreva um programa que calcule o resto da divisão inteira entre 2 números
introduzidos pelo utilizador.
6) Crie um programa que leia 2 números e apresente o seu produto.
7) Crie um programa que leia 2 variáveis inteiras e troque os seus valores.
8) Escreva um programa para calcular um valor dum polinómio do 2° grau dados
a, b, c e o valor de x.
9) Escreva um programa que calcule o quadrado e o cubo de um valor introduzido
pelo utilizador.
10) Escreva um programa que leia dois valores e apresente o valor que
representa a relação percentual entre esses dois valores.
11) Crie um programa que leia um valor de um ângulo em graus e apresente o
respectivo seno e co-seno. Use a classe Math.
12) Crie um programa que calcule o valor de ab sendo a e b números inteiros
introduzidos pelo utilizador. Use a classe Math.
13) Crie um programa para converter graus ºC em ºF e vice-versa.
14) Crie um programa para calcular conversões métricas (polegadas-metros
milhas-km, etc.)
15) Crie um programa que dados a, b e c resolva a equação ax2+bx+c=0 através
da fórmula resolvente.

Estruturas de Controlo - Selecção

16) Crie um programa para verificar se um número inteiro positivo é múltiplo


de outro. Ambos os números devem ser introduzidos pelo utilizador. Deve
verificar se o maior é divisível pelo menor.
17) Escreva um programa que leia 2 números inteiros do teclado e indique
qual deles é o maior.
18) Altere o programa anterior para ler 3 números e indicar o maior. Se os
números forem todos iguais o programa também o deverá indicar.
19) Crie um programa para verificar se um determinado ano é bissexto.
20) Crie um programa que leia um número inteiro e verifique se o número tem
4 algarismos.
21) Crie um programa que leia um número double e indique qual o maior
inteiro que não excede o número.
22) Crie um programa que leia 3 valores double do utilizador correspondendo
aos 3 lados de um triângulo. O programa deve indicar se esses valores podem
criar um triângulo e, em caso afirmativo, que triângulo se trata (rectângulo,
isósceles, escaleno, equilátero, acutângulo, obtusângulo…). Se se sentir
ambicioso, calcule a área do triângulo. No caso de se sentir muito ambicioso,
calcule o valor dos ângulos do triângulo.

Estruturas de Controlo - Ciclos

23) Escreva um programa para imprimir os números inteiros entre 1 e 10 na


mesma linha, primeiro em ordem crescente e depois em ordem decrescente.
24) Escreva um programa para imprimir todos os números inteiros entre dois
valores introduzidos pelo utilizador. O programa deverá verificar qual dos
dois valores é o maior.
25) Escreva um programa que apresente a tabuada dum número inteiro entre 1 e
9 dado pelo utilizador. Se o número estiver fora dessa gama, o programa deverá
dar uma mensagem.
26) Crie um programa que escreva os números inteiros entre 0 e 100 em
intervalos (incremento) dados pelo utilizador. O intervalo deverá ser um
número entre 1 e 10. (Por exemplo, com intervalos de 4).
27) Escreva um programa que peça ao utilizador um nome e um número inteiro
(entre 1 e 20). Deverá mostrar esse nome um número de vezes igual a esse valor
inteiro.
28) Crie um programa para escrever a série de quadrados entre 1 e um valor
inteiro inferior a 100 introduzido pelo utilizador. (1, 4, 9, 25...)
29) Escreva um programa que leia 10 números inteiros introduzidos pelo
utilizador e indique o máximo, a média, o mínimo e a soma dos valores.
30) Escreva um programa em que o utilizador vai introduzindo as idades dos
alunos de uma determinada turma até ser introduzido o número -1. No fim deverá
indicar o número de alunos e a média de idades. O programa deverá garantir que
apenas são introduzidos números positivos (com a excepção do -1 final).
31) Escreva um programa em que o utilizador vai introduzindo números
positivos até ser introduzido o valor 0 (zero). No fim o programa indicará a
percentagem de números pares introduzidos.
32) Escreva um programa para ler as notas de n alunos (sendo n introduzido
pelo utilizador). As notas deverão estar entre 1 e 5. O programa deverá contar
quantos alunos tiveram cada uma das notas possíveis.
33) Escreva um programa que leia 10 números inteiros e indique se um número
é igual ao anterior. No final deverá indicar quantos números introduzidos são
iguais ao anterior.
34) [utilização de flags] Escreva um programa que leia n números (sendo n
introduzido pelo utilizador) e indique se os números são todos iguais.
35) [utilização de flags (ou não…)] Escreva um programa que leia n números
(sendo n introduzido pelo utilizador) e indique se os números são todos pares,
se são todos ímpares ou se há ambos os tipos.
36) Escreva um programa que apresente todos os números inteiros entre dois
números double introduzidos pelo utilizador.
37) Escreva um programa que calcule o factorial de um número.
38) Escreva um programa que some os algarismos de um número.
39) [utilização de flags] Crie um programa que determine se um número
inteiro é primo.
40) Escreva um programa em que o utilizador vai introduzindo números
inteiros positivos até o número introduzido ser um número primo.
41) Escreva um programa que leia 10 números do utilizador e indique, no fim,
quantos números são primos, quantos são pares e quantos são divisíveis por 3.
42) Escreva um programa em que o utilizador introduza números até introduzir
um número par seguido de um número ímpar.
43) [utilização de flags] Escreva um programa que leia 10 valores do
utilizador e indique no fim se foi introduzido algum número divisível por 7.
44) Escreva um programa em que o utilizador introduz números inteiros até
introduzir um número em que a soma dos algarismos seja superior a 20.
45) Escreva um programa que indique ao utilizador todos os números primos
entre dois números inteiros introduzidos pelo utilizador.
46) Crie um programa para escrever a série de Fibonacci até a um limite
pedido pelo utilizador. (1, 2, 3, 5, 8, 13, 21...)
47) Crie um programa que imprima um número de 4 dígitos invertido (ex. 4536
-> 6354).
48) Escreva um programa que reduza uma fracção.
49) Aproveite o programa anterior para escrever um programa que realize a
soma, subtracção, multiplicação e divisão de fracções e apresente o resultado
na forma reduzida.
50) Escreva um programa que, a partir do preço em euros e do dinheiro
entregue, apresente o troco usando o menor número possível de moedas.
Programas de revisão com a utilização de operadores lógicos

51) Escreva um programa que leia 3 notas de uma aluno (teórica, prática e
projecto). As notas deverão estar no intervalo 0-20. A nota final é dada pela
soma pesada das notas (TEOR=50% PRAT=30% PROJ=20%) O aluno será aprovado se a
soma das 3 notas for superior a 30 ou no caso de a nota prática e teórica
serem ambas iguais ou superiores a 13. O aluno deverá ser submetido a um exame
oral se a nota teórica for 8 ou 9 ou no caso de a média final ser superior a
14. O programa deverá indicar todos os resultados.
52) Crie um programa para determinar se um aluno passou na disciplina de TP
I a partir dos valores das duas frequências (F1, F2) e do trabalho (T). A
fórmula para obter a nota final (NF) é a seguinte:
F = (F1+F2)/2(arredondado às unidades)
NF = F * (20-T) / 20 + T (arredondado às unidades)
Para passar o aluno deverá ter uma nota igual ou superior a 8 em ambas as
frequências e uma nota igual ou superior a 10 na média das duas frequências
(F). O programa deverá verificar se os valores introduzidos para as
frequências estão no intervalo entre 0 e 20. O trabalho deverá ter um valor
entre 0 e 4.
53) Crie um programa que leia 3 notas de um aluno: N1, N2, N3 e indique se o
aluno passou à disciplina. Para passar à disciplina o aluno deverá ter uma
nota igual ou superior a 8 nas 3 notas e a soma de N1 e N2 deverá ser igual ou
superior a 20. As notas deverão estar no intervalo de 0 a 20.
54) Escreva um programa que leia 3 números inteiros do utilizador,
garantindo que todos eles são positivos e diferentes entre si. Se o utilizador
tentar introduzir um valor igual a um valor já introduzido, o programa deverá
repetir o pedido de introdução do valor.
55) Crie um programa o valor de vendas de uma empresa em 4 anos
consecutivos: 2000, 2001, 2002 e 2003. Os valores deverão ser positivos. O
programa deverá indicar em quantos anos neste período o valor de vendas
cresceu em relação ao ano anterior (o valor de saída será entre 0 e 3). Deverá
indicar ainda o crescimento percentual entre o ano 2000 e 2003.

Métodos

56) Crie um método que receba 2 valores inteiros como argumentos e retorne a
sua soma. Se o valor da soma for negativo o método deverá retornar o valor 0.
57) Crie um método que receba 3 valores double como argumento e retorne o
maior valor absoluto.
58) Crie um método que receba dois valores double como argumentos e retorne
o valor da raiz quadrada da soma dos quadrados.
59) Crie um método que receba um número inteiro como argumento e retorne o
maior valor primo inferior a esse argumento. Se o argumento for negativo, o
método deverá retornar o valor zero.
60) Crie um método ContaPrimos()que receba dois valores inteiros como
argumentos e retorne o número de números primos entre estes dois números,
inclusive. P. Ex. ContaPrimos(3,10) deverá retornar o valor 3 (3, 5, 7). O
método deverá ser testado sendo que os dois valores são introduzidos pelo
utilizador.
61) Crie um método que receba 2 notas (F1 e F2) de um aluno e retorne um
booleano indicando se o aluno passou. Para passar, a soma das notas deve ser
igual ou superior a 19 e ambas devem ser superiores a 7.
62) Crie um método que receba dois valores inteiros como argumentos e
retorne um valor booleano indicando se os números são divisíveis.
63) Crie um método que receba um número inteiro como argumento e retorne o
número da série de Fibonacci correspondente.
64) Crie um método que receba um número inteiro e retorne a soma dos seus
algarismos.
65) Crie um método que receba 3 valores inteiros (a, b, c) e retorne um
valor booleano true se a>b>c e false em caso contrário.
66) Crie um método que verifique se um número é primo (deverá retornar um
valor booleano).
67) Crie um método que receba um número inteiro n e retorne o n-ésimo número
primo.
68) Crie um método que receba três inteiros como argumentos (ano, mês, dia)
e verifique se se trata de um data válida. O ano deverá estar entre 1900 e o
presente ano. Deverá retornar um valor booleano.
69) Crie um método void que receba 3 variáveis inteiras como argumento e
altere o valor das variáveis, colocando-as no máximo dos 3 valores.
70) Crie um método void que receba um valor inteiro como argumento e o
altere para o seu simétrico (negativo passa a positivo e vice-versa).

Números inteiros aleatórios

71) Crie um programa que apresente um número inteiro aleatório entre dois
valores inteiros dados pelo utilizador.
72) Crie um programa que apresente um número aleatório double entre dois
números introduzidos pelo utilizador.
73) Crie um programa que determine um número aleatoriamente, tendo o
utilizador de o adivinhar. O programa dará pistas (maior, menor,...).
74) Crie um programa que proponha os 6+1 números do totoloto (sem
repetições!).
75) Desenvolva um programa para ensinar adições a alunos do ensino básico a
partir de 10 problemas de adição aleatórios. O programa deverá indicar, por
exemplo, (3+6=). O aluno deverá colocar o resultado e o programa indicará se
está correcto ou não.
76) Crie um programa que apresente uma vogal aleatória.
77) Crie um programa que simule lançamentos de dois dados e produza uma
estatística. Deverá ter contadores para cada um dos resultados possíveis entre
2 e 12.

Vectores

78) Escreva um programa que preencha um vector de 100 posições com os


primeiros 100 números pares.
79) Escreva um programa que procure e indique o maior valor (e a respectiva
posição) de um vector de 10 posições introduzido pelo utilizador.
80) Escreva um programa em que 20 valores inteiros entre 1 e 10 são
introduzidos pelo utilizador num vector. Depois, o utilizador deverá indicar
um valor e o programa deverá indicar em que posição ou posições este valor
existe no vector. Se o valor não existir no vector o programa deverá dar a
respectiva mensagem.
81) Crie um programa que apresente a soma de todos os valores de um vector
de inteiros de 10 posições. Os valores devem ser introduzidos pelo utilizador.
82) Escreva um programa que determine o 2º maior valor de um vector.
83) Crie um programa que leia um vector de 10 valores inteiros do
utilizador, não permitindo a introdução de valores repetidos.
84) Crie um programa que leia um conjunto de valores inteiros do utilizador
e os coloque num vector. O programa deverá terminar a leitura quando for
introduzido um número que já exista no vector, ou seja, quando for introduzido
um número repetido. No final deverá apresentar o vector.
85) Crie um programa que leia um vector de n inteiros, sendo n um valor
introduzido pelo utilizador, não havendo restrições. O programa deverá
converter todos os valores negativos do vector para 0, imprimir o vector
resultante e indicar quantos valores foram alterados.
86) Crie um programa que leia 10 números double, coloque-os num vector e
calcule a sua média.
87) Escreva um programa que preencha um vector de 20 posições com os
primeiros 20 números primos.
88) Crie um programa que leia um vector de 10 inteiros. Os valores deverão
estar no intervalo [0,100]. O programa não deverá aceitar valores fora deste
intervalo. O programa deverá indicar a soma dos inteiros múltiplos de 5
existentes no vector.
89) Escreva um programa que indique se todos os valores de um vector são
iguais, se são todos diferentes, ou se há valores repetidos no vector. Para
testar utilize um vector cujo tamanho e valores inteiros são introduzidos pelo
utilizador.
90) Crie um programa que leia um vector de inteiros cujo tamanho será
introduzido pelo utilizador, tamanho esse que nunca será inferior a 5 ou
superior a 25.O programa deverá indicar ao utilizador se o vector é
constituído (ou não) por valores pares e ímpares alternados. Exemplo: O vector
[1,2,5,6,3,2] verifica esta condição.
91) Escreva um programa que verifique se todos os elementos de um
determinado vector existem noutro vector.
92) Escreva um programa que inverta a ordem dos elementos de um vector de
inteiros. Compare os resultados com o método Array.Reverse.
93) Crie um programa que conte o número de números primos num vector de
inteiros.
94) Escreva um programa que peça as idades de 32 alunos de uma turma. O
programa deve guardar estes valores num vector e no final indicar a idade
máxima, mínima média e moda da turma.
95) Crie um programa para somar 2 vectores de tamanhos diferentes e colocar
o resultado num 3º vector.
96) Crie um programa para determinar o maior valor entre as posições de dois
vectores e colocar o resultado num 3º vector.
97) Escreva um programa que leia as notas de um determinado número alunos a
um conjunto de disciplinas. O número de alunos e o número de disciplinas são
introduzidos pelo utilizador. Os valores das notas deverão estar entre 0 e 20
e guardados numa matriz. Depois deverá indicar a média de cada aluno, a nota
mais alta, a nota mais baixa, a média de cada disciplina e o número de alunos
com média superior a 9,5.
98) Crie um programa que simule 100 lançamentos de 2 dados, guarde os
resultados em vectores e produza uma estatística.
99) Escreva um programa para determinar o valor mais comum (moda) num vector
de inteiros. Teste com um vector de 100 posições preenchido aleatoriamente com
valores entre 0 e 10.
100) Desenvolva um programa para simular o embaralhar de um baralho de
cartas. Use um vector e embaralhe as cartas fazendo trocas entre os elementos.
Depois dê 4 mãos de 13 cartas.

Vectores como argumentos de Métodos

101) Crie um método que aceite um valor inteiro e um vector de inteiros como
argumentos e retorne um valor booleano indicando se o valor existe no vector.
102) Crie um método que aceite um valor inteiro e um vector de inteiros como
argumentos e retorne um valor inteiro indicando o número de ocorrências do
valor no vector.
103) Crie um método que aceite dois vectores de inteiros como argumentos e
retorne 1 se a soma dos valores do primeiro vector for superior à do segundo,
0 se forem iguais e –1 se for inferior.
104) Crie um método que aceite um vector de “double” como argumento e divida
todos os valores por 2. Crie um overload para inteiros.
105) Crie um método que receba um vector de inteiros e um valor inteiro como
argumentos e multiplique todos os elementos do vector por esse valor.
106) Crie um método que receba um vector de inteiros como argumento e
converta todos os valores negativos para zero
107) Crie um método SomaPositivos() que aceite como argumento um vector de
valores inteiros vec e retorne a soma dos seus elementos positivos. Exemplo:
se vec=[2,3,-4,5,-1] o método retornará o valor 10 (2+3+5).
108) Crie um método que aceite um vector de notas dos alunos e retorne a
percentagem de notas negativas. (double).
109) Método Moda(…) que receba uma um vector de inteiros como argumento e
retorne o valor que surge mais vezes no vector. Em caso de empate entre dois
ou mais elementos, o método deverá retornar o de menor valor. Sugestão:
Utilize um vector auxiliar.
110) Método MeioSoma(…) que receba um vector de inteiros como argumento e
retorne o número de elementos do vector que são iguais à soma do valor do
elemento anterior com o valor do elemento seguinte. ex. - No vector [2 5 3 6 3
4 0 4], há 2 valores nestas condições (5 e 6). Neste caso o método deverá
retornar o valor 2.
111) Crie dois métodos TodosDiferentes() e TodosIguais() que recebam um
vector de inteiros como argumento e retornem um valor booleano indicando
respectivamente se os elementos do vector são todos diferentes ou todos
iguais. Crie overloads para vectores de strings e double.
112) Crie um método InverteVector(...) que receba um vector de inteiros - e
inverta a posição dos seus elementos, ou seja o último elemento do vector
passará a ser o elemento 0 e vice-versa. O método deverá retornar um valor
inteiro indicando o número total de elementos negativos do vector. Crie
overloads para vectores de strings e double.
113) Crie um método que receba dois vectores de inteiros como argumentos e
retorne um booleano indicando se os vectores possuem exactamente os mesmos
valores, podendo estes estar numa ordem diferente. Sugestão: Ordenar. Crie
overloads para vectores de strings e double.
114) Crie um método que receba um vector bidimensional de inteiros como
argumento e retorne o maior valor.
115) Crie dois métodos em overload que recebam um vector bidimensional (num
caso de inteiros, no outro de double) e retorne a soma dos elementos do
vector.
116) Crie um método que receba um vector bidimensional de inteiros como
argumento e retorne o valor booleano true se todas as linhas somarem o mesmo
valor.
117) Crie um método que receba um vector bidimensional de inteiros como
argumento e retorne o número de linha onde se situa o maior valor do vector.
118) Crie um método que receba um inteiro e um vector bidimensional de
inteiros como argumentos e retorne o número da coluna onde se encontra o
valor. Deverá retornar -1 se não encontrar o valor. Crie um overload para
valores double.
119) Crie um método que receba um vector bidimensional de inteiros como
argumento e retorne o número de valores negativos no vector.
120) Crie um método que receba um vector linear de inteiros e um vector
bidimensional de inteiros como argumentos e retorne o valor booleano true se
todos os elementos do vector linear existirem no vector bidimensional.
121) Crie um método que receba um inteiro e um vector bidimensional de
inteiros como argumentos e retorne um valor correspondente ao número de linhas
em que este valor inteiro surge (exemplo: se o valor aparece em 3 linhas o
valor retornado deverá ser 3 mesmo que este surja mais do que uma vez numa
determinada linha!).
122) Crie um método que receba um vector de inteiros como argumento e retorne
o número de valores que sejam iguais ou superiores aos números adjacentes. No
caso do primeiro elemento, este será apenas comparado com o segundo elemento.
O último elemento será comparado com o penúltimo. Exemplo: No vector
{3,2,4,6,4,5,7,8,2,5,3} há 4 elementos superiores aos números adjacentes
(3,6,8,5).
123) Escreva um método que determine se, numa matriz de 4X4 obtida
aleatoriamente com valores inteiros entre 1 e 5, todas as linhas e colunas
somam o mesmo valor.
124) Escreva um programa que apresente na saída todos os números múltiplos de
5 existentes num vector de inteiros. Teste com um vector preenchido
aleatoriamente com valores entre 0 e 100.
125) Crie um método que receba um vector bidimensional de inteiros e o
preencha com valores aleatórios entre 0 e 9, inclusive.
Ordenação de vectores

126) Escreva um programa que leia 10 valores inteiros para um vector e os


apresente ordenado. Use o método Bubble Sort e teste também com o método
Array.Sort().
127) Escreva um programa que apresente todas as trocas na ordenação de um
vector de inteiros (com os valores obtidos aleatoriamente e o tamanho dado
pelo utilizador) usando o “bubble sort”.
128) Crie um programa que leia os nomes e as notas de 10 alunos e apresente
os alunos ordenados de acordo com as notas.
129) Escreva um programa que leia as notas de n alunos a d disciplinas. O
programa deverá pedir o número de alunos, o número de disciplinas, o nome de
cada um dos alunos (guardar num vector de string), o nome das disciplinas
(guardar num vector de string), e a nota a cada uma das disciplinas, que serão
guardadas numa matriz. Depois deverá apresentar os alunos ordenados por média
final.
130) Crie um programa que leia um conjunto de valores inteiros do utilizador
e o apresente ordenado na saída, ignorando valores repetidos.
131) Escreva um método que receba um vector bidimensional de inteiros e um
valor booleano e ordene cada uma das linhas (ascendente se o valor booleano
for true e descendente se false).
132) Crie um método que indique quantos valores diferentes existem num vector
de inteiros. Sugestão: Ordenar primeiro.

strings

133) Crie um programa que leia o nome próprio do utilizador e imprima uma
mensagem personalizada do tipo: "Olá João!"
134) Altere o programa de modo a que se o nome for "Bartolomeu", o programa
imprima "Dá cá o meu!".
135) Altere o programa anterior para que a mensagem surja para todos os nomes
terminados em "eu". Exemplo:> Olá Zebedeu! Dá cá o meu!
136) Crie um programa que “limpe” os espaços iniciais e finais de uma string.
137) Crie um programa que leia 2 strings do utilizador e indique qual das
strings está primeiro na ordem alfabética.
138) Crie um jogo com 10 advinhas do tipo "Qual a cor do cavalo branco do
Napoleão?", cada uma com 3 alternativas, apresentando o resultado final.
139) Crie um programa que inverta uma string.
140) Crie um programa que, numa string substitua todas as letras “v” por “b”
e todas as ocorrências de “ão” por “om”.
141) Crie um programa que remova todas as ocorrências de uma substring dentro
de uma string.
142) Crie um programa que leia um nome de um utilizador e apresente apenas o
primeiro e o último nome.
143) Crie um programa de modo a que uma string seja imprimida do seguinte
modo:
S
St
Str
Stri
Strin
string

144) Altere o programa para produzir o seguinte efeito:


g
ng
ing
ring
tring
string
145) Crie um programa para verificar se uma string é um palíndromo.
146) A Escreva um programa que indique quantas vezes surge cada vogal numa
string.
147) Escreva um programa para determinar quantas vezes uma substring existe
numa string.
148) Crie um programa que leia nomes do utilizador e termine quando for
introduzido um nome repetido (ignorar maiúsculas e minúsculas).
149) Crie um programa que indique qual de três strings introduzidas pelo
utilizador tem um comprimento superior.
150) Crie um programa que leia 10 nomes para um vector de strings e os ordene
alfabeticamente na saída.
151) Crie um método para verificar se uma string é constituída apenas por
algarismos. O método deverá retornar um valor booleano true neste caso.
152) Crie um método que receba uma string como argumento e retorne true se a
string não contiver algarismos.
153) Crie um método que verifique se uma password (passada como string) é
válida. Para isso deverá ter pelo menos 6 caracteres (pelo menos 4 caracteres
alfabéticos e um caracter numérico). Não deverá ter espaços. O método deverá
retornar true se a password for válida e false em caso contrário.
154) Crie um programa que leia uma string e a imprima em maiúsculas, em
minúsculas, em formato de título (as primeiras letras maiúsculas), em formato
de frase (apenas a primeira letra maiúscula) e invertendo as maiúsculas e
minúsculas.
155) Crie métodos que aceitem uma string como argumento e retornem:
a. O número de ocorrências da letra ‘a’.
b. O número de vogais.
c. O valor “true” se a string for um palíndromo.
156) Crie um método que aceite uma string e um caracter como argumentos e
retorne o número de ocorrências desse caracter na string.
157) Crie um método que receba duas strings como argumentos e retorne um
valor booleano de acordo com as seguintes especificações:
a. true se todos os caracteres da primeira string existirem na 2ª
string. O número de ocorrências não é importante.
b. false em caso contrário
158) Crie um método que aceite 2 strings como argumentos e verifique se o
comprimento da primeira string é superior ao da segunda.
159) Crie um método que aceite 2 strings como argumentos e verifique se a
segunda string é o inverso da primeira, ignorando as maiúsculas e minúsculas.
160) Crie um método booleano que receba uma string como argumento e verifique
se a string é constituída por caracteres alfabéticos alternados com caracteres
numéricos. O primeiro caracter deverá ser alfabético. Exemplos – as strings
“a1”, “a2d” e “a3b4c5” são válidas. As strings “2b”, “a23d2” e “3bp4lp1” não
são válidas.
161) Crie um método que receba um vector de strings como argumento e retorne
o número de strings começadas por uma vogal.
162) Crie um método que receba uma string como argumento e retorne um valor
inteiro indicando quantas palavras dentro da string contêm a letra ‘A’
(ignorando maiúsculas e minúsculas e considerando que as palavras estão
separadas por espaços).
163) Crie um método que receba um vector de strings como argumento e retorne
um valor booleano indicando se todas as strings têm o mesmo comprimento.
164) Crie um método que receba uma string como argumento e retorne a mesma
string onde todos os caracteres são minúsculos excepto a primeira letra de
cada palavra. ex.: “joão peDro SoARES”  “João Pedro Soares”. Crie outro
método que inverta as maiúsculas/minúsculas ou seja, as maiúsculas passam a
minúsculas e vice-versa.
165) Crie um método que receba um vector de strings como argumento e retorne
um valor inteiro correspondendo à soma de todos os comprimentos das strings.
166) Crie um método que receba um vector de strings e uma string como
argumentos e retorne um valor inteiro correspondendo ao número de ocorrências
desta string no vector.
167) Crie um método que receba um valor para o dia, mês e ano e retorne uma
string que corresponda ao dia da semana, em português (por exemplo,
“Domingo”). Poderá usar a classe DateTime.
168) Crie um método que receba um vector de strings e dois valores booleanos
como argumentos. O programa deverá ordenar o vector de strings. O primeiro
booleano indicará a ordem (descendente-true ou ascendente-false) e o segundo
booleano indicará se as maiúsculas e minúsculas são ignoradas (ignora se o
valor for true).
169) Crie um método AlteraVogais() que aceite uma string como argumento e
altere aleatoriamente as vogais da string (aeiou) para outra vogal, retornando
esta nova String. Importante: A vogal deverá ser diferente da vogal original.
Teste o programa com strings introduzidas pelo utilizador. Por exemplo, a
string “carro” poderá ser transformada em “corre” ou “cirra”, mas não em
“cerro” ou “carru”. O método não altera a string original!
170) Escreva um método que receba uma String pelo utilizador e retorne o
número de ocorrências de letras duplas. Por exemplo, a string: “Passar a
ferro” deverá indicar o valor 2, pois há dois pares de letras que ocorrem
sucessivamente (“ss” e “rr”). O programa não deverá contar espaços duplos ou
quaisquer outros caracteres não alfabéticos. Teste com a introdução da String
pelo utilizador.
171) Crie um programa que receba uma frase do utilizador e “baralhe”
aleatoriamente as palavras da frase e apresente o resultado. O programa deve
também apresentar a frase com a ordem das palavras invertida.

Interface Gráfico

172) Crie um programa para converter entre graus, radianos e grados usando
RadioButtons.
173) Crie um programa com 4 labels e uma textBox. O primeiro e o terceiro
label terão um número inteiro aleatório entre 1 e 10. O segundo label um
operador aleatório (+,-,*). O quarto label um sinal de igual. O utilizador
deverá fazer a conta aritmética e o programa indicará se a resposta está
correcta. Ex.: 2+3=? Ou 3*7=? (o operador também é aleatório)
174) Crie um programa em que o texto introduzido numa textBox seja copiado
para uma lista ao ser premido um botão. Não deverá aceitar valores repetidos.
175) Este documento deverá ter uma caixa de texto, um label e um botão
(Converter). Ao ser introduzido texto na caixa de texto, este deverá ser
passado para o label ao se premir o botão. Deverá ainda ser apagado da caixa
de texto. Deverá corresponder ás seguintes condições:
a. Se a caixa de texto estiver vazia o label deverá indicar “por favor
introduza um texto”.
b. O tamanho máximo do texto deverá ser de 20 caracteres.
c. O texto deverá ser convertido para maiúsculas.
d. Todas as palavras começadas pela letra “T” e terminadas em “A”
deverão ser eliminadas.
e. No caso de o texto ser apenas “Trofa” (ignorando maiúsculas e
minúsculas) todos os controlos deverão desaparecer, deverá surgir um
novo label com uma mensagem de erro e o fundo do documento deverá
surgir a vermelho.
176) Crie um interface de múltiplos documentos (MDI), incluindo um menu com
três possibilidades, correspondendo aos títulos dos exercícios seguintes:
Documento 1 (Converter)
a. Este documento deverá ter uma caixa de texto, um label e um botão
(OK). Na caixa de texto serão introduzidos números inteiros. O botão
OK confirma a introdução do número.
b. O programa deverá dar uma mensagem se, por engano, o utilizador
introduzir texto ou algo que não seja um número inteiro.
c. Se o utilizador introduzir um número primo a introdução de valores
termina, ficando a caixa de texto inactiva.
d. O programa deverá contar quantos números foram introduzidos e deverá
dar uma indicação (no label ou numa caixa de mensagem) quando um
número for igual ao número anterior.
Documento 2 (Notas)
e. Este programa servirá para determinar se um aluno passou a uma
determinada disciplina. O programa deverá ter duas caixas de texto
para a nota prática e teórica. Deverá ainda ter dois RadioButton
para indicar se realizou ou não trabalho prático. No caso de o
utilizador indicar que o trabalho prático foi realizado deverá ainda
surgir outra caixa de texto para introdução desta nota.
f. Ao ser premido o botão, o programa deverá indicar num label se o
aluno foi aprovado. Para ser aprovado o aluno deverá obedecer às
seguintes condições:
g. Se não realizou o trabalho prático, ambas as notas deverão ser
iguais ou superiores a 10.
h. Se realizou o trabalho prático o aluno será aprovado se NP>9 e NT>9
ou se a soma das três notas for igual ou superior a 30.
i. O programa deverá indicar a nota final do aluno, apenas no caso de
ter sido aprovado. A nota final é igual a:
i. a. Se não realizou trabalho: média das duas notas (prática
e teórica), arredondada às unidades.
ii. b. Se realizou trabalho, a nota será igual à média pesada
das 3 notas (teórica: 40%; prática 40%; trabalho: 20%)
Documento 3 (Jogo)
j. Este documento deverá ter um pequeno jogo. Para isso terá um label e
três RadioButtons. No label deverá surgir uma adição simples (Por
exemplo 4+2=?) onde os operandos serão números aleatórios entre 0 e
9. Nos RadioButtons estarão 3 soluções possíveis entre as quais a
resposta correcta (nenhuma resposta estará seleccionada
inicialmente). A posição da resposta correcta deverá ser aleatória
entre as 3 possíveis. As respostas alternativas também deverão ser
obtidas aleatoriamente entre 0 e 18. O programa deverá indicar se a
solução escolhida é a correcta e passar à pergunta seguinte. Não é
necessário contar as respostas correctas.
177) Este documento deverá ter uma caixa de texto, um caixa de texto não
editável e um botão (Converter). Ao ser introduzido texto na caixa de texto,
este deverá ser passado para a caixa de texto não editável ao se premir o
botão. Deverá ainda ser apagado da caixa de texto original. Deverá
corresponder ás seguintes condições:
a. O botão apenas ficará activo quando a caixa de texto não estiver
vazia. Enquanto a caixa de texto estiver vazia o botão manter-se-á
inactivo.
b. O tamanho máximo do texto deverá ser de 20 caracteres.
c. A inicial de cada palavra deverá ser convertida para maiúsculas.
Todas as outras letras deverão ser minúsculas.
d. Todas as palavras que contenham mais de 3 vogais deverão ser
eliminadas.
e. Se o texto introduzido tiver 2 palavras (e apenas duas palavras)
deverá ser apresentada uma mensagem de erro, ficando todos os
controlos desactivados.
178) Crie um programa com duas caixas de texto (Limite Inferior e Limite
Superior) e um botão (OK). O utilizador deverá colocar valores inteiros nas
caixas de texto e o programa deverá gerar um valor aleatório inteiro entre o
Limite Inferior e o Limite Superior, apresentando-o num label. Cada vez que o
botão é premido um novo valor deverá surgir e as caixas de texto devem ser
limpas.
a. Antes de converter a string, o programa deverá garantir que o
utilizador introduziu um número inteiro. Se o utilizador introduzir
texto, deverá receber uma mensagem de erro.
b. O programa deve verificar que o Limite Superior é maior do que o
limite inferior. Em caso contrário deverá indicar uma mensagem de
erro e não calcular o valor aleatório.
179) Este documento conterá três botões (START e STOP, INVERTE) e um label
com a contagem dos segundos. Ao ser premido o botão START, deverá iniciar-se a
contagem dos segundos que será apresentada no label. Ao ser premido o botão
STOP é parada a contagem dos segundos. Ao ser premido o botão INVERTER é
invertida a contagem dos segundos. O valor máximo é de 59 segundos e mínimo de
0 segundos. Ao serem atingidos estes limites a contagem deverá inverter
automaticamente.
180) Este programa deverá verificar se uma matrícula de um automóvel
português é válida. Para isso deverá ter 3 caixas de texto editáveis e um
botão “Verifica”. As caixas de texto terão no máximo 2 caracteres. Ao ser
premido o botão o programa verificará se a matrícula é válida. Para isso
deverá corresponder a um dos seguintes casos:
a. 2 letras + 2 algarismos 2 algarismos
b. 2 algarismos + 2 letras + 2 algarismos
c. 2 algarismos + 2 algarismos + 2 letras
181) Neste documento ao ser premido um botão será apresentado ao utilizador
uma soma (num label com tamanho de letra 16) em que os operandos são números
entre 1 e 20 (inclusive), por exemplo (5+14=?). Estes valores deverão ser
obtidos aleatoriamente. Deverá existir uma caixa de texto onde o utilizador
dará a resposta. O programa deverá indicar de alguma maneira se o resultado
está ou não exacto e indicar a resposta correcta.
a. Antes de converter para string, o programa deverá garantir que o
utilizador introduziu um número inteiro. Se o utilizador introduzir
texto, deverá receber uma mensagem de erro.
b. O programa indicará a percentagem de respostas correctas.
182) O programa deverá ter duas caixas de texto para a nota prática (NP) e
teórica (NT). Deverá ainda ter dois RadioButton para indicar se realizou ou
não trabalho prático. No caso de o utilizador indicar que o trabalho prático
foi realizado deverá ainda surgir outra caixa de texto para introdução desta
nota. Coloque os controlos de validação indicado para as notas, que não
deverão estar em branco e deverão ter valores numéricos entre 0 e 20.
a. Ao ser premido um botão (e se as condições referidas acima forem
cumpridas), o programa deverá indicar num label se o aluno foi
aprovado. Para ser aprovado o aluno deverá obedecer às seguintes
condições:
b. Se não realizou o trabalho prático, ambas as notas deverão ser
iguais ou superiores a 8 e a sua soma deverá ser superior a 18.
c. Se realizou o trabalho prático o aluno será aprovado se NP>9 e NT>9
ou se a soma das três notas for igual ou superior a 28.
d. O programa deverá indicar a nota final do aluno, apenas no caso de
ter sido aprovado. A nota final é igual a:
i. Se não realizou trabalho: média das duas notas (prática e
teórica), arredondada às unidades.
ii. Se realizou trabalho, a nota será igual à média pesada das 3
notas (teórica: 40%; prática 40%; trabalho: 20%)

Você também pode gostar