Anda di halaman 1dari 3

Programao Estruturada 2017.

2
Atividade Prtica Supervisionada (APS)_01
GABARITO Questes: 1, 2, 3 e 4

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?
a) double
b) cube
c) um
d) int
e) Calcula o cubo de um valor inteiro.

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.

Possvel soluo:
#include<stdio.h>
#include<locale.h>

float TarifaTaxi(float);

int main(void){
setlocale(LC_ALL, "Portuguese");
float distancia, preco;

printf("Este programa calcula o valor pago por uma corrida de taxi\n");


printf("\nDigite a distncia percorrida em Km: ");
scanf("%f",&distancia);
preco=TarifaTaxi(distancia);
printf("O preo a pagar : R$%.2f\n",preco);
return 0;
}

float TarifaTaxi(float dist){


return 2.5*dist + 5.4;
}

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


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.

Possvel soluo:
#include <stdio.h>
#include <locale.h>

int potencia(int, int);

int main(void){
setlocale(LC_ALL, "Portuguese");
int i, j, resultado;

printf("Esse programa calcula o resultado de i elevado a j, ambos


inteiros\n");
printf("Entre com o valor i: ");
scanf("%d",&i);
printf("Entre com o valor j: ");
scanf("%d",&j);

resultado=potencia(i,j);

printf("\nO resultado de %d elevado a %d : %d",i,j,resultado);

return 0;
}
int potencia(int i, int j){
if (j==1){
return i;
}
else
return i*potencia(i,j-1); /*chamada recursiva*/
}

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


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;
}
}
printf("Valor no encontrado");
return;
}
Essa programa possui uma funo. Em relao a essa funo responda:
a) qual o seu tipo?
void
b) qual o seu nome?
pesquisa
c) quantos parmetros possui?
3 (trs).
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.
int
e) Qual a tarefa que essa funo executa?
Pesquisa no vetor por um valor informado pelo usurio e informa sua posio se encontr-lo,
caso contrrio informa que o valor no foi encontrado no vetor.

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

Anda mungkin juga menyukai