Programação Estruturada – 2017.2 Atividade Prática Supervisionada (APS)01 !A"A#$%& – 'uestes 1* 2* + e , Instrução: responda as questões da forma mais organizada possível 1) Observe a função abaixo: 1. double cube(int y){ 2. return y*y*y; 3. }
Em relação a essa função responda: a) qual é o seu tipo? b) qual é o seu nome? c) quantos parâmetros possui? d) se tiver apenas um parâmetro, qual é o seu tipo? Ou se tiver mais que um parâmetro quais são os seus respectivos tipos? Obs.: Se não tiver parâmetros não precisa responder este item. e) ual é a tarefa que essa função e!ecuta? a) double b) ube ) um d) int e) !alula o ubo de um valor inteiro. ") !onsidere o problema: Escrever Escrever um pro"rama pro"rama com a função função #arifa#axi$ ) que simule um ta!#metro, ou se$a, calcule o valor da corrida de um passa"eiro. %ara isso, o pro"rama deve solicitar, ainda na função main$ )% que o usu&rio di"ite, via teclado, teclado, a distância percorrida percorrida pelo passa"eiro no no t&!i, em quil'metros. ( função #arifa#axi$ ) deve receber esse valor, di"itado pelo usu&rio, e retornar o quanto o passa"eiro dever pa"ar. Esse valor a ser pa"o, deve ser impresso na tela por uma instrução escrita na função main$ ). onsidere que a bandeirada se$a de *+,- e que a acada quil'metro percorrido se$a acrescido o valor de *+ /, ao valor total a ser pa"o.
&ossível solução: #include #include float TarifaTaxi(float); int main(void){ "Pot!!ese"); ); setlocale(LC_ALL, "Pot!!ese" float dista#cia, $eco;
tai#" ); printf ("%ste $oa&a calc!la o 'alo $ao $o !&a coida de tai#"); " ); printf ("#iite a dist+#cia $ecoida e& &- "); "/",0dista#cia); ,0dista#cia); scanf("/" $ecoai/aai(dista#cia); 67.2/#",$eco); ,$eco); printf (" $e4o a $aa 5- 67.2/#" return 8; } float TarifaTaxi(float dist){ return 2.9*dist : 9.; }
Pro-. inco/n aria aria /-ariaunicarioca.edu. /-ariaunicarioca.edu.3r 3r
') Escreva uma função recursiva c0amada potenia$ ) que aceite dois ar"umentos positivos i e j. ( função deve retornar o resultado de i elevado a j. %or e!emplo: potenia$"%') retorna 1. (ia: use a propriedade de que i elevado a * igual a i elevado a $+1) vezes i.
&ossível solução: #include #include int potencia(int, int); int main(void){ setlocale(LC_ALL, "Pot!!ese"); int i, , es!ltado; printf ("%sse $oa&a calc!la o es!ltado de i ele'ado a , a&=os i#teios#"); printf ("%#te co& o 'alo i- "); scanf("d",0i); printf ("%#te co& o 'alo - "); scanf("d",0);
es!ltado$ote#cia(i,);
printf ("# es!ltado de d ele'ado a d 5- d",i,,es!ltado); return 8; } int potencia(int i, int ){ if (1){ return i; } else return i*$ote#cia(i,1); ?*cha&ada ec!si'a*? }
Pro-. inco/n aria /-ariaunicarioca.edu.3r
,) Observe o programa abaixo: #include #include #define A@AB 9 void pesquisa(int 'etoD, int cha'e, int ta&a#ho); int main(void){ setlocale(LC_ALL, "Pot!!ese"); int aA@ABD{1,2,3,,9}; int cha'e; printf ("%sse $oa&a ealiEa $esF!isas e& 'etoes#"); printf ("%#te co& o 'alo a se $esF!isado- "); scanf("d",0cha'e); $esF!isa(a, cha'e, A@AB);
} void pesquisa(int 'etoD, int cha'e, int ta&a#ho){ int #; for(#8;#<A@AB;#::){ if('eto#Dcha'e){ printf ("Galo e#co#tado #a $osi4Ho d",#); return ; } } printf ("Galo #Ho e#co#tado"); return ;
}
Essa pro"rama possui uma função. Em relação a essa função responda: a) qual é o seu tipo? void b) qual é o seu nome? pesquisa c) quantos parâmetros possui? ' $tr-s). d) se tiver apenas um parâmetro, qual é o seu tipo? Ou se tiver mais que um parâmetro quais são os seus respectivos tipos? Obs.: Se não tiver parâmetros não precisa responder este item. int e) ual é a tarefa que essa função e!ecuta? &esquisa no vetor por um valor informado pelo usurio e informa sua posição se enontr+lo% aso ontrrio informa que o valor não foi enontrado no vetor.
Pro-. inco/n aria /-ariaunicarioca.edu.3r