SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
1
Linguagem de Programação
21/10/2013
Sub­Algoritmos (Funções) em C
mauricioow@gmail.com
2
O que são “Funções”? (ou subprogramas ou
subrotinas)
­São trechos de código fonte agrupados sob um nome,
que podem ser chamados sempre que for necessário
executar uma determinada ação programada neste
trecho;
Como usar funções?
­ Atribui­se um nome à uma seqüência de comandos, e
faz­se referência a este nome nos vários lugares do
programa onde a seqüência em questão deveria ser
repetida.
3
• Por que usar funções?
• Evita escrita repetida de código (uma certa seqüência de comandos
deve ser repetida em vários lugares de um programa).
• Economiza o tempo gasto com o trabalho de copiar estas seqüências;
• Evitar a necessidade de mudar em múltiplos lugares caso deseje alterar
o seu funcionamento;
• Dividir grandes tarefas de computação em tarefas menores:
• Facilita o gerenciamento de grandes sistemas e
• Aumenta a confiabilidade dos mesmos.
• Resumo: Principais motivações para uso das
funções!
• Evitar repetição de código
• Modularização (divide em pequenos subprogramas ou
subalgoritmos).
4
• Funções em “C"
Em “C”, todo programa é composto por funções;
Já utilizamos muitas funções, mesmo sem saber que eram funções
(printf, scanf, sqrt, e até a famosa função “main”…)
5
Formato de declaração de funções :
tipo_de_retorno nome_da_função (tipo1 param1, tipo2 param2,..., tipoN paramN)
{
/* corpo da função */
return valor_de_retorno;
} /* fim da função */
­ tipo_de_retorno especifica o tipo do valor que será retornado para
quem chamou a função (int, float, double, char, void).
­ Se o tipo_de_retorno for void significa que se trata de uma função
que se comporta como uma subrotina; ou seja, a função não necessita
retornar nenhum valor (exemplo: printf)
6
Definição
Conjunto de comandos agrupados em um bloco que recebe um nome e
através deste pode ser ativado.
Por que 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 que 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. Com o uso de uma função é preciso alterar apenas dentro da
função que se deseja;
­ Para que os blocos do programa não fiquem grandes demais e, por
conseqüê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.
7
8
Parâmetros
A fim de tornar mais amplo o uso de uma função, a linguagem C
permite o uso de parâmetros.
Estes parâmetros possibilitam que se definida sobre quais dados a
função deve operar.
Para definir os parâmetros de uma função o programador deve
explicitá­los como se estivesse declarando uma variável,entre os
parênteses do cabeçalho da função. Caso precise declarar mais de
um parâmetro, basta separá­los por vírgulas.
No exemplo a seguir temos a função SOMA que possui dois
parâmetros, sendo o primeiro um float e o segundo um int.
Os parâmetros da função na sua declaração são chamados
parâmetros formais. Na chamada da função os parâmetros são
chamados parâmetros atuais.
9
10
Os parâmetros são passados para uma função de acordo com
a sua posição.
Ou seja, o primeiro parâmetro atual﴾da chamada﴿ define o valor o
primeiro parâmetro formal ﴾na definição da função, o segundo
parâmetro atual define o valor do segundo parâmetro formal e assim
por diante.
Os nomes dos parâmetros na chamada não tem relação com os
nomes dos parâmetros na definição da função.
No código a seguir, por exemplo, a função SOMA é chamada
recebendo como parâmetros as variáveis "b" e "a",nesta ordem.
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>
main()
{
int num, cont;
printf("Funcao que dobra 3 numerosnn");
for(cont=1;cont<=3;cont++){
printf("nnDigite um numero inteiro: ");
scanf("%d",&num);
printf("nO dobro do numero vale: %d",dobro(num));
}
getch();
}
int dobro(int x)//x é variável local
{
return (2*x);
}
17
18
19
20
#include <stdio.h>
int posneg(int num){
if(num >= 0)
return 1;
else
return 0;
}
main()
{
int n;
printf("POSITIVO OU NEGATIVO nn");
printf("Digite um no. inteiro: ");
scanf("%i",&n);
printf("nn%d ",posneg(n));
printf("n1­ Positivo | 0 ­ Negativo");
getch();
}
21
#include <stdio.h>
#define pi 3.14
float conv_a_rad(float graus){
return (graus * pi)/180;
}
main()
{
float g;
printf("CONVERSAO DE GRAUS A RADIANOSnn");
printf("Digite um angulo, em graus: ");
scanf("%f",&g);
printf("nn%.1f graus = %.3f rad",g,conv_a_rad(g));
getch();
}

Mais conteúdo relacionado

Semelhante a Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf

T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)Carlos Santos
 
Desenvolvimento de função se37
Desenvolvimento de função se37Desenvolvimento de função se37
Desenvolvimento de função se37Luciana Bonganha
 
Algoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docxAlgoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docxLdiaSilva39
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlex Camargo
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlex Camargo
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducaommind
 
Funções em C - Prof. Yandre
Funções em C - Prof. YandreFunções em C - Prof. Yandre
Funções em C - Prof. Yandremarcosnem
 
aula intro de Python sobre Funcoes.pdf
aula intro de  Python sobre  Funcoes.pdfaula intro de  Python sobre  Funcoes.pdf
aula intro de Python sobre Funcoes.pdfGabrielEduardo16342
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturadadiogoa21
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Strutseduan
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimosCleide Soares
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430Texas Instruments
 
Funções PHP - Criação de sites II
Funções PHP - Criação de sites II Funções PHP - Criação de sites II
Funções PHP - Criação de sites II info_cimol
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - SubalgoritmosCarlos Santos
 

Semelhante a Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf (20)

Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 
T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)
 
Desenvolvimento de função se37
Desenvolvimento de função se37Desenvolvimento de função se37
Desenvolvimento de função se37
 
Aula 4 | Funções
Aula 4 | Funções Aula 4 | Funções
Aula 4 | Funções
 
Algoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docxAlgoritmo e Complexidade - texto Aula1.docx
Algoritmo e Complexidade - texto Aula1.docx
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
 
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetrosAlgoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros
 
Sap – stablility and abstract principle
Sap – stablility and abstract principleSap – stablility and abstract principle
Sap – stablility and abstract principle
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Shell script
Shell script Shell script
Shell script
 
Funções em C - Prof. Yandre
Funções em C - Prof. YandreFunções em C - Prof. Yandre
Funções em C - Prof. Yandre
 
Cap 2
Cap 2Cap 2
Cap 2
 
Cap 2
Cap 2Cap 2
Cap 2
 
aula intro de Python sobre Funcoes.pdf
aula intro de  Python sobre  Funcoes.pdfaula intro de  Python sobre  Funcoes.pdf
aula intro de Python sobre Funcoes.pdf
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
 
Funções PHP - Criação de sites II
Funções PHP - Criação de sites II Funções PHP - Criação de sites II
Funções PHP - Criação de sites II
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 

Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf

  • 1. 1 Linguagem de Programação 21/10/2013 Sub­Algoritmos (Funções) em C mauricioow@gmail.com
  • 2. 2 O que são “Funções”? (ou subprogramas ou subrotinas) ­São trechos de código fonte agrupados sob um nome, que podem ser chamados sempre que for necessário executar uma determinada ação programada neste trecho; Como usar funções? ­ Atribui­se um nome à uma seqüência de comandos, e faz­se referência a este nome nos vários lugares do programa onde a seqüência em questão deveria ser repetida.
  • 3. 3 • Por que usar funções? • Evita escrita repetida de código (uma certa seqüência de comandos deve ser repetida em vários lugares de um programa). • Economiza o tempo gasto com o trabalho de copiar estas seqüências; • Evitar a necessidade de mudar em múltiplos lugares caso deseje alterar o seu funcionamento; • Dividir grandes tarefas de computação em tarefas menores: • Facilita o gerenciamento de grandes sistemas e • Aumenta a confiabilidade dos mesmos. • Resumo: Principais motivações para uso das funções! • Evitar repetição de código • Modularização (divide em pequenos subprogramas ou subalgoritmos).
  • 4. 4 • Funções em “C" Em “C”, todo programa é composto por funções; Já utilizamos muitas funções, mesmo sem saber que eram funções (printf, scanf, sqrt, e até a famosa função “main”…)
  • 5. 5 Formato de declaração de funções : tipo_de_retorno nome_da_função (tipo1 param1, tipo2 param2,..., tipoN paramN) { /* corpo da função */ return valor_de_retorno; } /* fim da função */ ­ tipo_de_retorno especifica o tipo do valor que será retornado para quem chamou a função (int, float, double, char, void). ­ Se o tipo_de_retorno for void significa que se trata de uma função que se comporta como uma subrotina; ou seja, a função não necessita retornar nenhum valor (exemplo: printf)
  • 6. 6 Definição Conjunto de comandos agrupados em um bloco que recebe um nome e através deste pode ser ativado. Por que 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 que 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. Com o uso de uma função é preciso alterar apenas dentro da função que se deseja; ­ Para que os blocos do programa não fiquem grandes demais e, por conseqüê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.
  • 7. 7
  • 8. 8 Parâmetros A fim de tornar mais amplo o uso de uma função, a linguagem C permite o uso de parâmetros. Estes parâmetros possibilitam que se definida sobre quais dados a função deve operar. Para definir os parâmetros de uma função o programador deve explicitá­los como se estivesse declarando uma variável,entre os parênteses do cabeçalho da função. Caso precise declarar mais de um parâmetro, basta separá­los por vírgulas. No exemplo a seguir temos a função SOMA que possui dois parâmetros, sendo o primeiro um float e o segundo um int. Os parâmetros da função na sua declaração são chamados parâmetros formais. Na chamada da função os parâmetros são chamados parâmetros atuais.
  • 9. 9
  • 10. 10 Os parâmetros são passados para uma função de acordo com a sua posição. Ou seja, o primeiro parâmetro atual﴾da chamada﴿ define o valor o primeiro parâmetro formal ﴾na definição da função, o segundo parâmetro atual define o valor do segundo parâmetro formal e assim por diante. Os nomes dos parâmetros na chamada não tem relação com os nomes dos parâmetros na definição da função. No código a seguir, por exemplo, a função SOMA é chamada recebendo como parâmetros as variáveis "b" e "a",nesta ordem.
  • 11. 11
  • 12. 12
  • 13. 13
  • 14. 14
  • 15. 15
  • 16. 16 #include <stdio.h> #include <conio.h> main() { int num, cont; printf("Funcao que dobra 3 numerosnn"); for(cont=1;cont<=3;cont++){ printf("nnDigite um numero inteiro: "); scanf("%d",&num); printf("nO dobro do numero vale: %d",dobro(num)); } getch(); } int dobro(int x)//x é variável local { return (2*x); }
  • 17. 17
  • 18. 18
  • 19. 19
  • 20. 20 #include <stdio.h> int posneg(int num){ if(num >= 0) return 1; else return 0; } main() { int n; printf("POSITIVO OU NEGATIVO nn"); printf("Digite um no. inteiro: "); scanf("%i",&n); printf("nn%d ",posneg(n)); printf("n1­ Positivo | 0 ­ Negativo"); getch(); }
  • 21. 21 #include <stdio.h> #define pi 3.14 float conv_a_rad(float graus){ return (graus * pi)/180; } main() { float g; printf("CONVERSAO DE GRAUS A RADIANOSnn"); printf("Digite um angulo, em graus: "); scanf("%f",&g); printf("nn%.1f graus = %.3f rad",g,conv_a_rad(g)); getch(); }