SlideShare uma empresa Scribd logo
1 de 30
Algoritmos e Programação I
Funções
Sumário
05/07/2023
Professor Paulo Nunes 2
 Definição
 Sintaxe
 Protótipo
 Funções que retornam
valor
 Função sem retorno de
valor
 Passando valores para a
função
 Passando variáveis como
argumentos
 Escopo das variáveis
 Local
 Global
 Por parâmetros
 Recursão
 Unidade de código de programa autônoma desenhada para
cumprir uma tarefa particular. (Mizrahi, Victorine Viviane. 1990)
 Utilizamos uma função para agilizar a escrita e execução de
programas, fazendo com que o programador não tenha que
reescrever código já existente.
 Podemos dividir um programa maior em partes menores,
ficando assim mais fácil de mantê-lo.
Definição
05/07/2023
Professor Paulo Nunes 3
 Todas as funções possuem um nome seguido de parênteses “()”;
nome_da_função(<argumentos>)
 Nos parênteses podem ou não conter uma lista de parâmetros;
 O corpo da função pode conter outros comandos/funções de C,
variáveis e expressões, envolvidas entre chaves “{ }”;
 As funções podem vir antes ou após a função principal main();
 Na declaração, as funções não finalizam com ponto-e-vírgula, apenas
na chamada da função;
 As funções main(), getche() e printf() são exemplos de funções de
biblioteca C.
05/07/2023
Professor Paulo Nunes 4
Sintaxe de uma função
 Informa como a função será criada e utilizada.
 É prática saudável, opcional, criar os protótipos de funções
antes da função propriamente dita.
05/07/2023
Professor Paulo Nunes 5
Protótipo de função
Protótipo da função
Diz o tipo de dado de retorno da
função, no caso “float”.
O número de parâmetros recebidos,
no caso dois.
O tipo de dado dos parâmetros, no
caso ambos são “int”.
A ordem da passagem dos
parâmetros.
 Nem sempre funções recebem parâmetros, ou retornam
valores. Nesses casos são definidas como “void”, vazias.
 Não existe limite para o número de funções que podem ser
incluídas em um programa C.
05/07/2023
Professor Paulo Nunes 6
Protótipo de função
05/07/2023
Professor Paulo Nunes 7
Protótipo de função
Protótipos das
funções
Corpo do programa
principal
Função definida
 O programa anterior utiliza uma função que lê um caractere
do teclado e o converte em minúsculo, caso seja maiúsculo;
 Nele utilizamos o comando return. O comando return tem
dois usos importantes:
 Primeiro: devolver um valor e retornar imediatamente para a
próxima instrução do código chamada;
 Segundo: usá-lo sem os parênteses para causar uma saída
imediata da função na qual ele se encontra.
05/07/2023
Professor Paulo Nunes 8
Funções que retornam valor
05/07/2023
Professor Paulo Nunes 9
Retornando valor
Chamada da função
Retorno da função
05/07/2023
Professor Paulo Nunes 10
Retornando valor
Chamada da função
Retorno da função
05/07/2023
Professor Paulo Nunes 11
Função sem retorno de valor
Esta função não
retorna valor!
05/07/2023
Professor Paulo Nunes 12
Passando valores para a função
Chamada passando valores
Informa ao compilador que abs()
requer um argumento, e que esse
argumento será do tipo inteiro
Aqui, a variável “x” é uma nova variável, chamada de
“parêmetro formal”, e funciona como uma variável
local da função, sendo criada quando a função inicia a
execução e destruída no retorno da função.
Passando variáveis como
argumentos
05/07/2023
Professor Paulo Nunes 13
Saída na tela:
05/07/2023
Professor Paulo Nunes 14
 Quando necessário, podem ser passados vários argumentos
em uma função;
 Os argumentos devem ser separados por vírgulas;
 Não existem limites para o número de argumentos passados.
05/07/2023
Professor Paulo Nunes 15
Passagem de valores: detalhes
Exemplo...
05/07/2023
Professor Paulo Nunes 16
Função “retang()” recebe
os parâmetros “largura” e
“altura”
Chamada da função
“retang” com os valores que
serão tratados.
 Identifica e determina o tempo de vida de qualquer variável.
 É uma região do programa onde uma variável definida pode
ter a sua existência, além dessa região a variável não pode
ser acessada.
 Onde uma variável pode ser declarada em C:
 Dentro de uma função ou bloco, denominadas locais;
 Fora de qualquer função, denominadas globais;
 Na definição de parâmetros de função, chamadas de
parâmetros formais.
05/07/2023
Professor Paulo Nunes 17
Escopo das variáveis
05/07/2023
Professor Paulo Nunes 18
Escopo local
Essas variáveis são acessadas
apenas pela função main()
Seus dados são perdidos
após a execução de main()
05/07/2023
Professor Paulo Nunes 19
Escopo local: mesmo nome
05/07/2023
Professor Paulo Nunes 20
Escopo global
Variável declarada fora de
qualquer função.
A variável pode ser acessada
por todas as outras funções.
05/07/2023
Professor Paulo Nunes 21
Escopo global
05/07/2023
Professor Paulo Nunes 22
Escopo global Vs. local
Variáveis podem coincidir os nomes, a
variável local prevalece sobre a global.
05/07/2023
Professor Paulo Nunes 23
Parâmetros formais
As variáveis passadas como
parâmetros sobrepõe as globais.
 Posso atribuir dados para a variável global em uma função e
referenciar o mesmo espaço de memória em outra função.
 O uso de variáveis globais é desaconselhado, pois podem
provocar erros de segurança.
 Usar variáveis globais permite que todas as funções em um
arquivo de programa possa ter acesso aos mesmos dados, o
que vai contra o conceito de ocultação de informações.
05/07/2023
Professor Paulo Nunes 24
Escopo global Vs. Local
 A função é recursiva quando realiza uma chamada a ela
mesma;
 Utiliza mais memória, o que a torna mais lenta;
 Não são difíceis de se criar, mas de encontrar onde utilizá-las!
 O melhor exemplo de recursividade é para resolução de
fatorial de um número, pois a própria definição de fatorial
sugere recursão:
fatorial(n) = n * fatorial(n – 1)
05/07/2023
Professor Paulo Nunes 25
Funções Recursivas
05/07/2023
Professor Paulo Nunes 26
Exemplo: Fatorial
Exemplo 02: Fatorial
05/07/2023
Professor Paulo Nunes 27
05/07/2023
Professor Paulo Nunes 28
Exemplo: Fibonacci
 SOUSA, A. J. de. Linguagem C Descomplicada: Desvendando as Funções em C. São Paulo: Novatec
Editora, 2019.
 DIAS, F. L. Linguagem C: Programação em C - Algoritmos e Estrutura de Dados. Rio de Janeiro: LTC
Editora, 2021.
 CELES, W.; CERQUEIRA, R.; RANGEL, J. Lógica de Programação: Crie seus primeiros programas
usando funções em C. São Paulo: Editora Novatec, 2017.
 PRATA, S. C Primer Plus. 6th ed. New York: Addison-Wesley Professional, 2013.
 KERNIGHAN, B. W.; RITCHIE, D. M. The C Programming Language. 2nd ed. New Jersey: Prentice Hall,
1988.
 KING, K. N. C Programming: A Modern Approach. 2nd ed. New York: W. W. Norton & Company,
2008.
05/07/2023
Professor Paulo Nunes 29
Bibliografia
05/07/2023
Professor Paulo Nunes 30
O professor

Mais conteúdo relacionado

Semelhante a Utilizando funções em C: modularizando os programas.

python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdfronaldo ramos
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdfronaldo ramos
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação CSchoolByte
 
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
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcionalGabriel Schade Cardoso
 
Subalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca LopesSubalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca Lopesmarcosnem
 
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
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova Rogério Cardoso
 
Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Os Fantasmas !
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
Gabarito da P1 de PROG
Gabarito da P1 de PROGGabarito da P1 de PROG
Gabarito da P1 de PROGMarcos de Vita
 
A importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-diaA importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-diaGabriel Schade Cardoso
 

Semelhante a Utilizando funções em C: modularizando os programas. (20)

python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdf
 
python_funcional.pdf
python_funcional.pdfpython_funcional.pdf
python_funcional.pdf
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
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 e procedimentos
Funções e procedimentosFunções e procedimentos
Funções e procedimentos
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
01-Paradigmas.pdf
01-Paradigmas.pdf01-Paradigmas.pdf
01-Paradigmas.pdf
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcional
 
Subalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca LopesSubalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca Lopes
 
SubProgramas
SubProgramasSubProgramas
SubProgramas
 
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
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova
 
Sap – stablility and abstract principle
Sap – stablility and abstract principleSap – stablility and abstract principle
Sap – stablility and abstract principle
 
Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 
Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 11 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
poster
posterposter
poster
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
C++ Funções
 C++ Funções C++ Funções
C++ Funções
 
Gabarito da P1 de PROG
Gabarito da P1 de PROGGabarito da P1 de PROG
Gabarito da P1 de PROG
 
A importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-diaA importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-dia
 

Mais de SchoolByte

Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.SchoolByte
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.SchoolByte
 
Estruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosEstruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosSchoolByte
 
Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.SchoolByte
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.SchoolByte
 
Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.SchoolByte
 
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em CComandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em CSchoolByte
 
Utilizando ponteiros em C.
Utilizando ponteiros em C.Utilizando ponteiros em C.
Utilizando ponteiros em C.SchoolByte
 
Tutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréTutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréSchoolByte
 
Tutorial Visual do Dropbox
Tutorial Visual do DropboxTutorial Visual do Dropbox
Tutorial Visual do DropboxSchoolByte
 

Mais de SchoolByte (10)

Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.
 
Estruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosEstruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitos
 
Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.
 
Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.
 
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em CComandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C
 
Utilizando ponteiros em C.
Utilizando ponteiros em C.Utilizando ponteiros em C.
Utilizando ponteiros em C.
 
Tutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréTutorial Visual do Open-Sankoré
Tutorial Visual do Open-Sankoré
 
Tutorial Visual do Dropbox
Tutorial Visual do DropboxTutorial Visual do Dropbox
Tutorial Visual do Dropbox
 

Último

Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESEduardaReis50
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 

Último (20)

Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕESCOMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
COMPETÊNCIA 4 NO ENEM: O TEXTO E SUAS AMARRACÕES
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 

Utilizando funções em C: modularizando os programas.

  • 2. Sumário 05/07/2023 Professor Paulo Nunes 2  Definição  Sintaxe  Protótipo  Funções que retornam valor  Função sem retorno de valor  Passando valores para a função  Passando variáveis como argumentos  Escopo das variáveis  Local  Global  Por parâmetros  Recursão
  • 3.  Unidade de código de programa autônoma desenhada para cumprir uma tarefa particular. (Mizrahi, Victorine Viviane. 1990)  Utilizamos uma função para agilizar a escrita e execução de programas, fazendo com que o programador não tenha que reescrever código já existente.  Podemos dividir um programa maior em partes menores, ficando assim mais fácil de mantê-lo. Definição 05/07/2023 Professor Paulo Nunes 3
  • 4.  Todas as funções possuem um nome seguido de parênteses “()”; nome_da_função(<argumentos>)  Nos parênteses podem ou não conter uma lista de parâmetros;  O corpo da função pode conter outros comandos/funções de C, variáveis e expressões, envolvidas entre chaves “{ }”;  As funções podem vir antes ou após a função principal main();  Na declaração, as funções não finalizam com ponto-e-vírgula, apenas na chamada da função;  As funções main(), getche() e printf() são exemplos de funções de biblioteca C. 05/07/2023 Professor Paulo Nunes 4 Sintaxe de uma função
  • 5.  Informa como a função será criada e utilizada.  É prática saudável, opcional, criar os protótipos de funções antes da função propriamente dita. 05/07/2023 Professor Paulo Nunes 5 Protótipo de função Protótipo da função Diz o tipo de dado de retorno da função, no caso “float”. O número de parâmetros recebidos, no caso dois. O tipo de dado dos parâmetros, no caso ambos são “int”. A ordem da passagem dos parâmetros.
  • 6.  Nem sempre funções recebem parâmetros, ou retornam valores. Nesses casos são definidas como “void”, vazias.  Não existe limite para o número de funções que podem ser incluídas em um programa C. 05/07/2023 Professor Paulo Nunes 6 Protótipo de função
  • 7. 05/07/2023 Professor Paulo Nunes 7 Protótipo de função Protótipos das funções Corpo do programa principal Função definida
  • 8.  O programa anterior utiliza uma função que lê um caractere do teclado e o converte em minúsculo, caso seja maiúsculo;  Nele utilizamos o comando return. O comando return tem dois usos importantes:  Primeiro: devolver um valor e retornar imediatamente para a próxima instrução do código chamada;  Segundo: usá-lo sem os parênteses para causar uma saída imediata da função na qual ele se encontra. 05/07/2023 Professor Paulo Nunes 8 Funções que retornam valor
  • 9. 05/07/2023 Professor Paulo Nunes 9 Retornando valor Chamada da função Retorno da função
  • 10. 05/07/2023 Professor Paulo Nunes 10 Retornando valor Chamada da função Retorno da função
  • 11. 05/07/2023 Professor Paulo Nunes 11 Função sem retorno de valor Esta função não retorna valor!
  • 12. 05/07/2023 Professor Paulo Nunes 12 Passando valores para a função Chamada passando valores Informa ao compilador que abs() requer um argumento, e que esse argumento será do tipo inteiro Aqui, a variável “x” é uma nova variável, chamada de “parêmetro formal”, e funciona como uma variável local da função, sendo criada quando a função inicia a execução e destruída no retorno da função.
  • 15.  Quando necessário, podem ser passados vários argumentos em uma função;  Os argumentos devem ser separados por vírgulas;  Não existem limites para o número de argumentos passados. 05/07/2023 Professor Paulo Nunes 15 Passagem de valores: detalhes
  • 16. Exemplo... 05/07/2023 Professor Paulo Nunes 16 Função “retang()” recebe os parâmetros “largura” e “altura” Chamada da função “retang” com os valores que serão tratados.
  • 17.  Identifica e determina o tempo de vida de qualquer variável.  É uma região do programa onde uma variável definida pode ter a sua existência, além dessa região a variável não pode ser acessada.  Onde uma variável pode ser declarada em C:  Dentro de uma função ou bloco, denominadas locais;  Fora de qualquer função, denominadas globais;  Na definição de parâmetros de função, chamadas de parâmetros formais. 05/07/2023 Professor Paulo Nunes 17 Escopo das variáveis
  • 18. 05/07/2023 Professor Paulo Nunes 18 Escopo local Essas variáveis são acessadas apenas pela função main() Seus dados são perdidos após a execução de main()
  • 19. 05/07/2023 Professor Paulo Nunes 19 Escopo local: mesmo nome
  • 20. 05/07/2023 Professor Paulo Nunes 20 Escopo global Variável declarada fora de qualquer função. A variável pode ser acessada por todas as outras funções.
  • 22. 05/07/2023 Professor Paulo Nunes 22 Escopo global Vs. local Variáveis podem coincidir os nomes, a variável local prevalece sobre a global.
  • 23. 05/07/2023 Professor Paulo Nunes 23 Parâmetros formais As variáveis passadas como parâmetros sobrepõe as globais.
  • 24.  Posso atribuir dados para a variável global em uma função e referenciar o mesmo espaço de memória em outra função.  O uso de variáveis globais é desaconselhado, pois podem provocar erros de segurança.  Usar variáveis globais permite que todas as funções em um arquivo de programa possa ter acesso aos mesmos dados, o que vai contra o conceito de ocultação de informações. 05/07/2023 Professor Paulo Nunes 24 Escopo global Vs. Local
  • 25.  A função é recursiva quando realiza uma chamada a ela mesma;  Utiliza mais memória, o que a torna mais lenta;  Não são difíceis de se criar, mas de encontrar onde utilizá-las!  O melhor exemplo de recursividade é para resolução de fatorial de um número, pois a própria definição de fatorial sugere recursão: fatorial(n) = n * fatorial(n – 1) 05/07/2023 Professor Paulo Nunes 25 Funções Recursivas
  • 26. 05/07/2023 Professor Paulo Nunes 26 Exemplo: Fatorial
  • 28. 05/07/2023 Professor Paulo Nunes 28 Exemplo: Fibonacci
  • 29.  SOUSA, A. J. de. Linguagem C Descomplicada: Desvendando as Funções em C. São Paulo: Novatec Editora, 2019.  DIAS, F. L. Linguagem C: Programação em C - Algoritmos e Estrutura de Dados. Rio de Janeiro: LTC Editora, 2021.  CELES, W.; CERQUEIRA, R.; RANGEL, J. Lógica de Programação: Crie seus primeiros programas usando funções em C. São Paulo: Editora Novatec, 2017.  PRATA, S. C Primer Plus. 6th ed. New York: Addison-Wesley Professional, 2013.  KERNIGHAN, B. W.; RITCHIE, D. M. The C Programming Language. 2nd ed. New Jersey: Prentice Hall, 1988.  KING, K. N. C Programming: A Modern Approach. 2nd ed. New York: W. W. Norton & Company, 2008. 05/07/2023 Professor Paulo Nunes 29 Bibliografia