Linguagem C

Exercícios de revisão

  1. 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.
  2. Implemente uma calculadora com quatro operações básicas (soma, subtracção, divisão, multiplicação).
  3. 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

  4. 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

  5. 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.
  6. Implemente o exercício anterior usando um ciclo while.
  7. Crie um programa que leia n números para um vector e calcule a sua média.
  8. Crie um programa que leia n números para um vector e indique qual o maior.
  9. 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.
  10. Crie um programa que lhe permita multiplicar duas matrizes.
  11. 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.
  12. 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. 
  13. 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.
    1. Defina as estruturas necessárias para a resolução do problema.
    2. Crie uma função para inserir clientes.
    3. Crie uma função para inserir consumos.
    4. Crie uma função para indicar o número de clientes na discoteca.
    5. Crie uma função para calcular a despesa de um cliente.
  14. 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:
    1. Preencher o vector;
    2. Mostrar todos os restaurantes de um certo tipo de comida;
    3. Mostre qual o restaurante mais barato de um certo tipo de comida;
    4. Ordenar por ordem crescente de preço os restaurantes.
  15.  Escreva uma função que receba dois endereços de memória e troque o valor contido nesses endereços.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. Escreva um programa que conte o número de caracteres, palavras e linhas dum ficheiro de texto. 
  21. 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. 
  22. 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:
    Josephus
Voltar

Complementos de Programação - ISEP 2003
HTML Válido