SlideShare uma empresa Scribd logo
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

PPTX
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
ODP
Produtividade com Eclipse IDE
PDF
Funções em C - Prof. Yandre
PPTX
SubProgramas
PPTX
Algoritmos - Aula 02 - Construcao de algoritmos
PDF
Man UAL
ODP
Aula14 - Funções em PHP
PDF
Aula01 estrutura de dados - (começando as brincadeiras)
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Produtividade com Eclipse IDE
Funções em C - Prof. Yandre
SubProgramas
Algoritmos - Aula 02 - Construcao de algoritmos
Man UAL
Aula14 - Funções em PHP
Aula01 estrutura de dados - (começando as brincadeiras)

Mais procurados (18)

PDF
Aula 05 subprogramas
PDF
Modularização
PDF
Cap03
PDF
Algoritmia
ODP
Aula11 - PHP
PPTX
Etapas da programação
ODP
PPTX
JAVA - Controle de programa
PDF
Subalgoritmos Profª Letíca Lopes
PPT
Introdução à programação
ODP
Aula03 - JavaScript
DOCX
Desenvolvimento de função se37
PPT
Módulo 2 pascal
PPS
Lógica parte 2 - Algoritmos
PDF
Lista exercicios algoritmos
PDF
Visualg primeira interação
PDF
Algoritmos e Visualg parte 1
ODP
Aula05-JavaScript
Aula 05 subprogramas
Modularização
Cap03
Algoritmia
Aula11 - PHP
Etapas da programação
JAVA - Controle de programa
Subalgoritmos Profª Letíca Lopes
Introdução à programação
Aula03 - JavaScript
Desenvolvimento de função se37
Módulo 2 pascal
Lógica parte 2 - Algoritmos
Lista exercicios algoritmos
Visualg primeira interação
Algoritmos e Visualg parte 1
Aula05-JavaScript
Anúncio

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

DOCX
Algoritmo e Complexidade - texto Aula1.docx
PDF
Algoritmos e lp parte 5-subalgoritmos
PDF
Algoritmos e Lógica de Programação
ODP
Curso de Delphi - Lógica de Programacao
PPTX
PPTX
ALG 1 - Implementacao de Algoritmos.pptx
PPTX
RevisãoCompactaFuncoesPonteiro.pptx
PDF
Portugol_BCC201_2.pdf
PDF
Aula 02 - Introducao a Algoritmos.pptx.pdf
PPT
ALG 01 - Implementacao de Algoritmos.ppt
PPT
ALG 01 - Implementacao de Algoritmos.ppt
PPT
Implementacao de Algoritmos.ppt
PPTX
Aula 8 - Modularização e Funções.pptx
PPTX
Introdução a Programação
PPT
Aula 2 - Introducao e Algoritmos.ppt
PDF
Linguagem C - Funções e ponteiros
PPT
Algoritmos
PDF
A.S 7 ELEMENTOS BÁSICOS COMANDO.pdf da
PDF
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
PDF
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Algoritmo e Complexidade - texto Aula1.docx
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e Lógica de Programação
Curso de Delphi - Lógica de Programacao
ALG 1 - Implementacao de Algoritmos.pptx
RevisãoCompactaFuncoesPonteiro.pptx
Portugol_BCC201_2.pdf
Aula 02 - Introducao a Algoritmos.pptx.pdf
ALG 01 - Implementacao de Algoritmos.ppt
ALG 01 - Implementacao de Algoritmos.ppt
Implementacao de Algoritmos.ppt
Aula 8 - Modularização e Funções.pptx
Introdução a Programação
Aula 2 - Introducao e Algoritmos.ppt
Linguagem C - Funções e ponteiros
Algoritmos
A.S 7 ELEMENTOS BÁSICOS COMANDO.pdf da
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Anúncio

Mais de Alex Camargo (20)

PDF
Experiencia Profissional - Desafios Contemporâneos (TEOLOGIA/UNIASSELVI)
PDF
Experiencia Profissional - Carreira e Sucesso (TEOLOGIA/UNIASSELVI)
PDF
Bíblia-IA Inteligência Abençoada - Pitchdeck (ES)
PDF
Startub Lab - Workshop de Inovação Aberta
PDF
Curso de Inclusão Digital - Instituto Cooperconecta e Urcamp
PDF
SNCT URCAMP - UMA PROPOSTA DE UM SOFTWARE PARA GERENCIAMENTO DE CICLOS DE INO...
PDF
Palestra Rotary - Crimes e Fraudes na Internet
PDF
Curso Método Teologia Fácil - Sociologia (SLIDES)
PDF
Curso Método Teologia Fácil - Hermenêutica (SLIDES)
PDF
Curso Método Teologia Fácil - Pneumatologia (SLIDES)
PDF
Curso Método Teologia Fácil - Eclesiologia (SLIDES)
PDF
Curso Método Teologia Fácil - Demonologia (SLIDES)
PDF
Curso Método Teologia Fácil - Metodologia (SLIDES)
PDF
Ecossistema de Inovação de Bagé (ECOBAH) - Apresentação
PDF
Feira do Livro de Bagé 2023 - Inovação e Startups
PDF
Escola Bíblica - Eclesiologia
PDF
Escola Bíblica - Demonologia
PDF
Python para finanças: explorando dados financeiros
PDF
A practical guide: How to use Bitcoins?
PDF
IA e Bioinformática: modelos computacionais de proteínas
Experiencia Profissional - Desafios Contemporâneos (TEOLOGIA/UNIASSELVI)
Experiencia Profissional - Carreira e Sucesso (TEOLOGIA/UNIASSELVI)
Bíblia-IA Inteligência Abençoada - Pitchdeck (ES)
Startub Lab - Workshop de Inovação Aberta
Curso de Inclusão Digital - Instituto Cooperconecta e Urcamp
SNCT URCAMP - UMA PROPOSTA DE UM SOFTWARE PARA GERENCIAMENTO DE CICLOS DE INO...
Palestra Rotary - Crimes e Fraudes na Internet
Curso Método Teologia Fácil - Sociologia (SLIDES)
Curso Método Teologia Fácil - Hermenêutica (SLIDES)
Curso Método Teologia Fácil - Pneumatologia (SLIDES)
Curso Método Teologia Fácil - Eclesiologia (SLIDES)
Curso Método Teologia Fácil - Demonologia (SLIDES)
Curso Método Teologia Fácil - Metodologia (SLIDES)
Ecossistema de Inovação de Bagé (ECOBAH) - Apresentação
Feira do Livro de Bagé 2023 - Inovação e Startups
Escola Bíblica - Eclesiologia
Escola Bíblica - Demonologia
Python para finanças: explorando dados financeiros
A practical guide: How to use Bitcoins?
IA e Bioinformática: modelos computacionais de proteínas

Último (20)

PDF
metabolismo energtico das clulas-131017092002-phpapp02.pdf
PPTX
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPTX
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
PPT
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
PDF
Fiqh da adoração (islamismo)
PDF
DAQUISIÇÃO E DESENVOLVIMENTO DA FALA 12 A 24 MESES
PPTX
HISTÓRIA DO BRASIL - anos de Democracia.pptx
PDF
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
PDF
Um dia na casa do Mensageiro (que a paz e benção de Deus estejam com ele)
PDF
Ementa 2 semestre PEI Orientação de estudo
PDF
A provisão de jojuador (ramadã) islamismo
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PDF
[Slides] A Literatura no ENEM 2017 (1).pdf
PPT
História e Evolução dos Computadores domésticos
PDF
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PPTX
Ocupação e transformação dos territórios.pptx
metabolismo energtico das clulas-131017092002-phpapp02.pdf
16. MODERNISMO - PRIMEIRA GERAÇÃO - EDIÇÃO 2021 (1).pptx
Uma Introdução às Ciências do Alcorão (Islam)
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
INDÚSTRIA_ Histórico da industrialização.pptx
Fiqh da adoração (islamismo)
DAQUISIÇÃO E DESENVOLVIMENTO DA FALA 12 A 24 MESES
HISTÓRIA DO BRASIL - anos de Democracia.pptx
RELATÓRIO DE ESTÁGIO SURVISIONADO: NEUROPSICOPEDAGOGIA INSTITUCIONAL, CLÍNIC...
Um dia na casa do Mensageiro (que a paz e benção de Deus estejam com ele)
Ementa 2 semestre PEI Orientação de estudo
A provisão de jojuador (ramadã) islamismo
NR11 - Treinamento Direcao Defensiva - 2023.pptx
[Slides] A Literatura no ENEM 2017 (1).pdf
História e Evolução dos Computadores domésticos
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
Revolução Industrial - Aula Expositiva - 3U4.pptx
Ocupação e transformação dos territórios.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