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

Documentos relacionados
Linguagem C. Prof.ª Márcia Jani Cícero

ponteiros INF Programação I Prof. Roberto Azevedo

Linguagem C (estruturas condicionais)

Linguagem C (repetição)

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

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

1ª Lista de Exercícios

Legibilidade do código fonte

2º Roteiro de Laboratório Estruturas condicionais

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1

UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT PROFESSORA JANINE KNIESS DISCIPLINA- ICC CORREÇÃO DA LISTA 3

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

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

Linguagens de Programação I

Estruturas%de%seleção%

Aula 4. Comandos de Repetição. Prof. Filipe Mutz.

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

Capítulo 4: Condicionais

Estruturas de Repetição. for() while() do-while() break; continue;

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

Exercícios - Questões Objetivas

Comandos em C (cont.)

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

Linguagem C: Introdução

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

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

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

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

1 Exercícios com ponteiros

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Sub-rotinas. 2014/2 Programação Básica de Computadores (INF 09325) Freddy Brasileiro

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Introdução à Programação I

Solução para os exercícios

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Alocação Dinâmica em C

Variáveis, Tipos de Dados e Operadores

1 Resumo: Matrizes. 2.1 Como declarar uma matriz IME/USP. Departamento de Ciência da Computação

Lógica de Programação I

Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang. Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012

ESTRUTURAS DE CONTROLE

Programação: Vetores

Funções - Variáveis globais

Modularidade - Fun ções e Procedimentos

double pcompra[1000], pvenda[1000], codclient[1000]; //sempre que o usuário voltar ao menu principal ele poderá

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

Aula 06 Definição de Novos Tipos (structs, typedefs, e enumerações) Prof. Filipe Mutz

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

LEI 2016 LICENCIATURA EM ENGENHARIA INFORMÁTICA

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

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

Estruturas de Repetição

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

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

Vetores. e o programa deverá ler os valores separadamente:

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

Estruturas de Decisão. Adaptado de Deise Saccol

Material sobre Funções AEDS 1

Estrutura de Seleção Múltipla Switch

Introdução à Linguagem C

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

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010

Grupo A Exercícios Básicos. 1. Comente o resultado de cada um dos programas abaixo:

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012

LP II Estrutura de Dados

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Introdução à Computação (IC) Linguagem C: Comandos de entrada e saída

Introdução à Computação MAC0110

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Módulo 5 Vetores e Alocação Dinâmica

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Quarta Aula Prática - 17 de abril de 2013

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

NOME DO ALUNO: AVALIAÇÃO SIMULADA

17 - Funções e Procedimentos em C Programação Modular

Lista de Exercícios Revisão de Lógica. 01. Desenvolva um programa em C que receba três valores numéricos inteiros e mostre a soma desses três números.

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

Introdução à Programação

Estrutura básica de um programa Instruções do Programa Sintaxe das instruções Diretivas apenas o contexto Variáveis e Constantes Tipos e modificadores

PROGRAMAÇÃO FUNÇÕES NA LINGUAGEM C

Linguagem C: Ponteiros - Alocação Dinâmica

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros

11 - Estrutura de um programa em C

Linguagem de Programação

José Romildo Malaquias

Elementos de programação em C

Programação modular. Função

Disciplina de Algoritmos e Programação

Linguagem C. Funções

Introdução a Programação de Jogos

FURB Universidade Regional de Blumenau Depto de Sistemas e Computação Disc. Linguagens para Programação de Sistemas Prof. Mauro Marcelo Mattos

Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.

Algoritmos RESUMO - LINGUAGEM C

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

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

INF 1620 P1-11/04/03 Questão 1 Nome:

Programação. Folha Prática 5. Lab. 5. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

Transcrição:

Computação 2 Aula 3 Funções Diego Addan diegoaddan@gmail.com

Funções Função é um subprograma que auxilia o programa principal através da realização de uma determinada subtarefa. 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. É importante compreender que a chamada de uma função simplesmente gera um desvio provisório no fluxo de execução.

Funções Uma função, além de executar uma determinada tarefa pode retornar um valor para quem a chamou, que é o resultado da sua execução. Por este motivo, a chamada de uma função que retorna algum valor, aparece no corpo do programa principal como umaexpressão e não como um comando.

Funções Cada função, 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.

Funções Ao se chamar uma função, também é possível passar-lhe determinadas informações que recebem o nome de parâmetros (são valores que, na linha de chamada, ficam entre os parênteses e que estão separados por vírgulas). A quantidade dos parâmetros, sua seqüência e respectivos tipos não podem mudar: devem estar de acordo com o que foi especificado na sua correspondente declaração.

Funções Declaração de uma função em C: <tipo-de-dado> <nome-da-função> (<seqüência-de-declarações-deparâmetros>) //comandos Exemplo: //função principal do C int main () //comandos

#include <stdio.h> float lado,area = 0; int opcao; float lado1, lado2; Variáveis globais Variáveis locais printf ("Cálculo de áreas. \n"); printf ("0 - Área de um quadrado. \n"); printf ("1 - Área de um triângulo ret. \n"); printf ("Informe sua opção: \n"); scanf ("%d", &opcao); switch (opcao) case 0: printf ("Informe o valor do lado \n"); scanf ("%f", &lado); area = lado * lado; case 1: printf ("Informe o valor do primeiro lado \n"); area = (lado1 * lado2) / 2.0; default: printf ("Opcao inválida! \n"); printf ("O calculo da área é: %f \n", area);

Exemplo Variável Global #include <stdio.h> float area = 0; void area_quadrado(); void area_triang_ret(); int opcao; printf ("Cálculo de áreas. \n"); printf ("0 - Área de um quadrado. \n"); printf ("1 - Área de um triângulo ret. \n"); printf ("Informe sua opção: \n"); scanf ("%d", &opcao); switch (opcao) case 0: area_quadrado (); case 1: area_triang_ret (); default: printf ("Opcao inválida! \n"); printf ("O calculo da área é: %f \n", area); void area_quadrado () float lado = 0.0; printf ("Informe o valor do lado \n"); scanf ("%f", &lado); area = lado * lado; void area_triang_ret () float lado1 = 0.0; float lado2 = 0.0; printf ("Informe o valor do primeiro lado \n"); area = (lado1 * lado2) / 2.0;

Retorno de Funções - Variáveis locais #include <stdio.h> float area_quadrado(); float area_triang_ret(); int opcao; float area = 0; printf ("Cálculo de áreas. \n"); printf ("0 - Área de um quadrado. \n"); printf ("1 - Área de um triângulo ret. \n"); printf ("Informe sua opção: \n"); scanf ("%d", &opcao); switch(opcao) case 0: area = area_quadrado(); case 1: area = area_triang_ret(); default: printf("opcao inválida! \n"); printf("o cálculo da área é: %f \n", area); float area_quadrado() float lado = 0.0; float result = 0.0; printf ("Informe o valor do lado \n"); scanf ("%f", &lado); result = (lado * lado); return result; float area_triang_ret() float lado1 = 0.0; float lado2 = 0.0; float result = 0.0; printf ("Informe o valor do primeiro lado \n"); result = (lado1 * lado2) / 2; return result;

Funções com parâmetros por valor - 1. #include <stdio.h> float area_quadrado (float); float area_triang_ret (float, float); int opcao; float lado, lado1, lado2, area = 0; printf ("Cálculo de áreas. \n"); printf ("0 - Área de um quadrado. \n"); printf ("1 - Área de um triângulo ret. \n"); printf ("Informe sua opção: \n"); scanf ("%d", &opcao); switch(opcao) case 0: printf("informe o valor do lado \n"); scanf("%f", &lado); area = area_quadrado (lado); float area_quadrado (float lado) float result = 0.0; result = (lado * lado); return result; float area_triang_ret (float lado1, float lado2) float result = 0.0; result = (lado1 * lado2) / 2; return result; case 1: printf ("Informe o valor do primeiro lado \n"); area = area_triang_ret (lado1, lado2); default: printf ("Opcao inválida! \n"); printf("o cálculo da área é: %f \n", area);

Funções com parâmetros por valor - 1. #include <stdio.h> float area_quadrado (float); float area_triang_ret (float, float); int opcao; float lado, lado1, lado2, area = 0; printf ("Cálculo de áreas. \n"); printf ("0 - Área de um quadrado. \n"); printf ("1 - Área de um triângulo ret. \n"); printf ("Informe sua opção: \n"); scanf ("%d", &opcao); switch(opcao) case 0: printf("informe o valor do lado \n"); scanf("%f", &lado); area = area_quadrado (lado); float area_quadrado (float ld) float result = 0.0; result = (ld * ld); return result; float area_triang_ret (float ld1, float ld2) float result = 0.0; result = (ld1 * ld2) / 2; return result; case 1: printf ("Informe o valor do primeiro lado \n"); area = area_triang_ret (lado1, lado2); default: printf ("Opcao inválida! \n"); printf("o cálculo da área é: %f \n", area);

Funções com parâmetros por valor - 3. #include <stdio.h> float area_quadrado (float); float area_triang_ret (float, float); int opcao = -1; float area = -1.0; default: printf ("Opcao inválida! \n"); printf ("Cálculo de áreas. \n"); printf ("0 - Área de um quadrado. \n"); printf ("1 - Área de um triângulo ret. \n"); printf ("Informe sua opção: \n"); scanf ("%d", &opcao); switch(opcao) case 0: float lado = 0.0; printf("informe o valor do lado \n"); scanf("%f", &lado); area = area_quadrado (lado); printf("o lado vale: %f \n", lado); case 1: float lado1, lado2; printf ("Informe o valor do primeiro lado \n"); area = area_triang_ret (lado1, lado2); printf("o cálculo da área é: %f \n", area); fflush(stdin); getchar(); float area_quadrado (float ld) ld = ( ld * ld ); return ld; float area_triang_ret (float ld1, float ld2) float result = 0.0; result = (ld1 * ld2) / 2; return result;

Funções com parâmetros por referência #include <stdio.h> void area_quadrado (float, float *); void area_triang_ret (float, float, float *); int opcao; float area, lado, lado1, lado2 = 0; printf("cálculo de áreas. \n"); printf("0 - Área de um quadrado. \n"); printf("1 - Área de um triângulo ret. \n"); printf("informe sua opção: \n"); scanf("%d", &opcao); switch (opcao) case 0: printf("informe o valor do lado \n"); scanf("%f", &lado); area_quadrado (lado, &area); case 1: printf ("Informe o valor do primeiro lado \n"); area_triang_ret (lado1, lado2, &area); if ( ( 0 == opcao) ( 1 == opcao ) ) printf ("O cálculo da área é: %f \n", area); void area_quadrado (float lado, float *area) *area = (lado * lado); void area_triang_ret (float l1, float l2, float *area) *area = (l1 * l2) / 2;

Funções com parâmetros por referência #include <stdio.h> void area_quadrado (float, float *); void area_triang_ret (float, float, float *); int opcao; float area, lado, lado1, lado2 = 0; printf("cálculo de áreas. \n"); printf("0 - Área de um quadrado. \n"); printf("1 - Área de um triângulo ret. \n"); printf("informe sua opção: \n"); scanf("%d", &opcao); switch (opcao) case 0: printf("informe o valor do lado \n"); scanf("%f", &lado); area_quadrado (lado, &area); case 1: printf ("Informe o valor do primeiro lado \n"); area_triang_ret (lado1, lado2, &area); if ( ( 0 == opcao) ( 1 == opcao ) ) printf ("O cálculo da área é: %f \n", area); void area_quadrado (float lado, float *ar) *ar = (lado * lado); void area_triang_ret (float l1, float l2, float *ar) *ar = (l1 * l2) / 2;

Exercícios 1) Faça um programa que leia as coordenadas de um quadrado (x1,y1) (x2,y2) (x3,y3) (x4,y4) e calcule o perímetro do quadrado formado pelas coordenadas lidas através de uma função que retorna o perímetro do quadrado para o programa principal. 2) Elabore um programa que leia um valor e imprima: se o valor é par ou ímpar se é divisível por 5 seu fatorial. sua tabuada. Obs.: Utilize uma função para executar cada uma das tarefas anteriores e utilize somente variáveis locais e parâmetros (não use variáveis globais).