Sei sulla pagina 1di 12

Linguagem de Programação C# –Exercícios básicos

Introdução

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


pessoal!".
private void button1_Click(object sender, EventArgs e)
{
string nome = textBox1.Text;

label1.Text = "Olá " + nome + "!";


}
2) Faça várias alterações ao programa anterior 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
respetivo seno e cosseno. 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 ax 2+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 utilizador 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 exceçã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 fatorial 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 fração.
49) Aproveite o programa anterior para escrever um programa que realize a soma,
subtração, multiplicação e divisão de fraçõ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
projeto). 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.

Números aleatórios

56) Crie um programa que apresente um número inteiro aleatório entre dois
valores inteiros dados pelo utilizador.
57) Crie um programa que apresente um número aleatório double entre dois
números introduzidos pelo utilizador.
58) Crie um programa que determine um número aleatoriamente, tendo o utilizador
de o adivinhar. O programa dará pistas (maior, menor,...).
59) Crie um programa que proponha os 6+1 números do totoloto (sem repetições!).
60) 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á correto ou não.
61) Crie um programa que apresente uma vogal aleatória.
62) 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.

Métodos

63) 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.
64) Crie um método que receba 3 valores double como argumento e retorne o maior
valor absoluto.
65) Crie um método que receba dois valores double como argumentos e retorne o
valor da raiz quadrada da soma dos quadrados.
66) 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.
67) 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.
68) 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.
69) 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.
70) Crie um método que receba um número inteiro como argumento e retorne o
número da série de Fibonacci correspondente.
71) Crie um método que receba um número inteiro e retorne a soma dos seus
algarismos.
72) 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.
73) Crie um método que verifique se um número é primo (deverá retornar um valor
booleano).
74) Crie um método que receba um número inteiro n e retorne o n-ésimo número
primo.
75) 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.
76) 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.
77) 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).
78) Crie e teste um método TestaSoma(int a, int b, int c) (os valores são
introduzidos pelo utilizador) que receba três valores inteiros como argumento
e retorne um valor booleano true se a soma dos valores for um número primo. Ou
seja, se a soma dos três valores for um número primo o método deverá retornar
o valor true.

Vetores

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

Vetores como argumentos de Métodos

103) Crie um método que aceite um valor inteiro e um vetor de inteiros como
argumentos e retorne um valor booleano indicando se o valor existe no vetor.
104) Crie um método que aceite um valor inteiro e um vetor de inteiros como
argumentos e retorne um valor inteiro indicando o número de ocorrências do
valor no vetor.
105) Crie um método que aceite dois vetores de inteiros como argumentos e
retorne 1 se a soma dos valores do primeiro vetor for superior à do segundo, 0
se forem iguais e –1 se for inferior.
106) Crie um método que aceite um vetor de “double” como argumento e divida
todos os valores por 2. Crie um overload para inteiros.
107) Crie um método que receba um vetor de inteiros e um valor inteiro como
argumentos e multiplique todos os elementos do vetor por esse valor.
108) Crie um método que receba um vetor de inteiros como argumento e converta
todos os valores negativos para zero
109) Crie um método SomaPositivos() que aceite como argumento um vetor 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).
110) Crie um método que aceite um vetor de notas dos alunos e retorne a
percentagem de notas negativas. (double).
111) Método Moda(…) que receba uma um vetor de inteiros como argumento e
retorne o valor que surge mais vezes no vetor. Em caso de empate entre dois ou
mais elementos, o método deverá retornar o de menor valor. Sugestão: Utilize
um vetor auxiliar.
112) Método MeioSoma(…) que receba um vetor de inteiros como argumento e
retorne o número de elementos do vetor que são iguais à soma do valor do
elemento anterior com o valor do elemento seguinte. ex. - No vetor [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.
113) Crie dois métodos TodosDiferentes() e TodosIguais() que recebam um vetor
de inteiros como argumento e retornem um valor booleano indicando
respectivamente se os elementos do vetor são todos diferentes ou todos iguais.
Crie overloads para vetores de strings e double.
114) Crie um método InverteVetor(...) que receba um vetor de inteiros - e
inverta a posição dos seus elementos, ou seja o último elemento do vetor
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 vetor. Crie
overloads para vetores de strings e double.
115) Crie um método que receba um vetor 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 vetor
{3,2,4,6,4,5,7,8,2,5,3} há 4 elementos superiores aos números adjacentes
(3,6,8,5).
116) Crie um método que receba dois vetores de inteiros como argumentos e
retorne um booleano indicando se os vetores possuem exatamente os mesmos
valores, podendo estes estar numa ordem diferente. Sugestão: Ordenar. Crie
overloads para vetores de strings e double.
117) Crie um método que receba um vetor bidimensional de inteiros como
argumento e retorne o maior valor.
118) Crie dois métodos em overload que recebam um vetor bidimensional (num caso
de inteiros, no outro de double) e retorne a soma dos elementos do vetor.
119) Crie um método que receba um vetor bidimensional de inteiros como
argumento e retorne o valor booleano true se todas as linhas somarem o mesmo
valor.
120) Crie um método que receba um vetor bidimensional de inteiros como
argumento e retorne o número de linha onde se situa o maior valor do vetor.
121) Crie um método que receba um inteiro e um vetor 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.
122) Crie um método que receba um vetor bidimensional de inteiros como
argumento e retorne o número de valores negativos no vetor.
123) Crie um método que receba um vetor linear de inteiros e um vetor
bidimensional de inteiros como argumentos e retorne o valor booleano true se
todos os elementos do vetor linear existirem no vetor bidimensional.
124) Crie um método que receba um inteiro e um vetor 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!).
125) Crie um método que receba um vetor bidimensional de inteiros e o preencha
com valores aleatórios entre 0 e 9, inclusive.

Ordenação de vetores

126) Escreva um programa que leia 10 valores inteiros para um vetor 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 vetor
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) Crie um programa que leia um conjunto de valores inteiros do utilizador e
o apresente ordenado na saída, ignorando valores repetidos.
130) Crie um método que indique quantos valores diferentes existem num vetor de
inteiros. Sugestão: Ordenar primeiro.
131) 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 vetor de string), o nome das disciplinas
(guardar num vetor 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.
132) Escreva um método que receba um vetor bidimensional de inteiros e um valor
booleano e ordene cada uma das linhas (ascendente se o valor booleano for true
e descendente se false).

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 3 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) 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 vetor 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 vetor 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 vetor 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 vetor 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 vetor de strings e uma string como argumentos
e retorne um valor inteiro correspondendo ao número de ocorrências desta
string no vetor.
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 vetor de strings e dois valores booleanos
como argumentos. O programa deverá ordenar o vetor 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%)

Potrebbero piacerti anche