Aula 07 Introdução à Programação Subprogramas

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

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

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

Modularidade - Funções e Procedimentos

MC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016

ponteiros INF Programação I Prof. Roberto Azevedo

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

Programação em Linguagem C

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

Linguagem C: funções e ponteiros. Prof. Críston Algoritmos e Programação

Algoritmos e Programação

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

ALGORITMOS I. Procedimentos e Funções

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

Modularidade - Fun ções e Procedimentos

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.

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

Linguagem C. André Tavares da Silva.

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );

Introdução a Programação de Jogos

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

Linguagem C estruturas de repetição

Linguagem de Programação I. Aula 10 Funções

Linguagem C (estruturas condicionais)

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Fundamentos de Programação 1

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

Disciplina de Algoritmos e Programação

Aula 06 Introdução à Programação Matrizes

Explicação do programa:

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica

Aula 15 - Aula sobre Funções e Procedimentos

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Introdução à Programação em C

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

LINGUAGEM C Estrutura / Funções

LP II Estrutura de Dados

Linguagem C. Funções

Estrutura do programa

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

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

Algoritmos e Programação

Introdução a Programação. Tipos Estruturados de Dados

Programação: Vetores

Introdução à Linguagem C Variáveis e Expressões

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Computação 2. Aula 2. Profª. Fabiany Vetores e Matrizes

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Disciplina de Algoritmos e Programaçã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.

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

Transcrição:

Aula 07 Introdução à Programação Subprogramas Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com

Roteiro SubProgramas Procedimentos Funções Exercícios Gustavo Callou DEINFO/UFRPE 2

Sistema complexo Gustavo Callou DEINFO/UFRPE 3

Simples Gustavo Callou DEINFO/UFRPE 4

Dividir para Conquistar Gustavo Callou DEINFO/UFRPE 5

Modularização Situação Problema Parte 1 Parte 2 Parte 3 Parte 4 Gustavo Callou DEINFO/UFRPE 6

Modularização Solução Problema Parte 1 Parte 2 Parte 2 Parte 3 Parte 4 Parte 3 Parte 4 Gustavo Callou DEINFO/UFRPE 7

Modularização::Subprograma Solução Programa Subprograma Parte 1 1 Subprograma 2 Parte 2 Parte 3 Parte 4 Subprograma 3 Subprograma 4 Gustavo Callou DEINFO/UFRPE 8

Modularização::Subprograma A solução do problema original é implementada através da composição dos subprogramas. Subprogramas podem ser vistos como blocos de construção com os quais montamos um programa. Esta técnica de construção de programas é chamada de MODULARIZAÇÃO. Gustavo Callou DEINFO/UFRPE 9

Modularização::Subprograma Um subprograma é um bloco de programa constituído por um conjunto de declarações e por um conjunto de comandos e identificado por um nome. Exemplo: Declarações de variáveis Comandos Gustavo Callou DEINFO/UFRPE 10

Modularização::Subprograma Tipos de Subprogramas Procedimentos Funções Gustavo Callou DEINFO/UFRPE 11

Modularização::Subprograma Tipos de Subprogramas Procedimentos Têm o objetivo de executar uma determinada tarefa para o programa. Funções Têm o objetivo de calcular um valor que deve ser informado pela função. Gustavo Callou DEINFO/UFRPE 12

Modularização::Subprograma Funções e Procedimentos Toda função ou procedimento deve ser, pelo menos, declarada antes da função principal main(). Declara a função/procedimento antes da main() e a implementa depois. Implementa a função/procedimento diretamente antes da main(). Gustavo Callou DEINFO/UFRPE 13

Modularização::Subprograma Funções e Procedimentos Exemplo: Procedimento que não recebe parâmetros e não retorna valor. #include <stdio.h> Assinatura ou void desenha(); protótipo do procedimento main() { printf( Usando procedimento."); desenha( ); } Implementacao do procedimento void desenha() { int i; for (i = 0; i <= 10; i++) printf("--\n"); } Gustavo Callou DEINFO/UFRPE 14

Modularização::Subprograma Chamada (Execução) de um Subprograma Uma referência a um nome de subprograma dentro de um programa provoca a execução do bloco de comandos do subprograma. Ao término da execução do subprograma, a execução do programa continua a partir do ponto onde este foi chamado. Gustavo Callou DEINFO/UFRPE 15

Modularização::Subprograma Fluxo de Controle Unidade de programa chamadora A unidade de programa chamadora ativa o sub-programa A unidade de programa chamadora continua Parte 1 Transferência de Controle para o subprograma O controle é retornado ao ambiente chamador Sub-programa Subprograma 2 O subprograma é executado Gustavo Callou DEINFO/UFRPE 16

Modularização::Subprograma Fluxo de Controle main() func1() func2() func1() Parte 1 Subprograma 2 func2() Subprograma 2 Gustavo Callou DEINFO/UFRPE 17

Procedimento Gustavo Callou DEINFO/UFRPE 18

Procedimento Sintaxe: Opcional void nome_procedimento(tipo parâmetro1,..., tipo parâmetro N) { } Corpo do procedimento; Gustavo Callou DEINFO/UFRPE 19

Procedimento Exemplo: Exibir na tela uma linha com 20 asteriscos. void linha(){ int i; for (i = 1; i <= 20; i++) printf( * ); printf( \n ); } Gustavo Callou DEINFO/UFRPE 20

Procedimento Exemplo de chamada a um procedimento void main(){ int i; linha(); /* escreve uma linha de asteriscos */ puts( Numeros entre 1 e 5 ); linha(); /* escreve outra linha de asteriscos */ } for(i = 1; i <= 5; i++) printf( %d\n, i); linha(); /* escreve outra linha de asteriscos */ Gustavo Callou DEINFO/UFRPE 21

Função Gustavo Callou DEINFO/UFRPE 22

Função Sintaxe: tipo_retorno nome_função (tipo parâmetro1,..., tipo parâmetron) { Corpo da função; return (valor_retorno); } Exemplo: Calcular o valor da soma de dois números reais. float soma(float a, float b) { float aux; aux = a + b; return aux; } Opcional Gustavo Callou DEINFO/UFRPE 23

Função float soma(float a, float b) { float aux; aux = a + b; return aux; } void main () { float x,y,z; printf( Digite X: ); scanf ( %f, &x); printf( Digite Y: ); scanf ( %f, &y); z = soma(x,y); printf( Soma: %f,z); } Chamada a uma função Gustavo Callou DEINFO/UFRPE 24

Exercício 1 Faça um programa para fazer conversão de temperaturas de graus Fahrenheit para graus Celsius e vice-versa. O programa deverá apresentar os seguintes subprogramas: a) Função para converter temperaturas em graus Fahrenheit para graus Celsius. Esta função receberá como parâmetro o valor da temperatura em graus Fahrenheit a ser convertido e deverá calcular e retornar para o programa o valor correspondente em graus Celsius. b) Função para converter temperaturas em graus Celsius para graus Fahrenheit. Esta função receberá como parâmetro o valor da temperatura em graus Celsius a ser convertido e deverá calcular e retornar o valor correspondente em graus Fahrenheit.

Exercício 2 Uma função para calcular X elevado a Y. Esta função deve receber como parâmetro dois números (X real e Y inteiro maior ou igual a zero) e deve calcular e retornar o valor de X Y.