Exercicios a serem realizados nas aulas práticas
Slides: fundamentos de programação em linguagem C
Exercícios sobre fundamentos de programação
Utilize a linguagem C para implementar programas para os seguintes problemas:
Estes exercícios foram planejados para treinar questões de fundamentos de programação.
- Escreva um programa que lê um número e indica se este número é divisível por 3. (solução: prog1.c)
- Escreva um programa que imprime os n primeiros termos de uma série aritimética. O usuário deve entrar com o valor de n, a razão e o termo inicial.(solução: prog2.c)
- Escreva um programa que lê um número e verifica se ele é ou não um número primo. (solução: prog3.c)
- Escreva um programa que lê um vetor de 10 inteiros e indica qual o índice do maior valor. (solução: prog4.c)
- Implemente o mesmo programa utilizando alocação dinâmica de memória. (solução: prog4.1.c)
- Escreva um programa que lê uma string e imprime de trás para frente. (solução: prog5.c)
- Implemente o mesmo programa utilizando alocação dinâmica de memória. (solução: prog5.1.c)
- Considere os métodos de criptografia de César e Cifras Polialfabéticas. (solução: prog6.c)
- Escreva um programa que criptografa uma string digitada pelo usuário utlizando o método de César. Neste programa, utilize uma função para realizar a criptografia. Os parâmetros da função devem ser um ponteiro para string a ser criptografada, um ponteiro para o resultado e o fator de rotação.
- Adicione ao programa uma função para criptografar uma string utilizando o método de cifras polialfabéticas. Os parâmetros da função devem ser um ponteiro para string a ser criptografada, um ponteiro para o resultado e um ponteiro para chave de criptografia.
O programa deve rodar em linha de comando, com três argumentos: método de criptografia, string a ser criptografada e fator de rotação/chave de criptografia. O programa deve permitir a criptografia utilizando o método de césar e de cifras polialfabéticas.
- Considere um programa para implementar uma agenda telefônica.
- Parte 1. Utilize alocação estática de memória: (solução: prog7.1.c)
- Crie uma estrutura de dados para representar uma entrada na agenda, contendo nome, telefone e idade da pessoa.
- Desenvolva funções para incluir, excluir e pesquisar nomes. Os dados devem ser representados em um vetor.
- Desenvolva funções para ler e gravar os dados em um arquivo. Exemplos com uso de arquivo utilizados na aula: arq.c arq1.c, arq2.c, arq3.c
- Desenvolva uma interface com o usuário. O usuário pode escolher as opções de: (1) abrir arquivo, (2) incluir entrada, (3) excluir entrada e (4) pesquisar entrada.
- Parte 2. Utilize alocação dinâmica de memória: (solução: prog7.2.c)
- Reimplemente o programa utilizando alocação dinâmica de memória e listas encadeadas.
- Desenvolva uma função para gravar os dados em um arquivo.
- Desenvolva uma função para ler/gravar os dados os dados de um arquivo.
- Desenvolva uma interface com o usuário. O usuário pode escolher as opções de: (1) abrir arquivo, (2) salvar, (3) incluir entrada, (4) excluir entrada e (5) pesquisar entrada.
Soluções