Resolução de Exercícios de Laboratório (Aula 4) – Algoritmos e Estruturas de Dados

Sugestão de Resolução de Exercícios de Laboratório – Introdução ao Algoritmos e Estruturas de Dados (IAED), Instituto Superior Técnico

1. (Tabelas bidimensionais) Um treinador de atletismo treina 5 atletas e faz 7 sessões de treino por semana. Em cada sessão, cada atleta percorre uma distância que é cronometrada. Os valores dos tempos, em segundos, são registados sob a forma de uma matriz, onde cada linha identifica um atleta e cada coluna uma sessão de treino. Escreva um programa para:

a) calcular e escrever a média dos tempos realizados em cada sessão de treinos;

Brevemente

 

b) determinar e escrever o melhor tempo realizado por cada um dos atletas nas 7 sessões.

Brevemente

 

Neste exercicio, implemente as seguintes funções:

Para ler os tempos: void leMatriz (float tempos[][], int atletas, int sessoes);
Para calcular e escrever a média dos tempos em cada sessão de treinos: void escreveMediaColunas(float tempos[][], int atletas, int sessoes);
Para calcular e escrever o melhor tempo realizado por cada um dos atletas: void escreveMinimoLinhas(float tempos[][], int atletas, int sessoes);

 

2. (Leitura Formatada) Números complexos são identificados pela sua parte real e imaginária. Faça um programa que lê dois números complexos (um de cada vez) no formato x+yi (ex: 5+3i).

#include <stdio.h>
#include <stdlib.h>

typedef struct Complexo {
int real, img;
} complexo;
complexo leComplexo(){
complexo c;
scanf("%d+%di", &(c.real), &(c.img));
return c;
}

void imprimeComplexo(complexo c){
printf("%d+%din", c.real, c.img);
}

int main(){
complexo c1;
c1 = leComplexo();
imprimeComplexo(c1);
return 0;
}

 

3. (Estruturas) Implemente uma função complexo soma(complexo a, complexo b) que recebe dois números complexos como argumento e devolva a soma dos dois.

#include <stdio.h>
#include <stdlib.h>

typedef struct Complexo {
int real, img;
} complexo;
complexo leComplexo(){
complexo c;
scanf("%d+%di", &(c.real), &(c.img));
return c;
}

void imprimeComplexo(complexo c){
printf("%d+%din", c.real, c.img);
}

complexo soma(complexo a, complexo b){
complexo res;
res.real = a.real + b.real;
res.img = a.img + b.img;
return res;
}

int main(){
complexo c1, c2;
c1 = leComplexo();
c2 = leComplexo();
imprimeComplexo(soma(c1,c2));
return 0;
}

 

4. (Estruturas) Considere que um depósito bancário é definido pelo valor depositado e pela taxa anual nominal (TAN). Defina um novo tipo de dados por forma a representar os depósitos. Implemente a função leDeposito que devolve um novo depósito onde o valor e a TAN são introduzidos pelo utilizador. Implemente a função mostraDeposito que mostra um depósito ao utilizador.

Brevemente

 

5. (Estruturas) Escreva um programa que lê um depósito do utilizador e que calcula o valor bruto e liquido dos juros do depósito após um ano. Considere que o valor bruto dos juros é o produto do valor depositado pela TAN, e que o valor liquido dos juros é o valor bruto menos 21 % de imposto.

Brevemente

 

6. (Vector de Estruturas) Escreva um programa que lê um conjunto de N depósitos do utilizador para um vector de depósitos. Considere que o valor N é uma constante do seu programa. Mostre ao utilizador qual o valor médio da TAN do conjunto de depósitos.

Brevemente

 

7. (Vector de Estruturas) Escreva um programa que lê um conjunto de N depósitos do utilizador para um vector de depósitos. Mostre ao utilizador o saldo que resulta da soma dos valores depositados e respectivos juros liquidos após um ano.

Brevemente

 

You may also like...

1 Response

  1. ดูแลผู้ป่วย diz:

    Awesome post.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *