Linguagem C
Exercícios de revisão
- Crie um programa que dado um inteiro correspondente a uma classificação
quantitativa de um aluno mostre no ecrã a classificação
qualitativa correspondente. As classificações são: 4
– Excelente, 3 – Bom, 2 – Suficiente, 1 – Médio, 0 – Mau.
- Implemente uma calculadora com quatro operações básicas
(soma, subtracção, divisão, multiplicação).
- Escreva um programa que mostre duma forma formatada, informações
sobre produtos inseridas pelo utilizador:
Número: 1
Preço unitário: 13.5
Data de compra: 1/10/2002
O resultado deverá ser:
Item
Preço unitário Data
da compra
1
13.50
1/10/2002
- Os livros são identificados pelo número ISBN
(International Standard Book Number), por exemplo: 0-393-96945-2.
O primeiro número designa a língua em que o livro foi escrito
(por exemplo, 0 – inglês, 972 – português, …). O segundo número
designa a editora (393 refere-se à W. W. Norton), o terceiro é
um número dado pela editora que identifica o livro e o quarto é
um “check digit” destinado a comprovar a validade do número. Construa
um pequeno programa que dado um ISBN separe os seus diferentes números,
por exemplo:
Insira o ISBN: 0-393-96945-2
Língua: 0
Editora: 393
Código: 96945
“Check digit”: 2
- Crie um programa que dado um número n, mostre os quadrados
de todos os números entre 1 e n. Use um ciclo for.
- Implemente o exercício anterior usando um ciclo while.
- Crie um programa que leia n números para um vector e calcule
a sua média.
- Crie um programa que leia n números para um vector e indique
qual o maior.
- Crie um programa que leia um vector bidimensional de 4x4 posições
em que cada linha representa o número dum aluno e cada coluna a cotação
obtida pelo mesmo numa unidade de avaliação. O programa deverá
calcular a média de cada aluno bem como as suas melhor e pior perguntas
e o número de aprovações.
- Crie um programa que lhe permita multiplicar duas matrizes.
- Escreva um programa que encontra a “menor” e a “maior” palavras
dum determinado conjunto inserido pelo utilizador. Depois do utilizador
ter inserido as palavras, o programa deverá determinar qual a menor
e qual a maior no sentido lexicográfico. O programa deverá
parar de aceitar palavras quando for inserida uma de 4 caracteres. Assuma
que não são inseridas palavras com mais de 20 caracteres.
- Crie um programa que dada uma lista de planetas do nosso sistema
solar, mostre a posição de cada um deles relativamente ao Sol.
A lista de planetas deve ser indicada na linha de comandos.
- Pretende-se um programa para a gestão de clientes de uma
discoteca. A cada cliente é dado, à entrada, um
cartão com um código. De cada vez que o cliente
consome algo o código do consumo é associado ao seu
cartão. Se o cliente exceder os 10 consumos terá que
liquidar a conta e pedir novo cartão. Quando um cliente sai, o
programa deverá calcular o preço a pagar e eliminar o seu
registo. A lotação do espaço é de
200 clientes e nunca passam por lá mais de 600 numa noite.
- Defina as estruturas necessárias para a resolução
do problema.
- Crie uma função para inserir clientes.
- Crie uma função para inserir consumos.
- Crie uma função para indicar o número de
clientes na discoteca.
- Crie uma função para calcular a despesa de um cliente.
- Defina uma estrutura para descrever restaurantes. A estrutura deve
armazenar o nome, endereço, preço médio e o tipo de
comida. Elabore um programa que crie um vector de estruturas e as funções
para:
- Preencher o vector;
- Mostrar todos os restaurantes de um certo tipo de comida;
- Mostre qual o restaurante mais barato de um certo tipo de comida;
- Ordenar por ordem crescente de preço os restaurantes.
- Escreva uma função que receba dois endereços
de memória e troque o valor contido nesses endereços.
- Escreva uma função que receba como parâmetros,
um vector, o número de elementos do vector e dois apontadores para
inteiro (min e max). A função deverá colocar em min
o menor elemento do vector e em max o maior. Teste a sua função
construindo um pequeno programa.
- Crie um programa que leia um dado n e crie um vector com n posições.
De seguida o programa deve ler n números e calcular a sua média.
- Altere o programa anterior para não ser necessária
a indicação à partida do número de elementos
a ler. Deve começar com um vector de 5 posições e sempre
que a memória se esgotar deve reservar mais 5 posições.
- Na criptografia, uma das cifras mais simples é a cifra de
permutação mono alfabética. Nesta cifra, cada vez que
uma letra aparece na mensagem original, é substituída por uma
letra dum alfabeto de substituição. O alfabeto de substituição
é obtido depois de "rodar" o alfabeto original um determinado número
de posições. Por exemplo, podemos "rodar" 20 posições:
Alfabeto original:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Alfabeto de substituição: G H I J K L
M N O P Q R S T U V W X Y Z A B C D E F
O resultado designa-se por texto cifrado. De forma a tornar mais difícil
a decifração do texto cifrado, a pontuação é
retirada e as letras são agrupadas em grupos de 5. Por exemplo, dado
o seguinte texto:
Sistema operativo linux.
O texto cifrado correspondente é:
YOYZK SGUVK XGZOB UROTA D
Crie um programa que dado um ficheiro de texto e um valor a "rodar" sobre
o alfabeto crie um novo ficheiro com o texto cifrado. Todas as informações
devem ser indicadas na linha de comandos.
- Escreva um programa que conte o número de caracteres, palavras
e linhas dum ficheiro de texto.
- Por questões de segurança, a recepção
dum edifício dum banco mantém o registo de todas as pessoas
que entram e saem do mesmo. Sobre cada pessoa são armazenadas as
seguintes informações:
Elabore um programa que permita gerir a informação das entradas
sobre a forma duma lista ligada. Sempre que alguém entra, os seus
dados são adicionados à lista. Sempre que alguém sai
são apagados. Deve ser possível listar as pessoas que se encontram
no edifício. Para aumentar o nível de segurança sempre
que alguém sai do edifício é registado num ficheiro texto
o seu nome, BI, hora de entrada e hora de saída. Este ficheiro de
texto deverá ter como nome a data a que diz respeito.
- Suponha que se pretende eleger um líder dum grupo de
N pessoas. O método de eleição consiste em sentar as
N pessoas numa mesa redonda e eliminar sucessivamente a pessoa sentada na
posição M. Por exemplo, para N=8 e M=5 a ordem de eliminação
será, 5,2,8,7,1,4,6 e o líder eleito será
o 3:
Voltar
Complementos de Programação -
ISEP 2003