Académique Documents
Professionnel Documents
Culture Documents
Esta lista de exercícios é indicada para quem está começando a programar em alguma linguagem de
programação. O que importa aqui é a lógica em si, e não a linguagem, porém para resolver os
exercícios você deverá ter conhecimentos de funções, arrays, estruturas condicionais e registros.
Antes de digitar seu código procure responder à mão, usando papel e caneta. Tente personificar o
computador, pois dessa forma você terá uma noção exata do que seu código irá exercer, facilitando
a detecção de possíveis erros.
00 – (Aquecimento) Sem usar nenhuma função auxiliar, faça uma função que receba um número
inteiro e retorne sua raiz quadrada exata. Logo depois faça outra função, baseada na primeira, que
retorne a raiz cúbica.
01 – Faça uma função que receba um vetor de 5 inteiros. Sua função terá que colocar todos os
números do vetor ordenados de forma crescente, ou seja, depois que a função terminar a execução
x[0] possuirá o menor valor e x[4] terá o maior valor.
02 – Faça uma função que receba uma matriz de inteiros com o tamanho 3x5 e um outro inteiro X.
Sua função deverá percorrer a matriz até encontrar um valor igual a X, e, caso encontre, deverá
retornar a soma do valor anterior e posterior à posição em que foi encontrado X. Caso X não esteja
contido na matriz a função deverá retornar 0.
OBS: Se X for encontrado em matriz[0][0], considere o anterior como 0. Caso seja encontrado em
matriz[2][2], considere o posterior como 0.
03 – Usando as funções das questões anteriores, ordene cada linha da matriz usando a função da 1ª
questão e depois chame a função da 2ª questão para retornar a soma do elemento anterior e posterior
ao elemento X.
05 – Faça uma função que receba uma matriz 2x3 e outra matriz 3x2, ambas de inteiros. Sua função
terá que realizar a multiplicação das duas matrizes (tal como ocorre na matemática) e retornar a
matriz resultante de tamanho 2x2.
Anagramas são palavras geradas a partir de um rearranjo das letras da palavra original. Por
exemplo: XELA é um dos possíveis anagramas da palavra ALEX. Para se calcular a quantidade de
anagramas basta fazer o fatorial do número de letras totais dividido pela multiplicação dos fatoriais
das repetições de cada letra.
07 – Faça uma função recursiva que calcule o enésimo número da sequencia Fibonacci. Para
calcular o enésimo número basta fazer a soma dos dois números anteriores.
Por exemplo: Qual o quinto número da sequencia Fibonacci?
O quinto número é a soma do terceiro número com o quarto número da sequência.
A sequencia tem como primeiro e segundo números o número 1, ou seja, os 10 primeiros números
da sequência são: 1 1 2 3 5 8 13 21 34 55...
Após fazer a função, coloque os 25 primeiros números em uma pilha. Faça uma adaptação na
função da questão 4 para isso.
08 – Crie um registro com os seguintes dados: Matriz de 5x5 inteiros, Vetor de 5 inteiros, String de
5 caracteres. Faça uma função que receba esse registro e que peça ao usuário digitar valores para
preencher somente a matriz. Faça outra função que receba o registro, e que pegue os maiores
valores de cada linha e atribua em cada posição do vetor. Faça outra função que receba o mesmo
registro e que pegue os menores valores de cada linha e atribua em cada caractere da string.
Logo depois faça outra função que exiba na tela os dados do registro de forma organizada na tela.
09 – Faça uma função main que use todas as funções criadas anteriormente. :)
DESAFIO
Você foi contratado para fazer um sistema de uma loja de carros usados. O gerente lhe mandou
fazer um sistema que controlasse a entrada e saída de carros da loja. Cada carro terá que ter suas
características salvas para consulta posterior. Além de gerenciar entrada e saída de carros da loja,
você também terá de fazer um pequeno “caixa” para mostrar os ganhos e as perdas para cada
transação realizada.
Lembre que seu gerente é louco e pode comprar infinitos carros para deixa-los a venda, então seria
prudente não haver limites na quantidade de dados que seu programa armazena. E claro, os carros
não esgotam no final do dia, então você precisa criar uma pequena base de dados para que quando a
loja abrir no próximo dia não ser preciso recadastrar todos os carros da loja...
Para resolver este desafio você terá que estudar por conta própria os seguintes assuntos:
• Ponteiros
• Alocação Dinâmica
• Entrada e Saída de dados em Arquivo
Boa Sorte :)