Buscar

Aula 08

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Libere sua imaginação. Construa suas funções.
Modularização - Técnica que decompõe um programa em partes menores.
Uma função é um pequeno programa com um objetivo bem definido. Uma função jamais poderá ser criada dentro de outra função.
���� SHAPE \* MERGEFORMAT ���
O protótipo de uma função contém o tipo de retorno da função, o nome da função, seguido de um par de parênteses que podem, ou não, ter parâmetros. É finalizado, obrigatoriamente, com o ; (ponto e vírgula). Ou seja, cabeçalho da função com ; (ponto e vírgula) ao final.
Localização das funções - As funções poderão ser colocadas antes ou depois da main().
Quando uma função é chamada, o fluxo de controle é desviado para essa função e, a partir desse momento, os comandos da função são executados. Ao finalizar, o fluxo retorna ao comando seguinte daquele onde ela foi ativada (se for void) ou, ao ponto de onde ela foi chamada, para funções com retorno. Para que tudo isso seja possível, não poderemos desconsiderar o tipo de retorno e os parâmetros, caso existam.
Tipos de função:
Função sem parâmetros - Não é obrigatório o uso de parâmetros em todas as funções. Sendo assim, nesse primeiro momento, vamos analisar as funções sem parâmetros, pois não necessitam do domínio dos conceitos de passagem por valor ou por referência. Além disso, as funções analisadas não terão retorno.
Função do tipo void - Uma função que não retorna valor algum é chamada tipo void e, esse tipo de função, pode ser considerado, hierarquicamente, “abaixo” da main(), tendo em vista que para ser executada só precisa ser chamada.
��� SHAPE \* MERGEFORMAT �
Exemplo 1:							Exemplo 2:
�	�
Exemplo 3:							Exemplo 4:
�	�
Exemplo 5:
�
��
	Protótipo
	Significado
	float maior2(float  A, float B );
	Função que recebe dois argumentos reais e retorna, para a função chamadora, um valor real.
	int descobreIdade(int anoAtual, int anoNas);
	Função que recebe dois argumentos por passagem de valor. Os dois do tipo inteiro e retorna, para a função chamadora, um valor inteiro.
	float areaRetangulo(float, float);
	Função que recebe dois argumentos reais e retorna, para a função chamadora, um valor real.
Comando Return - Função que retorna valor terá, obrigatoriamente, esse comando no seu corpo. Isso não quer dizer que não poderá ter mais de um comando return no corpo da função. Quando existir múltiplas respostas, poderemos ter vários tipos de retorno.
Variados cabeçalhos para a função main(): void main(void)	void main()	int main(void)	int main()
A main() é uma função chamada pelo sistema operacional e, ao finalizar, retorna, automaticamente, para o SO. Sendo pontual, o return da main() poderia ser dispensável, visto que ele serve para informar que o programa foi executado com sucesso e isso, podemos constatar. Um bom hábito é escrever return 0; ou return EXIT_SUCCESS; (não se esqueça de incluir a biblioteca stdlib.h) em projetos maiores.
Passando uma estrutura homogênea de dados para uma função:
	Protótipo
	Significado
	void dobro(int [], int[], int tam);
	Função que recebe três argumentos. Os dois primeiros são endereços de dois vetores do tipo inteiro. Enquanto que o terceiro, por passagem de valor, recebe um número inteiro que corresponde ao tamanho do vetor. A função não retorna valor.
	double media(double [], int tam);
	Função que recebe dois argumentos. O primeiro é o endereço de um vetor do tipo real de dupla precisão (double). Enquanto que o segundo, por passagem de valor, recebe um número inteiro que corresponde ao tamanho do vetor. A função retorna um valor de dupla precisão.
	int contaAlturas(double [], int tam, double altP);
	Função que recebe três argumentos. O primeiro é o endereço de um vetor do tipo real de dupla precisão (double). O segundo, por passagem de valor, recebe um número inteiro que corresponde ao tamanho do vetor e o terceiro, recebe, por passagem de valor, um número de dupla precisão (double) que corresponde a uma altura específica. A função retorna um valor inteiro.
�
Variáveis declaradas fora do escopo de todas as funções são chamadas de variáveis globais. Esse tipo de variável poderá ser manipulado por qualquer função.
A maioria dos exemplos apresentados até aqui teve as variáveis declaradas dentro das funções. A esse tipo de declaração, onde as variáveis só são visualizadas nas funções onde foram declaradas, chamamos de variáveis locais.
Cite duas vantagens ao se definir funções? R: Dividir o programa em partes menores e (re)usá-las em vários programas.
2) O que contem o Cabeçalho de uma função? R: O tipo de função, o nome da função e a declaração dos parâmetros, quando houver.
3) O que é o protótipo de uma função? R: É o cabeçalho da função com ; ao final.
4) Onde o protótipo da função é colocado? R: Antes de todas as funções.
5) Qual a vantagem do uso de protótipos de funções em nossos programas? R: Não nos preocuparmos com as posições das funções.
6) O que significa um protótipo simplificado? R:Significa que os nomes dos parâmetros não estão presentes. Exemplo: float media(float, float);
7) Qual a diferença em entre variável Global e Local? R: A variável Global é declarada fora de todas as funções e a local dentro de cada função.
	1.
	
	Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano.
Das opções apresentadas, qual função apresenta a solução para o programador?
	Quest.: 1
	
	
	
	strcont( ).
	
	
	strlen( ).
	
	
	strcat( ).
	
	 
	atoi( ).
	
	 
	strlength( ).
	
	2.
	Observe o código apresentado na questão:
#include < stdio.h>
#include < stdlib.h>
int x=4;
void main(){
  int x=5;
  exibir(x); 
  system("PAUSE");      
}
void exibir(int y){
   printf("%d",y);    
}
Dentre as opções abaixo é correto afirmar:
	Quest.: 2
	
	
	
	O programa exibirá 0
	
	
	O programa exibirá 9
	
	 
	Ocorrerá um erro
	
	 
	O programa exibirá 5
	
	
	O programa exibirá 4
	
	3.
	Existem basicamente dois tipos de variáveis que podem ser declaradas em um código: variáveis locais e variáveis globais. Para que um programador possa escolher a melhor maneira de declarar as variáveis em seu programa é necessário que ele tenha domínio sobre elas.
Assinale a alternativa que contém apenas características das variáveis globais.
	Quest.: 3
	
	
	
	Declaradas dentro do escopo de todas as funções e poderá ser manipulado por qualquer função.
	
	 
	Declaradas fora ou dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
	
	
	Declaradas fora do escopo de todas as funções e não poderá ser manipulado por qualquer função.
	
	
	Declaradas dentro do escopo de todas as funções e não poderá ser manipulado por qualquer função.
	
	 
	Declaradas fora do escopo de todas as funções e poderá ser manipulado por qualquer função.
_1459512655.unknown
_1459512657.unknown
_1459512658.unknown
_1459512656.unknown
_1459512651.unknown
_1459512653.unknown
_1459512654.unknown
_1459512652.unknown
_1459512649.unknown
_1459512650.unknown
_1459512647.unknown
_1459512648.unknown
_1459512645.unknown
_1459512646.unknown
_1459512644.unknown

Continue navegando