Informática, perguntado por kyaHachi, 1 ano atrás

5) Observe o programa abaixo:
1. #include
2. #include
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 preço atual: ");
11. scanf("%f", &val_preco);
12. reajuste20(&val_preco, &val_reajuste);
13. printf("\nO preço 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 relação a função reajuste20() 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) Descreva o que a função faz nas linhas 20 e 21.
f) O que é passado como argumento para a função na linha 12?

Soluções para a tarefa

Respondido por silvaoliveirajv
0

 

 

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 osseus 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?

) !onsidere o problema:

Escrever um pro"rama com a função

"arifa"axi# )

que simule um ta!#metro, ou se$a, calcule ovalor 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, a distância percorrida pelo passa"eiro 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"eirodever 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$aacrescido o valor de *+ /, ao valor total a ser pa"o.

%)

Escreva uma função recursiva c0amada

poten&ia# )

que aceite dois ar"umentos positivos

i

e

j

. (função deve retornar o resultado de

i

elevado a

j.

%or e!emplo:

poten&ia#$%)

retorna 1.

'i&a: use a propriedade de que i elevado a (  igual a i elevado a #(*1) vezes i.+) Observe o programa abaixo:

#include

<stdio.h>

#include

<locale.h>

#define

TAMANHO 5

void

 

pesquisa

(

int

eto!"#$

int

chae$

int

ta%a&ho);

int

 

main

(

void

){

setlocale

('A''$ +o!t,-,ese);

int

a"TAMANHO#{1$2$3$/$5};

int

chae;

printf

(0sse !o-!a%a !ealia es,isas e% eto!es4&);

printf

(0&t!e co% o alo! a se! es,isado );

scanf

(6d$7chae);es,isa(a$ chae$ TAMANHO);}

void

 

pesquisa

(

int

eto!"#$

int

chae$

int

ta%a&ho){

int

&;

for

(&8;&<TAMANHO;&99){

if

(eto!"&#chae){

printf

(:alo! e&co&t!ado &a osio 6d$&);

return ;

}

}

Respondido por academicoiffdavi
1

Olá!

Vamos resolver cada questão passo a passo:

Letra a) Na linha 19 do algoritmo, podemos observar que a função é do tipo void, isso significa que quando ela é chamada para ser executada, não oferece nenhum retorno ao usuário.

Letra b) O nome da função é reajuste20, pois se tratando de nome, consideramos apenas a palavra que vem depois do tipo da função, que no caso é do tipo void.

Letra c) O padrão para declarar uma função na linguagem que esta sendo utilizada na pergunta é:

tipo nome_da_funcao(parâmetro 1,parâmetro 2, ...){

...

}

Como no programa está escrito:

void reajusta20(float *preco, float *reajuste){

...

}

De acordo com as regras de declaração de uma função, podemos concluir que essa em específico tem 2 parâmetros.

Letra d) Os 2 parâmetros contidos na função são ponteiros do tipo float, isso significa que que as variáveis declaradas como parâmetro, não guardam valor do tipo float, na verdade, elas armazenam o endereço de uma variável do tipo float. Ou seja, elas guardam um valor que aponta para uma variável, por isso o nome ponteiro.

Podemos deduzir que é um ponteiro, pois ambas as variáveis contidas nos parâmetros da função são precedidas de um *.

Letra e) Na linha 20, o programa diz que o reajuste será igual ao preço declarado multiplicado por 0,2

Na linha 21, vale lembrar que: a *= b é a mesma coisa que a = a*b, portanto o esta sendo feito uma nova atribuiçã ao preço, que será igual ao valor do preço antigo multiplicado por 1,2.

Letra f) Podemos observar que é passado dois parâmetros, são eles:

&val_preco e &val_reajuste, o operador & é usado para especificar o endereço de uma variável, e não o valor que ela esta armazenando. Ele foi utilizado pois na função reajuste20, é necessário o uso de ponteiros, conforme explicado na letra d.

Perguntas interessantes