Buscar

Sub-rotina

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Algoritmos e Lógica de 
Programação 
Professor: Wilton Souza 
Sub-rotina 
 Sub-rotina ou subalgoritmo é o nome dado a um 
algoritmo que realiza uma tarefa especifica, mas não 
representa um algoritmo (ou solução) completo. 
 As sub-rotinas são utilizadas para a resolução de 
partes de algoritmo. 
 O programa que chama um sub-algoritmo 
(chamador) é temporariamente suspenso e o controle é 
passado para o sub-algoritmo, que é executado. 
Ao terminar o sub-algoritmo, o controle retorna para 
o programa que realizou a chamada (chamador). 
 
 
 
 
 
 
 
Sub-rotina 
 Seu uso é aconselhável principalmente para os 
seguintes casos: 
Evitar que o algoritmo torne-se complexo: nesse caso a 
sub-rotina pode representar partes específicas da solução de 
um problema maior, tornando mais simples o entendimento 
da solução como um todo. 
 Incentivar a reutilização de algoritmos: por exemplo, se 
fosse escrita uma sub-rotina para ordenar um vetor de 
tamanho N, esta poderia ser utilizada em qualquer problema 
que existisse a ordenação de um vetor de tamanho N, sem a 
necessidade de reescrevê-lo. 
 
 
 
 
 
 
Funções 
 Na Matemática, ao se escrever x = sen(0,77), está se 
aplicando a função seno sobre um argumento que, nesse 
exemplo, é 0,77.Esse resultado é atribuido à variável x. 
 
 Assim, em todas as situações em que se deseja o seno 
de um número, acaba-se por reutilizar essa função. 
 
 Ao se executar uma função, ocorre um desvio no 
fluxo no qual a função está definida. 
 
 
 
 
 
Funções 
 Nesse desvio, executa-se uma função, obtém-se um 
valor de retorno e volta-se para logo após o ponto em 
que se executou a função. 
Uma função nada mais é do que uma subrotina usada 
em um programa. 
 Uma função retorna sempre um único valor. 
Na linguagem C, denominamos função a um conjunto 
de comandos que realiza uma tarefa específica em um 
módulo dependente de código. 
 
 
 
 
Funções 
 A utilização de funções visa modularizar um 
programa, o que é muito comum em programação 
estruturada. Podemos dividir um programa em várias 
partes, no qual cada função realiza uma tarefa bem 
definida. 
 Após sua execução, programa volta ao ponto do 
programa situado imediatamente após a chamada. A 
volta ao programa que chamou a função é chamada de 
retorno. 
 
 
 
Funções 
Sintaxe função: 
tipo_de_retorno nomeDaFuncao (Lista_de_Parametros) 
{ 
 // corpo da função 
} 
 
 
Funções 
 Os parâmetros são as variáveis declaradas 
diretamente no cabeçalho da função. 
 A finalidade dos parâmetros é fazer a comunicação 
entre as funções e a função principal. 
 Chamamos de passagem de parâmetros a passagem 
de valores entre as funções. 
 
 
#include<stdio.h> 
 
int multiplica(int n1, int n2){ 
 int resultado; 
 resultado = n1 * n2; 
 return(resultado); 
} 
int main(){ 
 int n1, n2, resultado; 
 printf("Digite o primeiro valor:"); 
 scanf("%d", &n1); 
 printf("Digite o segundo valor:"); 
 scanf("%d", &n2); 
 resultado = multiplica(n1, n2); 
 printf("Resultado = %d\n", resultado); 
 system("pause"); 
 return 0; 
} 
 
Funções 
 Em C, é possível criar funções que não retornam 
nenhum valor (funções void). 
 Normalmente, isto é feito quando queremos executar 
um bloco de comandos, mas estes comandos não 
precisam retornar nada. 
 
 
 
 
#include <stdio.h> 
 
void soma(float a, int b){ 
 float result; 
 result = a + b; 
 printf("A soma de %6.3f com %d = %6.3f\n", a,b, result); 
} 
 
int main(){ 
 int a; 
 float b; 
 a = 10; 
 b = 12.3; 
 soma(b, a); 
 system("pause"); 
 return 0; 
} 
Funções 
Por escopo de uma variável entende-se o bloco de 
código onde esta variável é válida. Com base nisto, 
temos as seguintes afirmações: 
• As variáveis valem no bloco que são definidas; 
• as variáveis definidas dentro de uma função recebem o 
nome de variáveis locais; 
• os parâmetros formais de uma função valem também 
somente dentro da função; 
 
 
 
#include<stdio.h> 
void FUNC1(){ 
 int B; 
 B = -100; 
 printf("Valor de B dentro da função FUNC1: %d\n", B); 
} 
void FUNC2(){ 
 int B; 
 B = -200; 
 printf("Valor de B dentro da função FUNC2: %d\n", B); 
} 
int main(){ 
 int B; 
 B = 10; 
 printf("Valor de B: %d\n", B); 
 B = 20; 
 FUNC1(); 
 printf("Valor de B: %d\n", B); 
 B = 30; 
 FUNC2(); 
 printf("Valor de B: %d\n", B); 
 system("pause"); 
 return 0; 
} 
Funções 
 A passagem de parâmetros apresentada a até aqui é 
chamada de passagem por valor. 
 No exemplo a seguir a variável f, passada por 
parâmetro para a função Zera não será alterado dentro 
da função. 
 
 
 
#include <stdio.h> 
 
void zera(float a){ 
 a = 0; 
} 
 
int main(){ 
 float f; 
 f = 20.7; 
 zera(f); 
 printf("%.3f \n", f); 
 system("pause"); 
 return 0; 
} 
Funções 
Para permitir a alteração da variável usada como 
parâmetro é preciso passar o endereço da variável, 
caracterizando desta forma uma passagem por 
referência. 
 
 
Funções 
Para passar o endereço de uma variável para uma 
função, deve-se tomar as seguintes providências: 
• na chamada da função deve-se usar o operador & antes do 
nome da variável; 
• no cabeçalho da função, declarar o parâmetro como um 
ponteiro; 
• dentro da função, deve-se usar o operado de 
derreferência * para alterar o conteúdo da variável. 
 
 
#include <stdio.h> 
void zera(float *a){ 
 *a = 0; 
} 
 
int main(){ 
 float f; 
 f = 20.7; 
 zera(&f); 
 printf("%d \n", f); 
 system("pause"); 
 return 0; 
} 
EXERCÍCIOS 
1 - Crie uma função que verifique se um determinado 
número é par. Retorne um valor 1 para numero par e 0 
para número impar. 
2 - Escreva uma função que receba por parâmetro um 
número inteiro e retorne o fatorial desse número. 
EXERCÍCIOS 
3 - Faça uma função sem retorno (função void) que 
recebe a idade de um nadador por parâmetro e escreva a 
categoria desse nadador de acordo com a tabela abaixo: 
 
Idade Categoria 
5 a 7 anos Infantil A 
8 a 10 anos Infantil B 
11-13 anos Juvenil A 
14-17 anos Juvenil B 
Maiores de 18 anos (inclusive) Adulto

Continue navegando