SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Subalgoritmos, funções e passagem deSubalgoritmos, funções e passagem de
parâmetrosparâmetros
Prof. Alex Camargo
alexcamargoweb@gmail.com.br
UNIVERSIDADE FEDERAL DO PAMPA
CAMPUS BAGÉ
ALGORITMOS E PROGRAMAÇÃO
Modularização
Facilita a construção de grandes programas através da divisão
em pequenas etapas: módulos (subrotinas ou subprogramas).
 Programas simples: sequência de instruções para resolver
um problema, dirigidas por estruturas de controle.
Ex.: Estruturas de condição e repetição.
 Programas complexos: Variedade de situações a serem
resolvidas ou uma série de pequenos problemas cujas soluções
integram o conjunto definitivo de instruções.
Ex.: Um programa de computador com vários módulos.
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Modularização
Vantagens da modularização:
 Permite que trechos do programa possam ser reutilizados em
diferentes partes do programa ou em novos programas.
 As partes do programa podem ser escritas e testadas
separadamente.
 Pode suprimir do bloco principal detalhes e particularidades da
implementação.
Ex.: printf, scanf
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Funções
Na Linguagem C, basicamente, a modularização é tratada como
função.
 Trecho de código de um programa projetado para cumprir uma
tarefa específica, que pode ou não retornar um valor.
 Pode estar no mesmo arquivo ou em arquivos separados.
 O seu uso envolve três passos:
Declaração (protótipo): antes do main()
Definição (código da função): antes ou depois do main()
Ativação (chamada): dentro do main() ou de uma outra função
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Funções (declaração)
Sintaxe da declaração:
tipo nome_da_função (parâmetros);
 Tipo: é o tipo da informação retornada da função; se a função
não retornar nada, seu tipo deve ser void. Neste caso
chamamos de procedimento ao invés de função.
 Parâmetros: lista de tipos (e variáveis) que serão passados
como argumentos para a função; pode ser vazio (void).
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Funções (definição)
Sintaxe da definição:
tipo nome_da_função (parâmetros)
{
declaração de variáveis;
comandos;
return (expressão); //opcional
}
 A primeira linha é idêntica à declaração.
 O return serve para indicar o valor a ser retornado, se for o
caso, e pode aparecer em qualquer ponto da função (não
apenas no final) e em mais de um ponto.
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Funções (ativação)
Formas de ativação de funções:
– Exemplos:
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Funções (ativação)
A ativação faz com que o controle seja transferido para o
trecho chamado (primeira instrução) e executa até o fim do
trecho (última instrução). Ao final da função, o controle volta
para instrução seguinte à chamada.
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Variáveis e funções
Uma função pode fazer referência a variáveis:
 Declaradas localmente: variáveis locais da unidade.
 Declaradas globalmente: variáveis globais do programa.
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Variáveis e funções
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Formas de utilização
Exemplo de função sem retorno de valor (procedimento):
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Formas de utilização
Exemplo de função com retorno de valor:
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Funções
Exemplo de função com retorno de valor:
Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
Exercícios
1. Estude o seguinte programa e aponte o valor de cada variável sempre
que solicitado:
Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
6. a = ? e b = ?
8. return = ?
15. resultado = ?
Exercícios
2. Escreva um programa que exiba uma mensagem de boas-vindas através
de um procedimento (função que não retorna um valor).
gets(nome); //Fulano
- Ex. de saída:
Bem-vindo, Fulano!
3. Escreva uma programa que peça um número e mostre o seu antecessor
através de uma função:
scanf("%d", &num); //10
- Ex. de saída:
Antecessor = 9.
Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
Exercícios
4. Faça um procedimento que receba um número inteiro por parâmetro e
informe se ele é par, ímpar ou zero.
5. Escreva um programa para ler as notas das três avaliações de um aluno
no semestre. Também faça uma função que receba as notas por parâmetro
e calcule a média semestral. Por fim, no programa principal, escreva e a
mensagem “PARABÉNS! Você foi aprovado!” se o aluno obteve a média
maior ou igual a 6, senão, exiba “ Você foi reprovado!”.
6. Escreva uma função que receba 2 números inteiros n1 e n2 como entrada
e retorna a soma de todos os números inteiros contidos no intervalo [n1,n2].
Use esta função em um programa que lê n1 e n2 do usuário e imprime a
soma.
Ex. de saída:
n1 = 1
n2 = 3
Soma: 6
Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
Exercícios
7. Faça uma função que calcule o IMC (peso/altura²) de uma pessoa e
conforme o seu retorno classifique, no programa principal, conforme a
tabela abaixo:
Condição | IMC em adultos
------------------------------------------------
Abaixo do Peso | Menor que 18,5
Peso Normal | Entre 18,5 e 25
Acima do Peso | Entre 25,1 e 30
Obeso | Maior que 30
8. Escreva uma função (e programa) que converta radianos para graus e
retorne o valor para o usuário.
Fórmula: graus = radianos * 180
pi
Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
Exercícios
9. Faça um programa de calculadora com as operações básicas: adição,
subtração, multiplicação e divisão. O programa inicia apresentando um
menu de opções como mostrado abaixo. Posteriormente, o usuário deve
digitar 2 valores:
Calculadora v1.0
1. Adição
2. Subtração
3. Multiplicação
4. Divisão
5. Sair do programa
Digite a opção desejada:
**********************************************************************
*Dica:
a) O programa principal chama a função conforme a opção do usuário, deve-se
criar uma função para cada operação.
b) Uma outra maneira é fazer uma única função que receba 2 valores a serem
calculados juntamente com um valor referente a operação desejada.
Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
Exercícios
10. Escreva uma função (e programa) que receba como argumentos uma
cadeia de caracteres (s) e um caracter (c). A função deve retornar como
resultado o número de vezes que (c) aparece em (s).
- Ex. de saída:
s = unipampa
c = p
O número de vezes que p aparece em unipampa é 2.
*Dica: Para comparar os valores da palavra (string) com o caracter (char),
podemos fazer de duas maneiras diferentes:
a) através de um while enquanto não chegar no final da string (0)
b) através de um for que inicia em zero e vai até tamanho da string (strlen)
menos um.
Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros

Mais conteúdo relacionado

Mais procurados (18)

Aula 05 subprogramas
Aula 05   subprogramasAula 05   subprogramas
Aula 05 subprogramas
 
Modularização
ModularizaçãoModularização
Modularização
 
Cap03
Cap03Cap03
Cap03
 
Algoritmia
AlgoritmiaAlgoritmia
Algoritmia
 
Aula11 - PHP
Aula11 - PHPAula11 - PHP
Aula11 - PHP
 
Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
Aula12- PHP
Aula12- PHPAula12- PHP
Aula12- PHP
 
JAVA - Controle de programa
JAVA - Controle de programaJAVA - Controle de programa
JAVA - Controle de programa
 
Subalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca LopesSubalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca Lopes
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Desenvolvimento de função se37
Desenvolvimento de função se37Desenvolvimento de função se37
Desenvolvimento de função se37
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Lógica parte 2 - Algoritmos
Lógica   parte 2 - AlgoritmosLógica   parte 2 - Algoritmos
Lógica parte 2 - Algoritmos
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Algoritmos e Visualg parte 1
Algoritmos e Visualg   parte 1Algoritmos e Visualg   parte 1
Algoritmos e Visualg parte 1
 
Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 

Semelhante a Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
Carlos Santos
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
Cleide Soares
 
LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08
Carlos Santos
 
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
 

Semelhante a Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros (20)

Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmos
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Tc aula 07
Tc aula 07Tc aula 07
Tc aula 07
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptx
 
(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
Aula 4
Aula 4Aula 4
Aula 4
 
Aula 4 | Funções
Aula 4 | Funções Aula 4 | Funções
Aula 4 | Funções
 
Manual robotec
Manual robotecManual robotec
Manual robotec
 
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...
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdfAula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
Aula de Funções - 1ª Parte (2015_04_26 22_22_50 UTC).pdf
 
LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08
 
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)
 
Módulo 1 de PSI
Módulo 1 de PSIMódulo 1 de PSI
Módulo 1 de PSI
 
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
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 

Mais de Alex Camargo

Mais de Alex Camargo (20)

Escola Bíblica - Eclesiologia
Escola Bíblica - EclesiologiaEscola Bíblica - Eclesiologia
Escola Bíblica - Eclesiologia
 
Escola Bíblica - Demonologia
Escola Bíblica - DemonologiaEscola Bíblica - Demonologia
Escola Bíblica - Demonologia
 
Python para finanças: explorando dados financeiros
Python para finanças: explorando dados financeirosPython para finanças: explorando dados financeiros
Python para finanças: explorando dados financeiros
 
A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?A practical guide: How to use Bitcoins?
A practical guide: How to use Bitcoins?
 
IA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínasIA e Bioinformática: modelos computacionais de proteínas
IA e Bioinformática: modelos computacionais de proteínas
 
Introdução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurançaIntrodução às criptomoedas: investimento, mercado e segurança
Introdução às criptomoedas: investimento, mercado e segurança
 
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!Introdução às criptomoedas:  criando a sua própria moeda como o Bitcoin!
Introdução às criptomoedas: criando a sua própria moeda como o Bitcoin!
 
Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)Cristão versus Redes Sociais - Alex (Arca da Aliança)
Cristão versus Redes Sociais - Alex (Arca da Aliança)
 
Empatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom SamaritanoEmpatia e compaixão: O Bom Samaritano
Empatia e compaixão: O Bom Samaritano
 
Alta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem praticaAlta performance em IA: uma abordagem pratica
Alta performance em IA: uma abordagem pratica
 
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidadeBioinformática do DNA ao medicamento: ferramentas e usabilidade
Bioinformática do DNA ao medicamento: ferramentas e usabilidade
 
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mãoInteligência Artificial aplicada: reconhecendo caracteres escritos à mão
Inteligência Artificial aplicada: reconhecendo caracteres escritos à mão
 
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
IA versus COVID-19 Deep Learning, Códigos e Execução em nuvem (Tchelinux 2020)
 
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...Algoritmos de inteligência artificial para classificação de notícias falsas. ...
Algoritmos de inteligência artificial para classificação de notícias falsas. ...
 
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigaçãoFake News - Conceitos, métodos e aplicações de identificação e mitigação
Fake News - Conceitos, métodos e aplicações de identificação e mitigação
 
PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020PredictCovid: IA. SIEPE UNIPAMPA 2020
PredictCovid: IA. SIEPE UNIPAMPA 2020
 
Ia versus covid 19 - alex
Ia versus covid 19 - alexIa versus covid 19 - alex
Ia versus covid 19 - alex
 
2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence2a Mini-conf PredictCovid. Field: Artificial Intelligence
2a Mini-conf PredictCovid. Field: Artificial Intelligence
 
Aula 5 - Considerações finais
Aula 5 - Considerações finaisAula 5 - Considerações finais
Aula 5 - Considerações finais
 
Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)Aula 04 - Injeção de código (Cross-Site Scripting)
Aula 04 - Injeção de código (Cross-Site Scripting)
 

Último

Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 

Último (20)

P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 

Algoritmos e Programação: Subalgoritmos, funções e passagem de parâmetros

  • 1. Subalgoritmos, funções e passagem deSubalgoritmos, funções e passagem de parâmetrosparâmetros Prof. Alex Camargo alexcamargoweb@gmail.com.br UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO
  • 2. Modularização Facilita a construção de grandes programas através da divisão em pequenas etapas: módulos (subrotinas ou subprogramas).  Programas simples: sequência de instruções para resolver um problema, dirigidas por estruturas de controle. Ex.: Estruturas de condição e repetição.  Programas complexos: Variedade de situações a serem resolvidas ou uma série de pequenos problemas cujas soluções integram o conjunto definitivo de instruções. Ex.: Um programa de computador com vários módulos. Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 3. Modularização Vantagens da modularização:  Permite que trechos do programa possam ser reutilizados em diferentes partes do programa ou em novos programas.  As partes do programa podem ser escritas e testadas separadamente.  Pode suprimir do bloco principal detalhes e particularidades da implementação. Ex.: printf, scanf Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 4. Funções Na Linguagem C, basicamente, a modularização é tratada como função.  Trecho de código de um programa projetado para cumprir uma tarefa específica, que pode ou não retornar um valor.  Pode estar no mesmo arquivo ou em arquivos separados.  O seu uso envolve três passos: Declaração (protótipo): antes do main() Definição (código da função): antes ou depois do main() Ativação (chamada): dentro do main() ou de uma outra função Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 5. Funções (declaração) Sintaxe da declaração: tipo nome_da_função (parâmetros);  Tipo: é o tipo da informação retornada da função; se a função não retornar nada, seu tipo deve ser void. Neste caso chamamos de procedimento ao invés de função.  Parâmetros: lista de tipos (e variáveis) que serão passados como argumentos para a função; pode ser vazio (void). Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 6. Funções (definição) Sintaxe da definição: tipo nome_da_função (parâmetros) { declaração de variáveis; comandos; return (expressão); //opcional }  A primeira linha é idêntica à declaração.  O return serve para indicar o valor a ser retornado, se for o caso, e pode aparecer em qualquer ponto da função (não apenas no final) e em mais de um ponto. Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 7. Funções (ativação) Formas de ativação de funções: – Exemplos: Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 8. Funções (ativação) A ativação faz com que o controle seja transferido para o trecho chamado (primeira instrução) e executa até o fim do trecho (última instrução). Ao final da função, o controle volta para instrução seguinte à chamada. Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 9. Variáveis e funções Uma função pode fazer referência a variáveis:  Declaradas localmente: variáveis locais da unidade.  Declaradas globalmente: variáveis globais do programa. Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 10. Variáveis e funções Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 11. Formas de utilização Exemplo de função sem retorno de valor (procedimento): Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 12. Formas de utilização Exemplo de função com retorno de valor: Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 13. Funções Exemplo de função com retorno de valor: Algoritmos e Programação - Subalgoritmos, funções e passagem de parâmetros
  • 14. Exercícios 1. Estude o seguinte programa e aponte o valor de cada variável sempre que solicitado: Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros 6. a = ? e b = ? 8. return = ? 15. resultado = ?
  • 15. Exercícios 2. Escreva um programa que exiba uma mensagem de boas-vindas através de um procedimento (função que não retorna um valor). gets(nome); //Fulano - Ex. de saída: Bem-vindo, Fulano! 3. Escreva uma programa que peça um número e mostre o seu antecessor através de uma função: scanf("%d", &num); //10 - Ex. de saída: Antecessor = 9. Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
  • 16. Exercícios 4. Faça um procedimento que receba um número inteiro por parâmetro e informe se ele é par, ímpar ou zero. 5. Escreva um programa para ler as notas das três avaliações de um aluno no semestre. Também faça uma função que receba as notas por parâmetro e calcule a média semestral. Por fim, no programa principal, escreva e a mensagem “PARABÉNS! Você foi aprovado!” se o aluno obteve a média maior ou igual a 6, senão, exiba “ Você foi reprovado!”. 6. Escreva uma função que receba 2 números inteiros n1 e n2 como entrada e retorna a soma de todos os números inteiros contidos no intervalo [n1,n2]. Use esta função em um programa que lê n1 e n2 do usuário e imprime a soma. Ex. de saída: n1 = 1 n2 = 3 Soma: 6 Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
  • 17. Exercícios 7. Faça uma função que calcule o IMC (peso/altura²) de uma pessoa e conforme o seu retorno classifique, no programa principal, conforme a tabela abaixo: Condição | IMC em adultos ------------------------------------------------ Abaixo do Peso | Menor que 18,5 Peso Normal | Entre 18,5 e 25 Acima do Peso | Entre 25,1 e 30 Obeso | Maior que 30 8. Escreva uma função (e programa) que converta radianos para graus e retorne o valor para o usuário. Fórmula: graus = radianos * 180 pi Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
  • 18. Exercícios 9. Faça um programa de calculadora com as operações básicas: adição, subtração, multiplicação e divisão. O programa inicia apresentando um menu de opções como mostrado abaixo. Posteriormente, o usuário deve digitar 2 valores: Calculadora v1.0 1. Adição 2. Subtração 3. Multiplicação 4. Divisão 5. Sair do programa Digite a opção desejada: ********************************************************************** *Dica: a) O programa principal chama a função conforme a opção do usuário, deve-se criar uma função para cada operação. b) Uma outra maneira é fazer uma única função que receba 2 valores a serem calculados juntamente com um valor referente a operação desejada. Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros
  • 19. Exercícios 10. Escreva uma função (e programa) que receba como argumentos uma cadeia de caracteres (s) e um caracter (c). A função deve retornar como resultado o número de vezes que (c) aparece em (s). - Ex. de saída: s = unipampa c = p O número de vezes que p aparece em unipampa é 2. *Dica: Para comparar os valores da palavra (string) com o caracter (char), podemos fazer de duas maneiras diferentes: a) através de um while enquanto não chegar no final da string (0) b) através de um for que inicia em zero e vai até tamanho da string (strlen) menos um. Algoritmos e Programação – Subalgoritmos, funções e passagem de parâmetros