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

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

Modularidade - Funções e Procedimentos

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

Subprogramas. Prof. Carlos Lopes

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

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

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

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

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

Linguagem C. Programação Estruturada. Estrutura de Dados Heterogêneos. Prof. Luis Nícolas de Amorim Trigo

Programação I Funções. Prof. Carlos Alberto

Modularidade - Fun ções e Procedimentos

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

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.

Controle de Fluxo Utilizando C

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

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

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

Algoritmos e Programação

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

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

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Módulo 3 Controle de Fluxo

Fundamentos de Programação 1

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

Introdução à Programação

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

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Introdução à Programação

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

Linguagem de Programação

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

Algoritmos e Programação

ALGORITMOS I. Procedimentos e Funções

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Fundamentos de Programação1

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

ESTRUTURA DE DADOS (TCC )

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

Algoritmos e Programação

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

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

Modulo 3: Else, Case, For...

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

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

Linguagem C estruturas de repetição

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

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

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Funções em Linguagem C Parte II

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

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória

Linguagem C: Introdução

Linguagem C. André Tavares da Silva.

1) Operadores de auto incremento ++ e auto decremento --

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU

Linguagens de Programação I

Linguagem C (estruturas condicionais)

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

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

Introdução à Programação I

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

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

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

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

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

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

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

Estrutura do programa

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido

MESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná

Introdução à Programação. Funções e Escopo de Variáveis

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

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

Variáveis Compostas Homogêneas Vetores

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

Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas

Comandos de decisão. Tiago Alves de Oliveira. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py e Deise Sacol

ECT1203 Linguagem de Programação

Algoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Aula 03 - Linguagem C

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

Introdução a Programação de Jogos

Linguagem C (repetição)

Programação de Computadores II

Aula 2 Comandos de Decisão

Programação Estruturada

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

Aula 15 - Aula sobre Funções e Procedimentos

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

Explicação do programa:

Sub-rotinas David Déharbe

Técnicas de Programação: Comandos de Controle de DEE UFPB

Transcrição:

Programação Estruturada Linguagem C Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Por que usar funções? Escopo de Variáveis Declarando uma função Comando return() Como usar return()? Função tipo void Funções prontas Função chamando outra Tipos de Funções Funções sem passagem de parâmetros. Funções com passagem de parâmetros. Exercício 2 1

Introdução Modularização / Função Divisão de um problema em partes. Um problema em problemas menores. Em C, todas as ações de um programa ocorrem dentro de funções. 3 Introdução O main() é a função principal de um programa feito na linguagem C e sempre será a primeira função a ser executada. O main() é o ponto de partida. 4 2

Introdução Uma função é um conjunto de comandos agrupados em um bloco que recebe um nome e pode ser chamado várias vezes em sua execução. Basicamente, uma função recebe informações, processa-as e retorna outra informação. 5 Por que usar funções? Evitar que um trecho de código seja repetido várias vezes em um mesmo programa. Poder reaproveitar o código já construído. Tornar mais rápida a alteração de um trecho de código (com função, alteração só na função). Deixar blocos de programa pequenos. Facilitar a leitura do código. 6 3

Escopo de Variáveis Uma variável pode ser declarada em três locais de um programa: Dentro de uma função, inclusive main(). Fora de qualquer função. Como parâmetros formais. 7 Escopo de Variáveis Dentro de uma função Variáveis Locais Estão disponíveis somente na função em que foram criadas. Não são acessadas em outras funções. Quando a execução sai da função, estas variáveis são eliminadas. Se uma variável local for criada com o mesmo nome de uma variável global, a variável local será usada e não a global. 8 4

Escopo de Variáveis Fora da função Variáveis Globais Sempre que uma variável for declarada FORA de uma função, inclusive a função main(), é dita como variável global. Este tipo de variável é alocada na memória e apenas quando o programa é encerrado que esta variável é liberada da memória. Evite usar variáveis globais, pois tem os seguintes problemas: Ocupam memória o tempo todo (as locais ocupam só quando usadas) Mais difícil de ser entendido e mais complicado de ser modificado, pois pode ocasionar mudança de valores de outras variáveis 9 Escopo de Variáveis Variáveis ou Parâmetros Formais Declaradas na lista de parâmetros de uma função. Recebem valores passados para as funções no momento em que as funções são chamadas. 10 5

Declarando uma função Uma função é manipulada com a função main(): Declara variáveis Usa estruturas condicionais, de repetição, etc. Com uma função pode fazer o mesmo com o que tem na função main(), inclusive chamar outra função. 11 Declarando uma função Sintaxe tipo nome_func(tipo param1,..., tipo paramn){ //corpo da função return(valor_retorno); tipo Tipo de dado do valor que a função irá retornar (int, float, char, etc). nome_func Nome da função. param... Variável ou lista de variáveis que recebem os valores quando a função é chamada. return (valor_retorno) Comando que realiza o retorno de um valor para a função chamadora. 12 6

Comando return() Usado para realizar o retorno da função. Interrompe a execução da função e indica o valor de retorno da mesma, devolvendo o controle para a chamadora. O valor retornado pelo return() deve ser do mesmo tipo da função, que é definido no momento de sua declaração. 13 Como usar return()? return; Não retorna nada para a função chamadora. return(3); Sempre retorna o valor três. return(x); Retorna o valor contido na variável x. return(a+b); Retorna o resultado da expressão. Exemplo: int total(int n1, int n2){ return(n1+n2); int total(int n1, int n2){ int soma; soma = n1+n2; return(soma); 14 7

Função tipo void Uma função pode possuir o tipo void. Função do tipo void não retorna valor nenhum, apenas será executada a partir de sua chamada por meio de outra função. Exemplo: void imprimir(float num){ printf( %.2f,num); 15 Funções prontas Não precisa conhecer o código interno de uma função...... apenas o nome (com a sua funcionalidade)...... com quais tipos de parâmetros de entrada ela trabalha...... e qual tipo de resultado a função irá retornar/gerar! 16 8

Função chamando outra Apesar de que o main() ser uma função e ela pode chamar outra... Uma função X pode chamar uma função Y. Semelhante a variáveis, as funções, para serem usadas, primeiro devem ser declaradas. 17 Função chamando outra Exemplo #include <stdio.h> #include <stdlib.h> void imprimir(float num){ printf("%.2f\n",num); void media(float n1, float n2){ float m; m = (n1+n2)/2; imprimir(m); int main(){ float num1,num2; printf("digite a n1: "); scanf("%f",&num1); printf("digite a n2: "); scanf("%f",&num2); media(num1,num2); system("pause"); 18 9

Tipos de Funções Serão trabalhados dois tipos de função: Funções sem passagem de parâmetros. Funções com passagem de parâmetros. 19 Funções sem passagem de parâmetros Neste caso, a função será chamada, mas não irá passar nenhum valor, por isso, não será declarado nenhum parâmetro na declaração da função. Exemplo: tipo nome_func(){... 20 10

Funções sem passagem de parâmetros #include <stdio.h> #include <stdlib.h> void msg_erro(){ printf( Sexo inválido! ); int main(){ char sexo; printf( Sexo (M/F): ); scanf( %c,&sexo); // Continua switch(sexo){ case M : printf( Masculino ); break; case F : printf( Feminino ); break; default: msg_erro(); break; system( pause ); 21 Funções com passagem de parâmetros Neste caso, serão trabalhados dois conceitos: Argumentos Valores ou variáveis definidos na chamada da função. Através destes que se passam os valores. Parâmetros Variáveis declaradas na função chamada que irão receber os valores passados pelos argumentos. O tipo de dado de um argumento deve ser compatível com o tipo de dado de um parâmetro que irá receber o conteúdo desse argumento. 22 11

Funções com passagem de parâmetros... int funcao(int x, int y){ // x e y são parâmetros...... int main(){... funcao(a, b); // a e b são argumentos.... 23 Exercício cio 1. Escrever uma algoritmo com uma função min(a,b) que retorna o menor valor entre dois números inteiros. 2. Criar um programa, utilizando uma função, que receba um número que corresponde a um mês do ano e escreva o mês correspondente. Caso o usuário digite o número fora do intervalo, deverá aparecer inválido. 3. Escrever um algoritmo com uma função que receba um número inteiro que representa um intervalo de tempo medido em minutos e devolva o correspondente número de horas e minutos (por exemplo, converter 131 minutos em 2 horas e 11 minutos). Usar uma struct como a seguinte: struct hm{ int horas; int minutos; 24 12

Exercício cio 4. Criar uma estrutura que contenha as informações sobre um CD de música, sendo as informações: Nome da banda, ano do lançamento do CD, valor do CD. Essas informações deverão ser registradas através de uma função. Em seguida mostre a seguinte saída: nome (ano) R$ valor 25 13