ALGORITMOS I. Procedimentos e Funções

Documentos relacionados
ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO;

Computação 2. Diego Addan Aula 3. Funções

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Linguagem C ESTRUTURA DE CONTROLE

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Algoritmos e Programação

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

CONTROLE DE FLUXO DE EXECUÇÃO

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

Explicação do programa:

Prof. Jorge Cavalcanti

Modularidade - Funções e Procedimentos

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

Aula 11: Modularização

algoritmo "exercício 28" var opcao, n1, n2: inteiro funcao seleciona_opcao():inteiro var o:caractere inicio repita escreva ("Efetue uma multiplicação

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

Lógica de Programação I

PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick

Estruturas de dados homogêneas

Lógica de Programação I

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Fig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet

Estruturas de Repetição

Modularidade - Fun ções e Procedimentos

Recursividade Alguns problemas são definidos com base nos mesmos, ou seja, podem ser descritos por instâncias do próprio problema.

Linguagem C Estruturas de Repetição

Lógica de Programação I

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO. Prof. Esp. Fabiano Taguchi

Fundamentos de Programação 1

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

Modulo 4: while do while (limites de variáveis)

Noções de algoritmos - Aula 1

ESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

ALGORITMOS AULA 2. Profª Amanda Gondim

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

Algoritmos e Programação. AULA 21: Recursividade UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CIÊNCIA DA COMPUTAÇÃO

12 - Dados Estruturados Vetores, Matrizes e Strings

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Universidade Federal do ABC Programação Estruturada Fabrício Olivetti França Lista de Exercícios 02

Linguagem C Funções. André Tavares da Silva.

Linguagem C. Programação Estruturada. Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

2ª Licenciatura AED1 e PC1 Prof. Eduardo 1 1 MODULARIZAÇÃO

Algoritmos e Estruturas de Dados I Prof. Eduardo 1 1 MODULARIZAÇÃO

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Aula 15 - Aula sobre Funções e Procedimentos

Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Comando REPITA (repeat) Comando REPITA (repeat)

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325)

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

LÓGICA DE PROGRAMAÇÃO. Estrutura de Repetição Determinada e Indeterminada. Sérgio Carlos Portari Júnior

Introdução à Ciência da Computação

Aula 3: Algoritmos: Formalização e Construção

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

MC102 Algoritmos e Programação de Computadores

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Estruturas de Repetição

Aula 03 - Linguagem C

ESTRUTURAS COMPOSTAS

1. Escreva um programa que imprima a ordem reversa de caracteres de uma string digitada pelo usuário. Ex: Entrada: Hello World. Saída:.

Estruturas de Controle de Fluxo

INFORMÁTICA APLICADA AULA 06 ALGORITMOS

Transcrição:

Procedimentos e Funções Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1

MÓDULOS São blocos de instruções que realizam tarefas específicas. Carregado uma vez e pode ser executado quantas vezes for necessário. Podem ser usadas para economizar espaço e tempo de programação já que podem ser usadas várias vezes num mesmo programa. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 2

MÓDULOS Cada módulo, além de ter acesso às variáveis do programa que o chamou (são as variáveis globais), pode ter suas próprias variáveis (são as variáveis locais), que existem apenas durante sua chamada. Ao se chamar um módulo, também é possível passar-lhe determinadas informações que recebem o nome de parâmetros. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 3

MÓDULOS Vantagens Dividir e estruturar um algoritmo em partes logicamente coerentes; Facilidade de testar os trechos em separado; Evitar repetição do código-fonte; Maior legibilidade de um algoritmo. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 4

Tipos de subprogramas: ALGORITMOS I Procedimentos e Funções Procedimentos - são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento é chamado. Funções - tipo especial de procedimento onde depois de executada a chamada, o valor calculado é retornado no nome da função que passa a ser uma variável da expressão. Função Recursiva são aquelas que chamam a si próprias. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 5

Procedimentos e Funções Funções e procedimentos permitem modularizar algoritmos. As funções são chamados dentro do corpo do programa principal como se fossem comandos. Após seu término, a execução continua a partir do ponto onde foi chamado. Cada função, tem acesso às variáveis do programa que o chamou (são as variáveis globais), e tem acesso as suas próprias variáveis (são as variáveis locais), que existem apenas durante sua chamada. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 6

Funções Recursivas Uma função recursiva possui: Um passo básico (ou mais) cujo resultado é imediatamente conhecido. Um passo recursivo tenta resolver um subproblema do problema inicial. A execução de uma função recursiva consiste em resolver subproblemas sucessivamente mais simples até se atingir o caso mais simples de todos, cujo resultado é imediato. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 7

Procedimentos e Funções Variável global é vista pelo programa principal e por todos os módulos pertencentes a ele. Variável local é visível ao módulo em que ela foi declarada e aos módulos hierarquicamente inferiores. Ao se chamar um módulo, também é possível passar-lhe determinadas informações que recebem o nome de parâmetros. Parâmetros - são valores que, na linha de chamada, ficam entre os parênteses e que estão separados por vírgulas. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 8

Procedimentos e Funções Declaração de um procedimento: procedimento <nome-de-procedimento> [(<seqüência-de-declarações-de-parâmetros>)] var // Seção de Declarações Internas inicio // Seção de Comandos fimprocedimento Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 9

Exemplo: Procedimento 1. Retornar soma de dois números ALGORITMO SOMA DOIS NUMEROS PROCEDIMENTO soma ( a, b: INTEIRO) inicio result <- a + b FIM_PROCEDIMENTO Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 10

Exemplo: Procedimento 1. Retornar soma de dois números (CONT) // Programa principal var x,y, result : inteiro INICIO escreva ("entre com dois numeros: ") LEIA (x,y) soma(x,y) escreval ("Resultado", result) FIMALGORITMO Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 11

Exemplo: Procedimento Ling. C 1. Retornar soma de dois números ALGORITMO SOMA DOIS NUMEROS int result; // variável global PROCEDIMENTO soma ( a, b: INTEIRO) inicio LING. C #include <stdio.h> #include <stdlib.h> // Declaração do Procedimento int soma ( int a, int b ) { result <- a + b FIM_PROCEDIMENTO result = a + b; } // FIM_PROCEDIMENTO Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 12

// Programa principal var x,y, result : inteiro ALGORITMOS I Exemplo: Procedimento Ling C 1. Retornar soma de dois números (CONT) INICIO int main() { int x,y; escreva ("entre com dois numeros: ") LEIA (x,y) soma(x,y) escreval ("Resultado", result) printf("entre com dois numeros: "); scanf("%d %d", &x,&y); soma(x,y); printf( Resultado %d ", result); FIMALGORITMO system("pause"); } Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 13

Declaração de uma função: ALGORITMOS I Procedimentos e Funções funcao <nome-de-função> [(<seqüência-dedeclarações-de-parâmetros>)]: <tipo-de-dado> var // Seção de Declarações Internas inicio // Seção de Comandos fimfuncao Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 14

ALGORITMO (função) Exemplo: Função 1. Retornar soma de dois números Declaração da função funcao soma: inteiro var result: inteiro inicio result <- x + y retorne result fimfuncao Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 15

Exemplo: Função 1. Retornar soma de dois números (cont) ALGORITMO (prog. Princ) // Programa principal VAR x,y: INTEIRO INICIO ESCREVA ("entre com dois numeros: ") LEIA (x,y) ESCREVA ("Resultado", soma) FIMALGORITMO Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 16

Exemplo: Função Ling C 1. Retornar soma de dois números ALGORITMO (função) LING C #include <stdio.h> #include <stdlib.h> int result; // VARIÁVEL GLOBAL Declaração da função funcao soma: inteiro int soma (int a, int b) { var result: inteiro inicio int result; // INICIO result <- x + y result = a + b; retorne result return result; fimfuncao } // FIM DA FUNÇÃO SOMA Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 17

Exemplo: Função Ling C 1. Retornar soma de dois números (cont) ALGORITMO (prog. Princ) LING C // Programa principal int main() VAR x,y: INTEIRO INICIO ESCREVA ("entre com dois numeros: ") LEIA (x,y) ESCREVA ("Resultado", soma) FIMALGORITMO int x,y; // INICIO printf("entre com dois numeros: "); scanf("%d %d", &x,&y); printf("soma %d \n", soma(x,y)); system("pause"); } // FIMALGORITMO Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 18

Exercício de fixação Lista 1 Utilizando funções - Faça os algoritmos 1 - Escreva uma função para calcular se um dado inteiro é par ou ímpar. 2 - Escreva uma função para calcular o fatorial de um dado inteiro. 3 Escreva uma função que retorne o menor número de um vetor (números reais); 4 - Implemente uma calculadora (números reais) com suas funções básicas: soma, subtração, multiplicação e divisão. 5 Escreva uma função para calcular a distancia entre dois pontos (x1, y1) e (x2, y2). Obs.: os valores de x1, x2, y1 e y2 são inteiros, mas a saída é ponto-flutuante. Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 19

Exercício de fixação Lista 1 Utilizando funções - Faça os algoritmos 6 - Escreva uma função de potenciação, em que os dados de entrada são: base e expoente (inteiros). 7 - Escreva uma função recursiva para calcular o fatorial de um dado inteiro. 8 - O que faz a seguinte função recursiva? SE ( b = 0 ) entao a SENAO a <- a+1 b <- b-1 FIMSE Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 20