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

Documentos relacionados
Dividir para Conquistar. Material da Prof. Ana Eliza

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

Introdução à Programação

Aula 08: Funções (Parte II)

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

Computação eletrônica: Funções

INF 1620 P1-13/09/02 Questão 1 Nome:

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

Subprogramas. Prof. Carlos Lopes

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

INF1005: PROGRAMAÇÃO I. Capítulo 12. Ivan Mathias Filho Funções Matemáticas

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

Aula 07: Introdução a Funções

Algoritmos e Programação

Introdução à Programação I

Programação : Engenharia Informática 6619 : Tecnologias e Sistemas de Informação. Cap. 6 Subprogramas I Subprogramas I

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 05 Subprogramas I

Capítulo 4: Programando com Funções. Pontifícia Universidade Católica Departamento de Informática

Apontadores/ponteiros

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

Capítulo 3: Programando com Funções

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

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

ALGORITMOS I. Procedimentos e Funções

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

Parte I. Introdução à Ciência da Computação I Modularização de Programas. SSC ICC1 Teórica

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

Modularidade - Fun ções e Procedimentos

Fundamentos de Programação

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

INF 1005 Programação I

Programação de Computadores II. Cap. 4 Funções

Algoritmos e Programação

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

Linguagem C. André Tavares da Silva.

Puca Huachi Vaz Penna / José Américo T. Messias

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr

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

Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO

Introdução a Programação de Jogos

Funções. Prof. Fabrício Olivetti de França

Aula 15: Introdução a Funções

Introdução à Programação C

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

Linguagem C estruturas de repetição

CCO 016 / COM 110 Fundamentos de Programação

Módulo 3 Controle de Fluxo

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

Funções em C. Funções em C. Funções em C. Prof. Yandre Maldonado e Gomes da Costa

3. Linguagem de Programação C

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

Função. Unidade autônoma do programa desenvolvida para executar alguma atividade. A estrutura de uma função C é semelhante à da função main( )

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

Explicação do programa:

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

Arranjos. David Déharbe

Introdução à Programação em C

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

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza

O que é a modularização

LP II Estrutura de Dados

Revisão para Prova 2. Mirella M. Moro

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

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU

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

Linguagem C. Funções. Prof. Maurício Dias

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

Linguagem de Programação

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.

Introdução à Ciência da Computação. Sumário. Modularização de Algoritmos. Agradecimentos. Modularização de Algoritmos e Funções em C

Aula 05. Modularização Função Subrotina Recursividade

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.