ISCTE, IGE, PROGRAMAÇÃO I


Ano lectivo de 1997/98 - Exercícios propostos


1.a) Escreva em pseudo-código um algoritmo que leia um número n e desenhe a figura abaixo, sendo n a altura do triângulo e do quadrado. Exemplo para  n = 5:

    * ***** 
   ** **  *
  *** * * * 
 **** *  **
***** *****

1.b) Traduza para linguagem C o algoritmo descrito em 1.a).

2. Escreva em linguagem C um programa que leia um conjunto de caracteres do teclado terminado pelo caractere de mudança de linha '\n' e verifique se o número de caracteres '(' é igual ao número de caracteres ')'. O programa deve escrever Expressão correcta se os números de parênteses abertos e fechados forem iguais e Expressão incorrecta no caso contrário. Exemplos:

C:\>verifica
Escreva um conjunto de caracteres:
(( x + 1 ) * 3) = 5;
Expressão correcta
C:\>verifica
Escreva um conjunto de caracteres:
(( x + 1 ) * 3) = 5;)
Expressão incorrecta

3.a) Escreva em linguagem C uma função int eTriangularInferior(int m[3][3]) que, dada uma matriz de inteiros quadrada com 3x3 elementos, verifique se a matriz é triangular inferior. Diz-se que uma matriz é triangular inferior quando todos os elementos acima da diagonal principal são iguais a zero. A diagonal principal de uma matriz é composta por todos os elementos para os quais o índice de linha é igual ao índice de coluna. A função deve devolver 1 se a matriz for triangular inferior e 0 no caso contrário. A função não deve fazer qualquer operação de leitura do teclado ou escrita no ecrã. Por exemplo, sendo as matrizes A e B:

int A [3][3] = { 1, 0 , 0
                 2, 2 , 0
                 3, 3 , 3 };

int B [3][3] = { 1, 1 , 0
                 2, 0 , 0
                 3, 3 , 3 };

o resultado de eTriangularInferior(A) deve ser 1 e o resultado de eTriangularInferior(B) deve ser 0.

3.b) Escreva um programa em linguagem C que peça ao utilizador para preencher uma matriz de 3 por 3, verifique se esta é triangular inferior e informe o utilizador. Para a verificação tem de ser usada a função definida na alínea anterior. Exemplo:

Insira os 3x3 elementos da matriz:
1 1 0
2 0 0
3 3 3
A matriz introduzida não é triangular inferior.

4.Considere a seguinte definição:

typedef struct {
    float x, y;
} Ponto;

Escreva um programa em linguagem C que crie duas variáveis do tipo Ponto e leia de um ficheiro chamado "pontos.txt" os valores a atribuir a cada um dos campos destas duas variáveis. De seguida o programa deve calcular a distância entre os dois pontos lidos. Assume-se que o ficheiro "pontos.txt" contém pelo menos 4 valores válidos do tipo float no seu início.


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE