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

Documentos relacionados
Linguagem C. André Tavares da Silva.

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.

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

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

3. Linguagem de Programação C

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.

Introdução a Programação de Jogos

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

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

Funções em Linguagem C Parte II

Aula 08: Funções (Parte II)

ponteiros INF Programação I Prof. Roberto Azevedo

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

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

Explicação do programa:

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

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

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

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

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

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

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( )

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

LINGUAGEM C Estrutura / Funções

Noção de Funções. A Linguagem C permite que um programa seja escrito como um conjunto de funções que são executadas a partir de uma

MESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS

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

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

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

Modularidade - Funções e Procedimentos

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

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

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

Introdução à Programação

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

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

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

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

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

Revisão. Profa Marina Gomes

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

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

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

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

Programação: Vetores

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

Capítulo 3: Programando com Funções

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Linguagem C: Introdução

Modularidade - Fun ções e Procedimentos

3. Linguagem de Programação C

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

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

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

ECT1203 Linguagem de Programação

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

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

Dividir para Conquistar. Material da Prof. Ana Eliza

Fundamentos de Programação

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

Introdução à Computação MAC0110

Linguagem C (Funções)

C Comandos de Controle

Princípios de Desenvolvimento de Algoritmos MAC122

C++ - Funções. Forma geral das funções C++

Linguagem C estruturas de repetição

Linguagem C Princípios Básicos (parte 1)

ECT1203 Linguagem de Programação

Vetores. Marina Andretta. 11 de abril de 2016 ICMC-USP. Marina Andretta (ICMC-USP) sme0230-ipc 11 de abril de / 20

Conhecendo a Linguagem de Programação C

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

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

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

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

SSC304 Introdução à Programação Para Engenharias. Introdução a Linguagem C. GE4 Bio

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

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

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

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

Aula 18: Funções em C

Disciplina de Algoritmos e Programação

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

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

facilita o trabalho em equipe, com diferentes grupos trabalhando em cada módulo independente.

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 Introdução à Programação. Lógica e Linguagem de Programação

Introdução à Programação

Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável;

Introdução à Programação

Estrutura do programa

Módulo 3 Controle de Fluxo

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

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

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

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

ALGORITMOS I. Procedimentos e Funções

6 Alguns conceitos e comandos em programação

Transcrição:

Linguagem C Funções André Tavares da Silva andre.silva@udesc.br

Funções É uma coleção de comandos identificados por um nome (identificador); As funções executam ações e podem retornar valores; main, printf e scanf são exemplos de funções. <tipo retornado> <nome>(<parâmetro 1>,...,< parâmetro n >) { <declaração das variáveis locais> <comandos> [return <valor de retorno>;]

Funções É uma coleção de comandos identificados por um nome (identificador); As funções executam ações e podem retornar valores; main, printf e scanf são exemplos de funções. int soma(int x, int y) { int resultado; resultado = x + y; return resultado; void ImprimirValor (float v) { printf( %.2f, v);

Funções Agrupa um conjunto de comandos e associa a ele um nome. Após sua execução, o programa volta ao ponto imediatamente após a chamada. A volta ao programa que chamou a função é chamada de retorno. O programa sempre inicia sua execução pela função main.

Funções Tipo retornado: pode ser qualquer um dos tipos que já vimos (int, short int, long int, char,...) ou então void, que indica que a função não retornará nenhuma informação. Nome: é o identificador da função, servindo para referenciar a mesma. Parâmetros: são as informações para trabalhar. Constituem-se de variáveis locais à função, que são declarados individualmente, separados por vírgula.

Passagem de Parâmetros Por valor: São fornecidas cópias dos valores dos parâmetros na expressão que chama a função. A função pode alterar o valor dos parâmetros, mas esta mudança não é refletida às variáveis originais. void ImprimirValor (float v) { printf( %.2f, v); Por referência: Este tipo permite que se altere o conteúdo das variáveis passadas como parâmetro. A função recebe um endereço de memória como parâmetro. É exatamente o que acontece quando utilizamos a função scanf. É informado que os dados lidos deverão ser armazenados em variáveis passadas por parâmetro. scanf( %f, &valor); /* note o & */

Funções No seu retorno, uma função pode retornar resultados ao programa que a chamou. Na função de exemplo soma, o valor da variável resultados é passado de volta como o valor da função. return resultados; As funções que não retornam valores são também chamadas de procedimentos.

Funções Se um comando return é executado, o controle é passado de volta para o trecho que chamou a função. O valor então é retornado para o trecho que chamou a função. Se um comando return inclui uma expressão, o valor da expressão é convertido, se necessário, pelo tipo do valor que a função retorna. Se um comando return não inclui uma expressão, nenhum valor é retornado ao trecho que chamou a função.

Escopo das Variáveis O escopo de uma variável é definido pelas blocos (definidos pelas chaves) onde a variável pode ser utilizada. Por exemplo, as variáveis declaradas no início do corpo da função main podem ser utilizadas em qualquer lugar dentro da função main, porém apenas DENTRO dela, ou seja, não podem ser utilizadas em uma outra função. Variáveis declaradas no mesmo escopo precisam ter nomes diferentes, mas podem ter nomes iguais se forem de diferentes escopos. Neste caso, somente pode ser acessada a variável do bloco mais interno.

Variáveis Locais Variáveis declaradas dentro de uma função. Não são reconhecidas fora de seu próprio bloco de código. Existem apenas enquanto o bloco de código em que foram declaradas está sendo executado, ou seja, é criada na entrada de seu bloco e destruída na saída.

Variáveis Globais São reconhecidas pelo programa inteiro e podem ser usadas por qualquer pedaço de código. Guardam seus valores durante toda a execução. Devem ser declaradas fora de qualquer função. Ocupam memória durante todo o tempo de execução do programa. Tornam as funções menos gerais. Podem levar a erros no programa devido a efeitos colaterais.

Protótipo de Funções É a repetição da declaração da função, porém não necessita dos nomes das variáveis que recebem os parâmetros, encerrando com ponto e vírgula (;). Isto ajuda o compilador a verificar se os parâmetros que estão sendo passados nas funções estão de acordo com os tipos que elas esperam receber. É feita extraindo-se: Tipo retornado pela função Nome da função; Tipo dos parâmetros entre parênteses void ImprimirValor(float);

Recapitulando #include <stdio.h> /* inclusão de biblioteca - entrada e saída */ const float VALORHORA=10.0; /* variável global e constante */ int main() { /* função principal */ int horas = LeHoras(); printf( A receber: %.2f\n, CalculaSalario(horas) ); return 0; float CalculaSalario(int h) { return (float)h*valorhora; /*calcula salário*/ int LeHoras() { /* função para leitura de horas */ int horas; /* variável local */ printf( Entre numero de horas trabalhadas: ); scanf( %d, &horas ); return horas;

Recapitulando #include <stdio.h> /* inclusão de biblioteca - entrada e saída */ int LeHoras(); /* protótipo */ float CalculaSalario(int); /* protótipo */ const float VALORHORA=10.0; /* variável global e constante */ int main() { /* função principal */ int horas = LeHoras(); printf( A receber: %.2f\n, CalculaSalario(horas) ); return 0; float CalculaSalario(int h) { return (float)h*valorhora; /*calcula salário*/ int LeHoras() { /* função para leitura de horas */ int horas; /* variável local */ printf( Entre numero de horas trabalhadas: ); scanf( %d, &horas ); return horas;

Exercícios Escreva um programa em C que executa conversões de temperatura entre os sistemas CELSIUS e FAHRENHEIT. Caso o usuário deseje converter de CELSIUS para FAHRENHEIT ele pressiona a tecla C; pressionando a tecla F o programa faz a conversão de FAHRENHEIT para CELSIUS. F = C * (9/5) + 32 Altere o programa anterior incluindo duas funções: uma para converter de graus Celsius para graus Fahrenheit (float CelsiusParaFahr(float)) e outra para converter de graus Fahrenheit para Celsius (float FahrParaCelsius(float)).