0% acharam este documento útil (0 voto)
56 visualizações17 páginas

Aula08 - Subrotinas

O documento aborda o conceito de subrotinas, que são trechos de código que executam tarefas específicas e podem ser reutilizados em um programa. Ele descreve a importância das subrotinas na modularização do código, facilitando a legibilidade e a estruturação da programação. Além disso, diferencia entre procedimentos, que não retornam valores, e funções, que retornam resultados, e apresenta exemplos e exercícios práticos.

Enviado por

gabz
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
56 visualizações17 páginas

Aula08 - Subrotinas

O documento aborda o conceito de subrotinas, que são trechos de código que executam tarefas específicas e podem ser reutilizados em um programa. Ele descreve a importância das subrotinas na modularização do código, facilitando a legibilidade e a estruturação da programação. Além disso, diferencia entre procedimentos, que não retornam valores, e funções, que retornam resultados, e apresenta exemplos e exercícios práticos.

Enviado por

gabz
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Subrotinas (Funções e Procedimentos)

Professores(as):
Virgínia Fernandes Mota
João Eduardo Montandon de Araujo Filho
Leandro Maia Silva

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Subrotinas

Um conceito simples: Subrotina é um parcela de código


computacional que executa uma tarefa bem denida, sendo
que essa tarefa pode ser executada (chamada) diversas vezes
num mesmo programa.
Motivação:
Necessidade de dividir um problema computacional em
pequenas partes.
Os programadores vericaram que muitas destas pequenas
partes se repetiam.
Ex: Impressão de mensagens, diversos tipos de cálculos, etc.

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Utilização de subrotinas

Utilização de subrotinas:
Utilizar uma parte do código em várias partes do programa;
Vários programas irão utilizar os mesmos códigos (bibliotecas);
Abstrair a complexidade e facilitar o entendimento do
programa.

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Utilização de subrotinas

Facilita a programação estruturada


dada as fases previstas nos renamentos sucessivos
decompõe-se o programa em módulos funcionais
tais módulos podem ser organizados/programados como
subrotinas
ou seja: viabiliza a modularização

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Características das subrotinas

Executam uma tarefa bem denida


Não funcionam sozinhas: devem ser chamadas por um
programa principal ou por outra subrotina
Permite a criação de variáveis próprias e a manipulação de
variáveis externas (devidamente parametrizadas)
Facilita a legibilidade do código através da:
estruturação (subrotinas são agrupadas fora do programa
principal)
enxugamento (através de diversas chamadas da mesma
subrotina)

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Tipos de subrotinas

Existem dois tipos de subrotinas:


Procedimentos: não retornam nenhum valor. São usadas para
realizar alguma operação que não gera dados.
Funções: retornam valor. São utilizadas para realizar uma
operação e retornam alguma resposta relativa à operação
realizada.

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Procedimentos

1 v o i d n o m e d o p r o c e d i m e n t o ( l i s t a de p a r a m e t r o s ) {
2 d e c l a r a c a o de v a r i a v e i s ;
3 comandos ;
4 }

nomedoprocedimento: Identica a ação a ser executada no


procedimento (SEM ESPAÇOS EM BRANCO!) Ex:
imprimeMedia
lista de parâmetros: Variáveis que terão seus valores
preenchidos com os valores passados como argumentos. Ex:
(int A, int B)
declaração de variáveis: Variáveis necessárias para a
codicação do procedimento, além das passadas na lista de
parâmetros.
comandos: comandos que implementam o procedimento
desejado.
V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)
Procedimentos

1 #i n c l u d e < s t d i o . h>
2 #d e f i n e SUCESSO 0
3
4 v o i d i m p r i m e M a i o r ( i n t X , i n t Y) {
5 i f (X > Y) {
6 p r i n t f ( "%d" , X) ;
7 } else {
8 p r i n t f ( "%d" , Y) ;
9 }
10 }
11
12 i n t main ( i n t a r g c , c h a r ∗∗ a r g v ) {
13 i n t X, Y;
14 s c a n f ( "%d %d" , &X , &Y) ;
15 i m p r i m e M a i o r (X , Y) ;
16 r e t u r n SUCESSO ;
17 }

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Variáveis locais

Toda variável pertencente ao procedimento é chamada de


variável local, pois ela só pode ser utilizada dentro do escopo
do procedimento.
Fazem parte das variáveis locais de um procedimento:
as variáveis declaradas no procedimento;
todos os parâmetros do procedimento.

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Parâmetros de uma subrotina

Chamada por valor: é passado uma cópia da variável para a


subrotina, ou seja, é feito uma cópia do argumento para o
parâmetro. Qualquer alteração feita no parâmetro não reete
em alteração no argumento.

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Funções

é um tipo especial de procedimento.


Retorna como resultado o valor calculado pela função, que
deve ser do tipo básico denido.
1 t i p o nomedafuncao ( l i s t a de p a r a m e t r o s ) {
2 d e c l a r a c a o de v a r i a v e i s ;
3 comandos ;
4 return valordoretorno ;
5 }

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Funções

1 t i p o nomedafuncao ( l i s t a de p a r a m e t r o s ) {
2 d e c l a r a c a o de v a r i a v e i s ;
3 comandos ;
4 return valordoretorno ;
5 }

tipo: tipo do dado a ser retornado como resultado da execução da


função.
nomedafuncao: nome que identique a ação a ser executada na
função.
lista de parâmetros: variáveis para os valores recebidos como
argumentos.
declaração de variáveis e comandos: variáveis locais e sequência
de comandos
return valordoretorno: a função permite retornar um valor,
resultado das ações nela programadas. Este valor deve ser do tipo
declarado antes do nome da função.
V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)
Funções

1 #i n c l u d e < s t d i o . h>
2 #d e f i n e SUCESSO 0
3
4 i n t soma ( i n t X , i n t Y) {
5 r e t u r n (X + Y) ;
6 }
7
8 i n t main ( i n t a r g c , c h a r ∗∗ a r g v ) {
9 i n t A, B, C;
10 s c a n f ( "%d %d" , &A , &B) ;
11 C = soma (A , B) ;
12 p r i n t f ( "%d" , C) ;
13 r e t u r n SUCESSO ;
14 }

int main(int argc, char ** argv)


Seria o método int main(int argc, char ** argv) uma
função do C? O que ela signica exatamente??

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Exemplos

O que será impresso no programa abaixo?


1 #i n c l u d e < s t d i o . h>
2 #d e f i n e SUCESSO 0
3
4 void calculo ( int p , int q) {
5 p = p ∗ 10;
6 q = q + 10;
7 }
8
9 i n t main ( i n t a r g c , c h a r ∗∗ a r g v ) {
10 int x = 2 , y = 5;
11 calculo (x , y) ;
12 p r i n t f ( "%d %d" , x , y ) ;
13 r e t u r n SUCESSO ;
14 }

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Exemplos

O que será impresso no programa abaixo?


1 #i n c l u d e < s t d i o . h>
2 #d e f i n e SUCESSO 0
3
4 int calculo ( int p , int q) {
5 p = p ∗ 10;
6 q = q + 10;
7 return (p + q) ;
8 }
9
10 i n t main ( i n t a r g c , c h a r ∗∗ a r g v ) {
11 int x = 2 , y = 5;
12 p r i n t f ( "%d %d %d" , x , y , c a l c u l o ( x , y ) ) ;
13 r e t u r n SUCESSO ;
14 }

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Exercícios I

1 Faça um programa que apresente o seguinte menu para o


usuário:
Escolha uma opção de cálculo para dois números:
1 Soma
2 Produto
3 Quociente
4 Sair
Opção:
O menu acima deve ser apresentado para o usuário enquanto ele
não escolher a opção 4 (sair do programa). O usuário fornecerá 2
números se escolher as opções de cálculo 1, 2 ou 3. Para cada
opção de cálculo deve existir (obrigatoriamente) uma função
denida (soma, produto e quociente dos dois números fornecidos
pelo usuário). O resultado do cálculo deve ser escrito na tela.

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)


Exercícios II

2 Faça uma função que receba a idade de uma pessoa em anos,


meses e dias e retorna essa idade expressa em dias.
3 Faça um procedimento que receba por parâmetro o tempo de
duração de um experimento expresso em segundos e imprima
na tela esse mesmo tempo em horas, minutos e segundos.
4 Implemente uma função que receba um número inteiro como
entrada e verique se esse número é primo ou não. Um
número é primo quando este possui apenas dois divisores (1 e
ele mesmo).
5 Faça uma função que receba um valor N inteiro e positivo e
que calcula o fatorial deste valor. Retorne o resultado.

V.F.M., J.E.M.A.F., Leandro Maia Silva Subrotinas (Funções e Procedimentos)

Você também pode gostar