Buscar

Lista De Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Lógica
1. Proponha um algorítimo em C / C++ que leia um numero natural n e gere outro número natural 
m, a partir de n, eliminando desse os dígitos impares.
Ex.: se n = 24530, então m = 240.
2. Um número é chamado pandigital se ele não possui dígitos repetidos. Proponha um algorítimo 
em C / C++ que leia um numero natural n (0 <= n <= 999) e diga se ele é ou não pandigital.
3. Proponha um algorítimo em C / C++ que leia um numero natural n e apresente todos os divisores 
naturais primos dele.
Ex.: se n = 110, Lista de divisores primos: 2, 5, 11.
4. Proponha um algorítimo em C / C++ que leia dois horários (horas, minutos e segundos) e 
apresente a diferença entre eles em horas, minutos e segundos.
Exemplo: Horário 1: 10 : 20 : 15
Horário 2: 12 : 15 : 10
Diferença: 01 : 54 : 55
5. Proponha um algorítimo que leia dois números inteiros a e b, sem utilizar auxiliares, trocar os 
valores.
6. Proponha um algorítimo que leia dois números inteiros positivos e apresente o máximo divisor 
comum (MDC) deles.
7. Sejam x e y dois números naturais. Dizemos que x é divisor natural próprio de y, se x é divisor de
y e x < y. Sejam Sn, a soma dos divisores naturais próprios de n.
Dizemos que n é:
* Perfeito, n = Sn;
* Abundante, n < Sn;
* Deficiente, n > Sn;
Proponha um algorítimo que leia um numero natural n, apresente a lista de seus divisores naturais 
próprios juntamente com a soma destes (Sn) e sua classificação.
8. Proponha um algorítimo que leia um número inteiro positivo a, que não seja múltiplo de 10, e 
gere um número b invertendo os dígitos do primeiro.
9. Um número é crescente se cada um de seus dígitos, a partir do segundo, é estreitamente maior 
que o dígito imediatamente à sua esquerda.
Exemplo: 12579 é crescente
 12328 não é crescente
 12337 não é crescente
Proponha um algorítimo que leia um numero natural e diga se ele é ou não crescente.
10. Suponha que um caixa possui cédulas de 1, 2, 5, 10 e 50 reais. Proponha um algorítimo em C / 
C++ que leia um numero natural n e informe o menor número de cédulas que pode ser utilizado 
para pagar esse valor.
Ex.: se n = 228, então seriam utilizados 10 cédulas (4 cédulas de 50, 2 cédulas de 10, 1 cédula de 5 
e 3 cédulas de 1).
11. O complemento de nove de um número é obtido pela troca de cada dígito do número original 
pelo valor que falta para 9. Proponha um algorítimo em C / C++ que leia um numero natural n (0 
<= n <= 89999) e gere um inteiro m correspondente ao complemento de 9 de n.
Ex.: se n = 84654, então m = 15345.
12. Proponha um algorítimo em C / C++ que leia um numero natural n e apresente todos os 
divisores naturais próprios dele (divisores menores que ele) e que não são primos.
Ex.: se n = 110. Lista de divisores não primos: 1, 10, 22, 55.
Vetores
1. Proponha um algorítimo em C / C++ que leia um numero natural n e em seguida gere e apresente 
um numero natural m, com os mesmos dígitos de n, mas de forma que cada dígito (do primeiro ao 
penúltimo) não seja maior do que o próximo dígito.
Ex.: n = 313 deve produzir m = 133.
2. Preencher um vetor com n elementos inteiros, gerados aleatoriamente no intervalo de 1 a 10, e 
em seguida inverter a ordem de seus elementos.
3. Preencher um vetor com n elementos inteiros, gerados aleatoriamente no intervalo de 1 a 10, e 
em seguida ordená-lo utilizando o método da bolha (BubbleShort).
4. Preencher um vetor com n elementos inteiros, gerados aleatoriamente no intervalo de 1 a 10, e 
em seguida ordená-lo utilizando o método da seleção (SelectionShort).
5. Preencher um vetor com n elementos inteiros, gerados aleatoriamente no intervalo de 1 a 10, e 
em seguida ordená-lo utilizando o método da inserção (InsertionShort).
6. Preencher um vetor com n elementos inteiros, gerados aleatoriamente no intervalo de 1 a 10, e 
em seguida produzir dois outros vetores – um contendo apenas elementos pares, e outro contendo
apenas elementos impares.
7. Preencher um vetor com n elementos inteiros distintos, gerados aleatoriamente no intervalo de 1 
a 2n, e em seguida produzir dois outros vetores – um contendo apenas elementos pares, e outro 
contendo apenas elementos impares.
8. Em um vetor v, um elemento é majoritário se o numero de ocorrências dele em v é menor que a 
n / 2. Proponha um algorítimo em C / C++ que preencha um vetor com n elementos inteiros, gera-
dos de forma aleatória no intervalo de 1 a 10, e diga se v tem ou não um elemento majoritário. Caso 
tenha, apresente-o.
9. Proponha um algorítimo em C / C++ que preencha um vetor com n elementos inteiros, gerados 
de forma aleatória no intervalo de 1 a 10. Em seguida, apresente os dois maiores elementos arama-
zenados no vetor.
Obs.: Se o maior valor do vetor v é um dado x, e há mais uma ocorrência de x em v, os dois maiores
elementos de v devem ser x e x.
Strings
1. Verificar a validade de um CPF informado.
2. Verificar a validade de um CNPJ informado.
3. Ler um numero inteiro n e apresentar a string do numero binário correspondente.
4. Ler uma cadeia de caractere correspondente a um numero em base binária e apresentar um nume-
ro correspondente a base decimal.
5. Inverter a caixa de uma palavra lida. Ex.: lida: aBcdE apresentar: AbCDe
6. Ler uma cadeia de caracteres e remover os espaços em branco.
7. Ler uma frase e retornar o numero de palavras e espaços em branco existentes nela. Considere 
que a frase pode conter espaços em qualquer lugar e quantidade.
Ex.: frase lida: “ Essa frase muitos espaços ” 
Deve retornar: A frase contem 5 palavras e 20 espaços em branco.
8. Ler duas palavras quaisquer e dizer se elas são ou não anagramas.
Ex.: capa e paca são anagramas, mas reta e ator não são anagramas.
9. Ler um n palavras e escrevê-las em ordem alfabética.
10. Ler duas palavras e verificar se a segunda está contida na primeira.
Ex.: felicidade e cidade, a segunda está contida na primeira.
11. Ler duas palavras e remover todas as ocorrências da segunda na primeira.
Ex.: testetelegramateto e te. Palavra produzida: slegramato.
12. Os nomes dos identificadores devem iniciar por letra ou underline, e os demais caracteres de-
vem ser letras ou números. Ler um nome de identificador e dizer se ele é um nome válido.
13. O numero de agência de determinado banco segue o formato N1 N2 N3 N4 – D, onde N são 
dígitos de 0 a 9, e D é um dígito verificador calculado da seguinte forma:
* Cada dígito Ni deve ser multiplicado por um fator igual a 6 – i;
* Calcula-se a soma S dos produtos anteriores;
* Calcula-se o resto R da divisão de S por 11.
* Se R = 0, o dígito D é 0. Se R = 1, o dígito D é X. Nos demais casos, D = 11 – R.
Proponha um algorítimo em C / C++ que leia um numero de agência do referido banco e diga se o 
numero digitado é ou não válido.
14. Em expressões matemáticas, os parênteses devem estar balanceados (cada parêntese fechando 
deve estar associado a um abrindo). Proponha um algorítimo em C / C++ que leia uma string que 
contenha apenas parênteses e diga se ela está correta quanto ao balanceamento destes.
Ex.: ( ( ) ) ( ) está balanceada, mas ( ) ) ( ( ) e ( ) ) não estão.
15. O Módulo 10 de um numero é calculado da seguinte forma:
* Multiplica-se os algarismos, da direita para esquerda, pela sequência (2, 1, 2, …);
* Calcula-se a soma S dos algarismos de cada produto anterior;
* Calcula-se o resto R da divisão de S por 10. Se R = 0, então D = 0. Caso contrário, D = 10 – R.
Proponha um algorítimo em C / C++ que leia um código numérico de tamanho no máximo 10 no 
formato N1 … Ni – D, 1 <= i <= 8, e D é o dígito verificador calculado no módulo 10 da sequência 
de dígitos N1 … Ni, e diga se o código é ou não valido.
Matrizes
1. Proponha um algorítimo em C / C++ que gere uma matriz de ordem ímpar n >= 3 seguindo o 
exemplo para n = 7:
 0 1 1 9 2 2 0
 8 0 19 2 0 3
 8 8 0 9 0 3 3
 9 9 9 9 9 9 9
 7 7 0 9 0 4 4
 7 0 6 9 5 0 4
 0 6 6 9 5 5 0
2. Proponha um algorítimo em C / C++ que gere uma matriz de ordem n seguindo o exemplo para 
n = 7:
 * * * * * * *
 * *
 * * * * *
 * * * *
 * * * * *
 * *
 * * * * * * *
3. Proponha um algorítimo em C / C++ que gere uma matriz de ordem ímpar n >= 3 seguindo o 
exemplo para n = 5:
 * *
 * * * *
 * * * * *
 * * * *
 * *
4. Proponha um algorítimo em C / C++ que gere uma matriz de ordem ímpar n >= 3 seguindo o 
exemplo para n = 5:
 * * *
 * * * 
 * * * 
 * * * 
 * * *
5. Gerar uma matriz Amxn com números aleatórios de 1 a 10 e, em seguida, gerar uma matriz Bnxm 
que seja a transposta de A.
6. Gerar duas matrizes A e B de ordem n, com números aleatórios de 1 a 9, e gerar uma terceira 
matriz C correspondente ao produto A x B.
7. Gerar uma matriz A de ordem n com números aleatórios de 1 a 10 e, em seguida, inverter as suas 
diagonais (a principal passa a ser secundária, e a secundária passa a ser principal).
8. Gerar uma matriz A de ordem n, com valores inteiros de 1 a n² , da seguinte forma: 
Ex.: n = 3
 1 3 6
 2 5 8
 4 7 9
9. Gerar uma matriz quadrada A de ordem n que deve ser preenchida com valores de 1 a n², 
conforme os exemplos:
n = 3
 1 2 3
 8 9 4
 7 6 5
n = 4
 1 2 3 4
 12 13 14 5
 11 16 15 6
 10 9 8 7
n = 5
 1 2 3 4 5
 16 17 18 19 6
 15 24 25 20 7
 14 23 22 21 8
 13 12 11 10 9
10. Gerar uma matriz de ordem n de acordo com os exemplos:
n = 5
 1 2 3 4 5
 10 9 8 7 6
 11 12 13 14 15
 20 19 18 17 16
 21 22 23 24 25
n = 4
 1 2 3 4
 8 7 6 5
 9 10 11 12
 16 15 14 13
11. Gerar uma matriz quadrada A de ordem n com valores inteiros e aleatórios de 1 a 9. Em 
seguida, leia um número x (de 1 a n), e gere uma matriz B correspondente à A com exceção dos 
elementos da linha e da coluna x.
Ex.: n = 4 e x = 2
A(4x4)
 1 2 3 4
 5 6 7 8
 9 1 2 3
 4 5 6 7
B(3x3)
 1 3 4
 9 2 3
 4 6 7
12. Ler a ordem n de uma matriz quadrada (n deve ser múltiplo de 3) e preencher a matriz da 
seguinte forma:
Ex.:
n = 9 n = 6 n = 3
* * * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * *
 * * * * *
 * * * * * * *
 * * * * * * *
* * * * * *
* * * * * *
* * * * * *
13. Ler a ordem n (ímpar) de uma matriz quadrada e preencher a matriz da seguinte forma:
Ex.: n = 5 n = 7
 * *
 * * * * * *
 * * * * * * * * * *
 * * * * * * * * * *
 * * * * * *
 * * *
 *
14. Gerar uma matriz de ordem n de acordo com os exemplos:
n = 7
 0 1 1 1 1 1 0
 4 0 1 1 1 0 2
 4 4 0 1 0 2 2
 4 4 4 0 2 2 2
 4 4 0 3 0 2 2
 4 0 3 3 3 0 2
 0 3 3 3 3 3 0
n = 6
 0 1 1 1 1 0
 4 0 1 1 0 2
 4 4 0 0 2 2
 4 4 0 0 2 2
 4 0 3 3 0 2
 0 3 3 3 3 0
15. Diz-se que uma matriz é um quadrado mágico quando ela não possui elementos repetidos e as 
somas dos todos os elementos de cada uma de suas linhas, colunas e diagonais (principal e secun-
dária) são iguais. 
Uma das soluções para se gerar um quadrado mágico é preencher a matriz como segue: 
* O primeiro elemento a entrar na matriz deverá ocupar a posição central da primeira linha e terá o 
valor 1. 
* Os próximos elementos (2, 3, 4, 5 ... até n²) deverão ser colocados na linha superior e na coluna 
mais à direita da célula atual. Se a coluna atual já é a ultima, a próxima coluna passa a ser a pri-
meira. Se a linha atual já é a primeira, a próxima linha passa a ser a última. 
* Se a próxima célula da matriz já está preenchida (com valor diferente de zero), a próxima célula a 
ser preenchida deverá ser então a que está imediatamente abaixo da última célula preenchida.
 0 1 0
 0 0 0
 0 0 0
 0 1 0
 0 0 0
 0 0 2
 0 1 0
 3 0 0
 0 0 2
 0 1 0
 3 0 0
 4 0 2
 0 1 0
 3 5 0
 4 0 2
 0 1 6
 3 5 0
 4 0 2
 0 1 6
 3 5 7
 4 0 2
 8 1 6
 3 5 7
 4 0 2
 8 1 6
 3 5 7
 4 9 2
As células marcadas representam o lugar onde os valores deveriam ser armazenados. As vermelhas 
indicam que o lugar que, pela regra, seria o endereço do próximo número, já está ocupado. Nesse 
caso, o número deve ser armazenado na mesma coluna do número anterior, uma linha abaixo. No 
exemplo acima:
* O 4 deveria ser inserido na célula acima e a direita da que está o 3, mas esta já está ocupada pelo 
elemento 1. Logo, ele fica na célula imediatamente abaixo do 3.
* O 7 deveria ser inserido na célula ocupada pelo 4 (ultima linha e primeira coluna). Logo, ele fica 
na célula imediatamente abaixo do 6.
Proponha um programa que leia a ordem (ímpar) de uma matriz e, em seguida, preencha-a de modo 
que se obtenha um quadrado mágico. (Sugestão: como o C não faz a inicialização das variáveis lo-
cais, inicializar a matriz com 0 (Zeros)).

Outros materiais