Buscar

exercicios de funções 1

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 15 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

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 6, do total de 15 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

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 9, do total de 15 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

Estudo da Linguagem
de Programação C
Introdução a Programação / Iniciação a Computação – 2019.2
Profa. Giorgia Mattos
giorgiamattos@gmail.com
mailto:giorgiamattos@gmail.com
Linguagem C
Funções
• O que são funções?
• Conjunto de comandos agrupados em um bloco que recebe um
nome e através deste nome pode ser ativado.
• Porque usar funções?
• Para permitir o reaproveitamento de código já construído (por você ou por
outros programadores);
• Para evitar que um trecho de código seja repetido várias vezes dentro de
um mesmo programa;
• Para permitir a alteração de um trecho de código de uma forma mais
rápida (alterar apenas dentro da função que se deseja);
• Para que os blocos do programa não fiquem grandes demais e, por
consequência, mais difíceis de entender;
• Para facilitar a leitura do programa-fonte de uma forma mais fácil;
• Para separar o programa em partes (blocos) que possam ser logicamente
compreendidos de forma isolada.
Linguagem C
Funções
• Um programa em C pode ser composto de uma ou
mais funções, sendo que a única obrigatória é a
função main ().
• Situação: Mostrar várias vezes, no seu programa, a
mensagem “Pressione a tecla ENTER para continuar...” e
esperar que o usuário tecle ENTER, caso o usuário tecle
algo diferente o programa deve imitir um BEEP.
• Você pode fazer um laço WHILE/DO-WHILE sempre que
isto for necessário.
• Uma alternativa é criar uma função. Com o uso de
funções, este processo de repetição fica simplificado.
Observe o exemplo a seguir:
#include <conio.h>
#include <dos.h>
#include <stdio.h>
void EsperaEnter() { // Definição da função "EsperaEnter"
int tecla;
printf("Pressione ENTER para continuar...\n");
do
{
tecla = getch();
if (tecla !=13) { // Se não for ENTER
sound (700); // Ativa a emissão de um BEEP, na frequência de 700
delay (10); // Mantém a emissão do som por 10 ms
nosound (); // Para de emitir o som 
}
} while(tecla != 13); // 13 é o código ASCII do ENTER
}
int main() {
EsperaEnter(); // Chamada da função definida antes
...........
EsperaEnter(); // Chamada da função definida antes
...........
EsperaEnter(); // Chamada da função definida antes
return 0;
}
Linguagem C
Funções
• Formato geral de uma Função em C
tipoFuncao nomeFuncao (listaParametros)
{
// corpo da função
}
A listaParametros também chamada de Lista de Argumentos, é opcional, e
pode ser usada como variáveis locais à função .
void SOMA(float a, int b)
{
float r;
r = a+b;
printf("A soma de %.2f com %d é %.2f\n,a,b,r); 
}
Linguagem C
Funções
• Elementos de uma função
• Tipo da função: o tipo da função pode ser qualquer um dos
tipos estudados e representa o tipo do dado que é
retornado/devolvido pela função. Caso a função não
retorne/devolva nenhum valor dizemos que ela é do tipo void.
Caso não seja especificado nenhum tipo, por padrão a função
retorna/devolve um inteiro. Mas é importante lembrar que
sempre se deve declarar o tipo da função garantindo assim maior
portabilidade.
• Lista de Parâmetros: é constituída pelos nomes das variáveis
que se deseja passar para a função separados por vírgulas e
acompanhados de seus respectivos tipos. No caso da função não
conter parâmetros a lista de parâmetros será vazia, mas mesmo
assim será necessário utilizar os parênteses.
Linguagem C
Funções
• Elementos de uma função
• Corpo da função: contém as instruções/código em C, privativo
da função, ou seja, nenhuma outra função poderá acessá-lo com
nenhum comando, exceto por meio de uma chamada a função.
Isso quer dizer que o código da função não pode afetar outras
partes do programa, a menos que sejam utilizadas variáveis
Globais. Isto porque as variáveis contidas em uma função são
locais a ela, só existem naquela função. Essas variáveis são criadas
quando entram na função e destruídas ao sair.
Linguagem C
Funções
• O retorno da função
• Muitas vezes é necessário fazer com que uma função
retorne/devolva um valor. Podemos especificar um tipo
de retorno indicando-o antes do nome da função. Mas
para dizer ao C o que vamos retornar precisamos da
palavra reservada return.
• Exemplo: fazer uma função para multiplicar dois números e
retornar o resultado da multiplicação.
#include <stdio.h>
float produto (float x, float y)
{
return (x*y); }
int main ()
{
float saida;
saida = produto (1.5, 0.2);
printf ("A saida e: %f\n",saida); 
return(0); }
return (0); indica que a função main() foi
executada sem qualquer tipo de erros.
Linguagem C
Funções
#include <stdio.h>
int produto (int x, int y)
{
return (x*y);
}
int main ()
{
int saida;
saida = produto (10,7); 
printf ("A saida e: %d\n",saida); 
return 0;
}
Linguagem C
Funções
• Localização das funções dentro do código fonte
• Antes que a função seja usada pela primeira vez é necessário que
ela seja declarada. Isso ocorre porque o compilador C (em sua
grande maioria), por padrão, assume que uma função devolve um
valor inteiro. Portanto se alguma função devolver um tipo diferente
de inteiro o compilador gera um código errado para chamá-la.
• Por isso é importante declarar o tipo que a função retorna no inicio
do programa e isso pode ser feito utilizando os protótipos.
• Através do protótipo usado no inicio do programa é possível que o
compilador verifique se existem erros nos tipos de dados entre os
argumentos usados para chamar uma função e a definição de seus
parâmetros. Além de verificar se a quantidade de argumentos é
igual a quantidade de parâmetros, caso contrário causará erros na
execução do programa. A sintaxe para definir o protótipo de uma
função é dada por:
Linguagem C
Funções
tipo NomeFuncao (tipo param1, tipo param2, ..., tipo 
paramN);
Caso a função não utilize nenhum parâmetro pode-se utilizar
o void. Dessa forma teríamos:
tipo NomeFuncao (void);
Linguagem C
Funções
 Exemplo:
Fazer um programa que calcula o fatorial de um
número fornecido pelo usuário.
//Este programa calcula o Fatorial de um número determinado pelo usuário
int CalculaFatorial (int x); //Protótipo da função
//Função obrigatória em todos os programas
int main () {
int N, Fat; //Essas variáveis são locais, pois só podem ser acessadas dentro da função principal
printf ("Digite o numero que se deseja calcular o fatorial :");
scanf ("%d",&N);
//Chama a função que calcula o Fatorial. O valor retornado pela função é atribuído para a variável Fatorial, que deve ser do mesmo
//tipo de dados que a função retorna. E o argumento N é o parâmetro a ser passado para a função e deve ser do mesmo tipo do 
//argumento x da função.
Fat = CalculaFatorial (N); 
printf ("\n\nFATORIAL = %d\n", Fat); //Imprime o resultado na tela
return 0;
}
//Esta função recebe como parâmetro o valor x que é o número que o usuário digitou, N, e retorna o fatorial deste número que é um
// inteiro, portanto a função retorna um dado do tipo inteiro.
int CalculaFatorial (int x){
int c, F; //Essas variáveis são locais, pois só podem ser acessadas dentro desta função, aqui elas são criadas e após a 
//execução da função elas são destruídas.
F = 1;
for (c=1; c<=x; c++)
F = F*c;
return (F); //Retorna o valor calculado e atribuído para a variável F.
}
Linguagem C
Exercícios
1. Faça um programa contendo uma função que retorne 0 se o número for
par ou 1 se o número for ímpar. Mostre o resultado se o número é par ou
ímpar.
2. Escreva um programa contendo uma função que receba 2 números e
retorne o maior valor. Mostre o resultado.
3. Crie um programa contendo uma função que receba 3 números e retorne
o maior valor, use a função da questão 2.
4. Faça uma função que desenhe linhas de caracteres na tela. A função
receberá como argumentos o tipo de caractere e o número de linhas que
deverá desenhar.
5. Faça um programa contendo uma função que receba 3 inteiros a, b, c,
sendo a maior que 1. A função deverá somar todos os inteiros entre b e c
que sejam divisíveis por a (inclusive b e c) e retornar o resultado para ser
mostrado.
6. Escreva uma função que receba um único valor representando os
segundos. Essa função deverá convertê-lopara horas, minutos e
segundos. Mostrar o resultado da conversão.
Linguagem C
Exercícios
7. Utilizando funções, escreva um programa que calcule as raízes de uma
equação do segundo grau.
8. Faça uma função que receba como argumento os valores dos lados de um
triângulo. A função deverá retornar 0 se o triângulo for equilátero (os 3
lados iguais), 1 se for isósceles (2 lados iguais) ou 2 se for escaleno (os 3
lados diferentes).
9. Faça uma função que recebe, por parâmetro, a altura (alt) e o sexo de
uma pessoa e retorna o seu peso ideal. Para homens, calcular o peso ideal
usando a fórmula peso = 72.7 * alt - 58 e, para mulheres, peso = 62.1 * alt
- 44.7.
10. Escreva uma função que recebe por parâmetro um valor inteiro e positivo
N e retorna o valor de S.
S = 1 + 1/1! + ½! + 1/3! + 1 /N!

Outros materiais