Você está na página 1de 12

INTRODUÇÃO À COMPUTAÇÃO

UNIDADE II - ALGORITMO

h. Funções e Procedimentos
Elementos de Competência

Analisar dados e informações para enfrentar


situações-problema, tomar decisões e executar
ações.
Objetivos

1. Definir funções e procedimentos. (CONCEITUAL)

2. Aplicar os conceitos de funções e procedimentos na


elaboração de algoritmos (modularização).
(CONCEITUAL e PROCEDIMENTAL)
Atitudes

Organização: capacidade de desenvolver atividades


de forma sistemática e eficiente.

Dedicação: agir, realizando espontaneamente, com


empenho e entusiamo, as atividades necessárias ao
cumprimento da missão.

Responsabilidade: capacidade de cumprir suas


atribuições assumindo e enfrentando as
consequências de suas atitudes e decisões.
Funções e Procedimentos


São sub-rotinas que executam tarefas específicas e podem
ser utilizadas dentro de um programa

São constituídas por porções do código que ficam, de certa
maneira, isolados do programa principal

Podem ser invocadas pelo programa principal sempre que for
necessária a execução das tarefas a que a função ou
procedimento se destina

Ao ser invocada (chamada) uma sub-rotina pelo programa
principal, pode ser necessário o fornecimento de
determinados argumentos para a sua execução
Funções e Procedimentos


As linguagens de programação, normalmente, possuem
funções e procedimentos pré-definidos

Diferença entre procedimento e função:

Uma função sempre retorna um valor, como resultado de
sua execução, ao programa que a invocou

Um procedimento não provê qualquer tipo de retorno

Algumas linguagens de programação tratam funções e
procedimentos como sub-rotinas diferentes, utilizando
palavras reservadas diferentes para definir cada tipo

Em Python, o que diferencia uma função de um
procedimento é o fato da primeira retornar um valor e a
segunda não retorna qualquer valor
Vantagens da Utilização de
Sub-rotinas

Permite a reutilização do código, o que possibilita:

Aumento da produtividade

Redução da quantidade de erros

Redução do tamanho dos programas

Maior facilidade de manutenção

Redução da complexidade dos programas: tarefas
complexas são decompostas em tarefas menores e com
menor grau de complexidade

Aumento da legibilidade do programa, principalmente se o
nome da sub-rotina oferece uma boa noção da tarefa que
ela executa
Procedimento ou Função
em Python

Construídos usando a cláusula “def”
Sintaxe:
def <nome da função> (parâmetro1, parâmetro2,…,parâmetron):
<instrução/bloco de instruções>

Os parâmetros da função ou procedimento são passados
pelos programas que os invocam na forma de
argumentos

As sub-rotinas que tornam-se demasiadamente
complexas podem ainda ser divididas em diversas outras
sub-rotinas mais simples. A esse processo dá-se o nome
de refinamento sucessivo
Definição de Funções


Uma função é uma unidade de código de programa autônoma
desenvolvida para cumprir uma determinada tarefa em
particular

Funções são sub-rotinas que podem ser referenciadas
(chamadas ou invocadas) em qualquer parte do programa
principal, por meio de seu nome, e que retornam um valor ao
programa que a invocou

Ao término da execução da função, o controle de
processamento retorna automaticamente para a primeira linha
de instrução após a linha que efetuou a chamada da sub-
rotina

Em Python, o retorno de uma função é especificado pela
cláusula return
Definição de Procedimentos


São sub-rotinas que executam instruções sem retorno de
qualquer valor ao programa que o invocou

É um bloco de programa contendo início e fim e será
identificado por um nome

É por meio do seu nome que o procedimento será
referenciado em qualquer parte do programa principal ou
do programa chamador da sub-rotina

Como nas funções, quando essa sub-rotina é chamada
por um programa, ela é executada e ao seu término o
controle de processamento retorna automaticamente para
a primeira linha de instrução após a linha que efetuou sua
chamada
Aplicação de Funções e
Procedimentos

Maneira simples de realizar a modularização de um
programa

A modularização:

consiste em dividir um problema grande e complexo
em problemas menores e mais simples

facilita o desenvolvimento, entendimento e
manutenção do programa

Permite que trechos de código menores e mais
simples, quando integrados, venham a possibilitar a
resolução do problema como um todo

Se baseia no princípio de “dividir para conquistar”
Benefícios da Modularização


Um módulo é um grupo de comandos ou instruções, que
constitui um trecho de algoritmo, com uma função bem
definida

Benefícios:

Redução da complexidade (maior simplicidade)

Melhor entendimento (maior legibilidade)

Maior manutenibilidade (facilidade de manutenção)

Aumento da possibilidade de reutilização, permitindo que
uma determinada sub-rotina de um programa seja
reaproveitada em outro programa

Maior facilidade de desenvolvimento, pois é mais fácil
pensar na solução de problemas menores e mais
simples

Você também pode gostar