Você está na página 1de 3

Programao Estruturada 2017.

2
Atividade Prtica Supervisionada (APS)_01

Instruo: responda as questes da forma mais organizada possvel

1) Observe a funo abaixo:

1. double cube(int y){


2. return y*y*y;
3. }
Em relao a essa funo responda:
a) qual o seu tipo?
b) qual o seu nome?
c) quantos parmetros possui?
d) se tiver apenas um parmetro, qual o seu tipo? Ou se tiver mais que um parmetro quais so os
seus respectivos tipos? Obs.: Se no tiver parmetros no precisa responder este item.
e) Qual a tarefa que essa funo executa?

2) Considere o problema:
Escrever um programa com a funo TarifaTaxi( ) que simule um taxmetro, ou seja, calcule o
valor da corrida de um passageiro. Para isso, o programa deve solicitar, ainda na funo main( ),
que o usurio digite, via teclado, a distncia percorrida pelo passageiro no txi, em quilmetros. A
funo TarifaTaxi( ) deve receber esse valor, digitado pelo usurio, e retornar o quanto o passageiro
dever pagar. Esse valor a ser pago, deve ser impresso na tela por uma instruo escrita na funo
main( ). Considere que a bandeirada seja de R$5,40 e que a acada quilmetro percorrido seja
acrescido o valor de R$ 2,50 ao valor total a ser pago.

3) Escreva uma funo recursiva chamada potencia( ) que aceite dois argumentos positivos i e j. A
funo deve retornar o resultado de i elevado a j. Por exemplo: potencia(2,3) retorna 8.
Dica: use a propriedade de que i elevado a j igual a i elevado a (j-1) vezes i.

4) Observe o programa abaixo:

#include <stdio.h>
#include <locale.h>
#define TAMANHO 5

void pesquisa(int vetor[], int chave, int tamanho);

int main(void){
setlocale(LC_ALL, "Portuguese");
int a[TAMANHO]={1,2,3,4,5};
int chave;

printf("Esse programa realiza pesquisas em vetores\n");


printf("Entre com o valor a ser pesquisado: ");
scanf("%d",&chave);
pesquisa(a, chave, TAMANHO);
}

void pesquisa(int vetor[], int chave, int tamanho){


int n;

for(n=0;n<TAMANHO;n++){
if(vetor[n]==chave){
printf("Valor encontrado na posio %d",n);
return;
}
}

Prof. Lincoln Faria - lfaria@unicarioca.edu.br


printf("Valor no encontrado");
return;
}
Essa programa possui uma funo. Em relao a essa funo responda:
a) qual o seu tipo?
b) qual o seu nome?
c) quantos parmetros possui?
d) se tiver apenas um parmetro, qual o seu tipo? Ou se tiver mais que um parmetro quais so os
seus respectivos tipos? Obs.: Se no tiver parmetros no precisa responder este item.
e) Qual a tarefa que essa funo executa?

5) Observe o programa abaixo:

1. #include <stdio.h>
2. #include <locale.h>
3.
4. void reajuste20(float *preco, float *reajuste);
5.
6. int main(void){
7. setlocale(LC_ALL, "Portuguese");
8. float val_preco, val_reajuste;
9.
10. printf("Insira o preo atual: ");
11. scanf("%f", &val_preco);
12. reajuste20(&val_preco, &val_reajuste);
13. printf("\nO preo novo %0.2f", val_preco);
14. printf("\nO aumento foi de %.2f", val_reajuste);
15.
16. return 0;
17. }
18.
19. void reajuste20(float *preco, float *reajuste){
20. *reajuste = *preco*0.2;
21. *preco *=1.2;
22. }

Em relao a funo reajuste20() responda:


a) qual o seu tipo?
b) qual o seu nome?
c) quantos parmetros possui?
d) se tiver apenas um parmetro, qual o seu tipo? Ou se tiver mais que um parmetro quais so os
seus respectivos tipos? Obs.: Se no tiver parmetros no precisa responder este item.
e) Descreva o que a funo faz nas linhas 20 e 21.
f) O que passado como argumento para a funo na linha 12?

6) Desenvolva um programa em C seguindo os seguintes passos:


a) Defina uma estrutura com o nome Aluno. Essa estrutura deve ser capaz de armazenar o nome, a
matrcula, o CR (coeficiente de rendimento) e o semestre atual do aluno. Considere para cada
membro da estrutura o tipo adequado.
b) Declare uma varivel de nome aluno_Uncarioca do tipo Aluno.
c) Atribua aos membros da varivel aluno_Uncarioca os dados: nome: Pedro, matrcula: 2017001,
CR: 8,5, semestre: 2.
d) Exiba na tela os dados inseridos na varivel aluno_Uncarioca.

Prof. Lincoln Faria - lfaria@unicarioca.edu.br


7) Desenvolva um programa em C que calcule a mdia aritmtica das notas das avaliaes de um
aluno seguindo os seguintes passos:
b) Solicite ao usurio que informe, via teclado, quantas avaliaes o aluno realizou (ex.: se o aluno
realizou uma prova, um teste e um trabalho ento o usurio deve digitar 3).
c) Aloque um vetor dinamicamente, de nome notas, do tamanho informado pelo usurio, ou seja,
seu tamanho igual ao nmero de avaliaes que o aluno realizou. Neste vetor sero armazenadas
as notas das avaliaes.
d) Solicite ao usurio que entre com as notas, via teclado, armazenando-as no vetor criado
dinamicamente. Para isso, use uma estrutura de repetio com o comando for.
e) Calcule a mdia aritmtica das notas do aluno.
f) Exiba na tela a mdia do aluno.
g) Libere a memria alocada para criar o vetor dinamicamente.

8) Escreva, em linguagem C, um programa que salve, em arquivo, o endereo do usurio. Seu


programa deve conter as seguintes tarefas:
a) Criao e abertura de um arquivo com o nome dados.dat.
b) Um teste para verificar se a abertura do arquivo dados.dat foi bem sucedida.
c) Uma solicitao ao usurio, ou seja, pedir ao usurio que entre, via teclado, com o seu endereo
completo.
d) Gravao do endereo do usurio no arquivo dados.dat.
e) Fechamento do arquivo.

9) Reescreva o programa abaixo substituindo a funo maior( ) por uma macro de nome MAIOR e
que realize a mesma tarefa da funo, ou seja, reescreva o programa usando uma macro ao invs de
uma funo.

Programa usando a funo maior( ):

#include<stdio.h>

int maior(int, int);

int main(void){

int a=3, b=5;

printf("O maior valor entre %d e %d : %d\n\n",a, b, maior(a,b));

return 0;
}

int maior(int a, int b){


if(a>b)
return a;
else
return b;
}

10) Escreva um programa que defina e use a macro VOLUME para determinar o volume
de um cilindro. O volume de um cilindro pode ser obtida pela expresso Volume =
PI*r2*h, onde r o raio da base e h a altura do cilindro. considerando
PI=3,141592, defina a constante simblica PI para ter o valor 3,14159.

Prof. Lincoln Faria - lfaria@unicarioca.edu.br