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

Documentos relacionados
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

11 - Estrutura de um programa em C

Encapsulamento de Código: Funções e Procedimentos

Apontadores/ponteiros

Conceito de procedimentos e funções

Módulo 3 Controle de Fluxo

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

Subprogramas. Prof. Carlos Lopes

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

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

Ocorrem em três tipos:

Linguagem de Programação C. Funções e Procedimentos

Índice. Índice... 0 Passagem de parâmetros... 3 Procedures... 5 Funções... 5

Introdução à Programação C

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

Linguagens de Programação I

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 7 Arrays. Arrays

Introdução à Programação em C Input / Output

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

Material sobre Funções AEDS 1

Linguagem C. André Tavares da Silva.

CCO 016 / COM 110 Fundamentos de Programação

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

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

Comando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Introdução à Programação em C

ESTRUTURA DE DADOS (TCC )

Algoritmos e Estruturas de Dados I (DCC/003) Funções

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

Algoritmos RESUMO - LINGUAGEM C

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

Estrutura do programa

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

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

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

MAC2166 Introdução à Computação para Engenharia Escola Politécnica Segunda Prova 19 de maio de 2008

UNIVERSIDADE DA BEIRA INTERIOR

Cap. 3 Entrada e Saída e Controle de Fluxo

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

Ponteiros e Tabelas. K&R: Capítulo 5

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

ponteiros INF Programação I Prof. Roberto Azevedo

Algoritmos e Programação

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

Introdução a Programação de Jogos

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

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

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

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

Modularidade - Funções e Procedimentos

Algoritmos e Programação

Linguagem C estruturas de repetição

Programação de Computadores II

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

Conhecendo a Linguagem de Programação C

Ponteiros. Baseado nos slides do Prof. Mauro.

Introdução a Computação

MESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

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

LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Dividir para Conquistar. Material da Prof. Ana Eliza

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

Computação Informática

Programação: Vetores

Introdução à Programação em C

21 Variáveis estruturadas

13 Operadores relacionais

Programação de Computadores II. Cap. 5 Vetores

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

char *strchr (const char *str, int ch);

scanf () Funções de Entrada e Saída Formatada leitura de dados; formato geral: scanf (string_de_controle,lista_de_argumentos);

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

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

Introdução à Linguagem C. Adaptado de Deise Saccol

controle de fluxo - condicionais

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

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

Programação Básica. Estrutura de um algoritmo

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Estrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses

Introdução à Programação I

Métodos Computacionais em Física

LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

LINGUAGEM C Estrutura / Funções

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

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores:

Explicação do programa:

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 09 Estruturas

Controlo de Execução. K&R: Capitulo 3

Transcrição:

26 - Subprogramas Executar um programa é pedir ao sistema operativo (que é o programa principal de um computador) que passe o comando do computador para o nosso programa.

... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso programa funciona com um subprograma do sistema operativo.

... Subprogramas Os programas também podem utilizar subprogramas, como exemplo disso temos o scanf, o printf e as funções matemáticas sqrt, sin, cos, etc... que recebem o comando do (nosso) programa fazem as suas tarefas e depois devolvem o comando.

... Subprogramas Os exemplos anteriores já estão prontos, mas é possível desenvolver (codificar) subprogramas dentro dos programas. Os subprogramas podem ser do 2 tipos: - procedimentos - funções

27 - Procedimentos Os procedimentos executam tarefas como ler, calcular, escrever e funcionam com se fossem uma instrução, ou seja são chamados pela escrita do nome.

Exemplo: Programa que desenha um quadrado com lado e caracter escolhidos pelo utilizador.

#include <stdio.h> main ( ) { char a; int i, j, n; printf( Pf o caracter\n ); scanf( %c,&a); printf( Pf o lado\n ); scanf( %d,&n); for ( i = 1; i <= n; i = i +1) { for ( j = 1; j <= n; j = j +1) printf( %c,a); printf( \n ); } }

Implementando um procedimento para escrever o quadrado seria:

#include <stdio.h> void desenho(char c, int x) {int i, j; for ( i = 1; i <= x; i = i +1) { for ( j = 1; j <= x; j = j +1) printf( %c,c); printf( \n ); } return; } main ( ) { char a; int n; printf( Pf o caracter\n ); scanf( %c,&a); printf( Pf o lado\n ); scanf( %d,&n); desenho(a,n); }

27 - Funções As funções são valores a serem calculados, possuem um tipo ( int, float ou char) e funcionam com se fossem uma variável. São chamados pela utilização em : - uma instrução de atribuição -um printf - uma comparação.

... Funções Por exemplo, se tivermos um função que soma dois valores e de nome soma poderíamos utilizá-la com:... x = soma(a,b);... printf ( A soma é %d\n, soma(a,b));... if (soma(a,b) >0)...

Exemplo: Programa que calcula o factorial de um número.

#include <stdio.h> main ( ) {int i, n, f; printf( Pf o número\n ); scanf( %d,&n); f = 1; for ( i = 1; i <= n; i = i +1) f = f * i; print( O factorial é %d\n,f); }

Implementando com uma função para o cálculo do factorial seria:

#include <stdio.h> int fact(int p) { int i,resultado; resultado = 1; for ( i = 1; i <= p; i = i +1) resultado = resultado * i; return resultado; } main ( ) {int n, f; printf( Pf o número\n ); scanf( %d,&n); f = fact(n); print( O factorial é %d\n,f); }

28 O retorno O retorno (devolução) do comando de um subprograma é feito através da instrução return. - nos procedimentos é apenas um fim: return; - nas funções no fim é devolvido ( atribuido ) um valor para a função ( como uma variável recebendo um valor): return valor;

... O retorno - no procedimento: void desenho(char c, int x) {int i, j; for ( i = 1; i <= x; i = i +1) { for ( j = 1; j <= x; j = j +1) printf( %c,c); printf( \n ); } return; } é apenas um fim.

... O retorno - na função: int fact(int p) { int i,resultado; resultado = 1; for ( i = 1; i <= p; i = i +1) resultado = resultado * i; return resultado; } no fim o valor de resultado é atribuído a fact.

29 Parâmetros A passagem de valores para um subprograma (procedimento ou função ) é feito através de parâmetros, no subprograma aparecem com a declaração do tipo e nome, sempre com um tipo para cada parâmetro ou seja, é errado: int soma(int a, b) deve ser: int soma(int a, int b)

... Parâmetros Para chamarmos um subprograma devemos utilizar o número exacto de parâmetros e a posição correcta, os parâmetros são posicionais.

... Parâmetros -em: void desenho(char c, int x)... temos que, se um programa quer chamar este procedimento deve ser com 2 parâmetros (não 1 nem 3) e que o primeiro deve ser um caracter e o segundo um inteiro.

- assim para: void desenho(char c, int x) (caracter,inteiro)... main ( ) int a,b; char c,d;... está errado: desenho(a,b); (inteiro,inteiro) desenho(a,c); (inteiro,caracter) desenho(a); (inteiro)

- para: void desenho(char c, int x) (caracter,inteiro)... main ( ) int a,b; char c,d;... estaria correcto: desenho(c,b); (caracter,inteiro) desenho( *,4); (caracter,inteiro) desenho(d,9-2); (caracter,inteiro)

Formato: Procedimento void nome(tipo par1, tipo par2,...) {...... return; }

Formato: Função tipo nome(tipo par1, tipo par2,...) {...... return valor; }

Formato: O formato de um subprograma é similar ao do programa, tem uma linha com tipo nome(parâmetros), que equivale ao main ( ) e um bloco com declarações de variáveis e as instruções.

Funcionamento: O programa executa as instruções uma a uma a partir da primeira, ao encontrar um subprograma passa o comando. O subprograma executa suas instruções (como um programa), ao terminar devolve o comando para o programa, que continua na instrução seguinte de onde havia parado.

Exemplo: Programa que soma dois valores, onde a soma é implementada por uma função e a escrita do resultado por um procedimento.

#include <stdio.h> void escrever(int z) { printf( A soma é %d\n,z); return; } int soma(int m, int n) { int total; total = m + n; return total; } main ( ) { int a,b,s; printf( Pf o 1º número\n ); scanf( %d,&a); printf( Pf o 2º número\n ); scanf( %d,&b); s = soma(a,b); escrever(s); }