Baixe o app para aproveitar ainda mais
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
Compartilhar