SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von Alex Camargo

Mehr von 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)
 

Kürzlich hochgeladen

Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
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
 

Kürzlich hochgeladen (20)

Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
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...
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 

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