Universidade Federal de Campina Grande

Centro de Engenharia Elétrica e Informática – CEEI

Departamento de Sistemas e Computação – DSC

Disciplina: Introdução à Programação – TURMA 03 – Tarde

Prof. Roberto M. de Faria

3ª Lista de Exercícios – 29/10/2015 (entregar 24/11/2015)

Exercício 1: Faça um programa em C que leia uma cadeia de até 300 caracteres e crie um array com a quantidade encontrada de cada letra (maúsculas  e minúsculas). O programa, por meio de opções de menu, responderá as seguintes perguntas em relação à cadeia:

1.    Quantas letras?

2.    Quantas vogais?

3.    Quantas consoantes?

4.    Quantas letras do tipo? (em seguida pergunta: Qual é a letra?)

5.    Fim do programa

Dicas: Use uma função para contar cada letra e preencher o array. Use uma função para executar cada opção do menu. Use como índice do array totalizador de quantidade de letras: letra - ‘A’.

Exercício 2: Faça um programa em C para definir e verificar as jogadas de um “Jogo da Velha”. O programa inicialmente mostrará as instruções para as informações das jogadas e o tabuleiro tabuleiro atualizado(no início estará vazio). No início, o programa indicará randomicamente o primeiro jogador a jogar(jogador_O ou jogador_X). A cada rodada o programa mostrará o tabuleiro atualizado, e uma mensagem dizendo o jogador que ganhou ou se houve empate ou qual o próximo jogador a jogar. As jogadas serão informadas por um sistema de numeração das posições do tabuleiro (numeração de 1 a 9(da esquerda para a direta e de cima para baixo) ou por um sistema de numeração matricial de linhas e colunas(numeradas de 1 a 3 respectivamente).

Dicas: Internamente, o tabuleiro será representado por uma matriz inteira 3x3, inicialmente zerada. Para o jogador_O, será colocado 1 na posição correspondente de cada jogada sua e, para o jogador_X, será colocado -1. Quando uma linha, coluna ou diagonal somar 3, o jogador_O será o vencedor. Quando a soma encontrada for -3 o jogador_X será o vencedor. Se o tabuleiro for preenchido totalmente e não for encontrada a soma 3 ou -3, o jogo será empate. Para a númeração posicional: linha = (posição - 1) / 3 e coluna = (posição - 1) % 3. Exemplos de figuras:

Numeração posicional:    Numeração matricial:    Tabuleiro empatado:

   |   |                    1   2   3               |   |

 1 | 2 | 3                    |   |               X | X | O

---+---+---              1    |   |              ---+---+---

 4 | 5 | 6                 ---+---+---            O | O | X

---+---+---              2    |   |              ---+---+---

 7 | 8 | 9                 ---+---+---            X | O | X

   |   |                 3    |   |                 |   |

                              |   |

Exercício 3: Faça um programa em C para fazer a caminhonete da figura abaixo, movimentar-se da esquerda para a direita da tela.

Dica-1: Coloque a caminhonete numa matriz de caracteres da largura da tela, à esquerda, e desloque-a uma posição de cada vez para a direita, apagando seu rastro na esquerda, mostrando a matriz a cada deslocamento.

Figura da cominhonete(pode ser a sua figura):

             ____

    ________|[__\\____.

   |o.._....|-...|._.o)

Ooo=--(_)---------(_)-

 

Dica-2:  Utilizando a biblioteca “windows” (só para o sistema Windows – não funciona com Linux) você pode posicionar o cursor em um determinada posição da tela e imprimir a partir dessa posiçã. Veja o programa cobra.cpp, coletado na Internet e que foi reprogramado utilizando melhores técnicas de modularização e documentação.

Exercício 4: Reescreva o programa do exercício 1 utilizando apontadores onde for possível.

Exercício 5: Reescreva o programa do exercício 2 utilizando apontadores onde for possível.

Exercício 6: Reescreva o programa do exercício 3 utilizando apontadores onde for possível.

SUCESSO!