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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada subtarefa. Também conhecido como sub-rotina, procedimento, função, método ou módulo. Os subprogramas são chamados dentro do programa principal, como outros comandos. Após seu término, a execução continua a partir do ponto onde foram chamados. A chamada de um subprograma portanto gera um desvio provisório no fluxo de execução. 2 Prof. Renato Pimentel 1

2 Linguagem C: funções Em C, é mais utilizado o termo função. Exemplos clássicos: printf( ): função que escreve algo na tela; scanf( ): função que lê informação via teclado. Facilitam a estruturação e reutilização do código: Estruturação: programas complexos construídos bloco a bloco. Reutilização: uso de funções evita a cópia desnecessária de trechos de código que realizam a mesma tarefa, diminuindo assim o tamanho do programa e a ocorrência de erros. 3 Funções: criando Forma geral de uma função: tipo_retornado nome_funcao (tipo1 parametro1,..., tipon parametron) { } declarações e comandos; return valor ou expressão; 4 Prof. Renato Pimentel 2

3 Funções: criando Forma geral de uma função: tipo_retornado nome_funcao (tipo1 parametro1,..., tipon parametron) { } declarações e comandos; return valor ou expressão; Tipo de informação que a função retorna (devolve) para o lugar de onde foi chamada. 5 Funções: criando Forma geral de uma função: tipo_retornado nome_funcao (tipo1 parametro1,..., tipon parametron) { declarações e comandos; return valor ou expressão; } Declaração de parâmetros: lista de variáveis, juntamente com seus tipos. Função sem parâmetros: ( ) ou (void) 6 Prof. Renato Pimentel 3

4 Funções: criando Forma geral de uma função: tipo_retornado nome_funcao (tipo1 parametro1,..., tipon parametron) { declarações e comandos; return valor ou expressão; } Corpo da função: processa os parâmetros, realiza outras ações e, quando necessário, gera saída de dados 7 Exemplo: Funções: criando tipo_retornado nome_funcao (tipo1 parametro1,..., tipon parametron) { declarações e comandos; return valor ou expressão; } Corpo da função: processa os parâmetros, realiza outras ações e, quando necessário, gera saída de dados 8 Prof. Renato Pimentel 4

5 Corpo de uma função Ainda sobre o corpo da função: Todo programa possui ao menos 1 função: a função main( ) função principal ou corpo do programa Em geral, definimos main( ) com tipo int e retornando 0. Função main( ) comunicação com o usuário (operações de entrada e saída) Corpo da função consiste de: Sequência de declarações: variáveis, constantes, arrays, etc. Sequência de comandos: condicionais, de repetição, chamada de outras funções etc. 9 Corpo de uma função Ainda sobre o corpo da função: Convém-se evitar fazer operações de leitura e escrita dentro de uma função; O ideal é que operações de entrada e saída de dados ex.: funções scanf( ) e printf( ) sejam realizadas na função principal, main( ). 10 Prof. Renato Pimentel 5

6 Exemplo Exemplo de função: Somando dois valores inteiros 11 Exemplo de função: Exemplo Somando dois valores inteiros Obs.: Errado escrever nos parâmetros int x, y (como em declaração de mais de uma variável do mesmo tipo). 12 Prof. Renato Pimentel 6

7 Usando o return Exemplo de função: Uma função pode possuir mais de um comando return. 13 Exemplo de função: Usando o return Uma função pode possuir mais de um comando return. O valor de retorno deve ser compatível com o tipo de retorno declarado para a função. 14 Prof. Renato Pimentel 7

8 Chamada de função Usando uma função chamada Funções devem ser definidas antes de serem utilizadas (chamadas) Portanto, antes da função main( ). Veja exemplo a seguir. 15 Chamada de função Exemplo de uso: quadrado de um valor inteiro 16 Prof. Renato Pimentel 8

9 Chamada de função Exemplo de uso: quadrado de um valor inteiro int a = n1 n2 = (retorno) Chamada da função sqr 17 Protótipo de uma função Usando uma função chamada Funções devem ser definidas antes de serem utilizadas (chamadas); Todavia, é possível usar um protótipo da função, onde passamos somente o seu tipo de retorno, seu nome e seus parâmetros, antes da função main( ); Dessa forma, podemos definir cada função depois da função main( ). Veja exemplo a seguir. 18 Prof. Renato Pimentel 9

10 Protótipo de uma função Protótipo da função sqr( ). 19 Variáveis: escopo Escopo de uma variável Define onde e quando a variável pode ser usada. Escopo global: Fora de qualquer definição de função; Tempo de vida é o tempo de execução do programa; Escopo local: Bloco ou função (trecho entre { } ) 20 Prof. Renato Pimentel 10

11 Variáveis: escopo Escopo local: Bloco: visível apenas no interior de um bloco de comandos if (teste == 1) { } int i; i = i+1; Função: declarada na lista de parâmetros da função ou definida dentro da função int minha_fun (int x, int y) { } int i, j; 21 Variáveis: escopo Escopo global Escopo local Escopo local dentro de outro escopo local 22 Prof. Renato Pimentel 11

12 Variáveis: escopo Escopo dos parâmetros formais de uma função: Os dados de entrada da função (variáveis de sua lista de parâmetros) são também variáveis locais da mesma. 23 Variáveis: escopo Variáveis globais são declaradas fora de todas as funções do programa; Desta forma, tornam-se conhecidas e podem ser alteradas por qualquer função; Porém, se uma função possui uma variável local com o mesmo nome de uma variável global, função dará preferência à local. 24 Prof. Renato Pimentel 12

13 Variáveis: escopo 25 Passagem de parâmetros na chamada de uma função Passagem de parâmetros: Por valor: Neste caso, uma cópia do valor é feita na declaração do parâmetro, e passada à função Mesmo que este valor seja alterado dentro da função, nada acontece com o valor do dado fora da função. 26 Prof. Renato Pimentel 13

14 Passagem de parâmetros na chamada de uma função Passagem de parâmetros: Por valor 27 Passagem de parâmetros na chamada de uma função Passagem de parâmetros: Por valor 28 Prof. Renato Pimentel 14

15 Passagem de parâmetros na chamada de uma função Passagem de parâmetros: Por referência: Quando se deseja alterar o valor da variável, devemos fazer a passagem de parâmetros por referência. Neste tipo de chamada, não se passa para a função o valor da variável, mas seu endereço na memória! Para passar um parâmetro por referência, coloca-se um asterisco (*) na frente do nome do parâmetro na declaração da função. Ao se chamar a função, é necessário agora utilizar o operador de endereço & como feito para scanf( ). 29 Passagem de parâmetros na chamada de uma função Passagem de parâmetros: Por referência 30 Prof. Renato Pimentel 15

16 Passagem de parâmetros na chamada de uma função Passagem de parâmetros: Por referência 31 Funções e arrays Arrays são passados sempre por referência! Passagem por valor evita cópia desnecessária de grandes quantidades de dados em memória RAM; Evita-se assim queda de desempenho na execução do programa. Quando um array é passado por parâmetro, o que a função recebe é o endereço de seu primeiro elemento; Pode ser necessário enviar à função um parâmetro inteiro, informando à mesma o tamanho do array. 32 Prof. Renato Pimentel 16

17 Funções e arrays Pode ser necessário enviar à função um parâmetro inteiro, informando à mesma o tamanho do array. Podemos declarar a função de diferentes maneiras, todas equivalentes: void imprime (int *m, int n); void imprime (int m[], int n); void imprime (int m[5], int n); 33 Funções e arrays Exemplo: 34 Prof. Renato Pimentel 17

18 Funções e arrays multidimensionais Para arrays multidimensionais, é necessário especificar o tamanho de todas as dimensões, exceto a primeira. Ex.: void imprime (int m[][5], int n); Na passagem de um array para uma função, o compilador precisar saber o tamanho de cada elemento, não o número de elementos. Um array 2D pode ser visto como um array de arrays. int m[4][5]: array de 4 elementos onde cada elemento é um array de 5 posições inteiras. 35 Funções e arrays multidimensionais Exemplo 36 Prof. Renato Pimentel 18

19 Funções e arrays multidimensionais As notações abaixo funcionam para arrays com mais de uma dimensão. Mas o array é tratado como se tivesse apenas uma dimensão dentro da função: void imprime (int*m, int n); void imprime (int m[], int n); 37 Funções e arrays multidimensionais Exemplo 38 Prof. Renato Pimentel 19

20 Recursão Em linguagem C, uma função pode chamar outra. Ex.: A função main( ) pode chamar qualquer função, seja ela de uma biblioteca padrão da linguagem C (como a função printf( )) ou definida pelo programador. Veja também o exemplo visto no slide 27, onde é printf( ) é chamado dentro da função soma( ). Em particular, uma função pode chamar a si própria Função recursiva. 39 Recursão Um exemplo clássico de função recursiva: Fatorial de um valor inteiro. Propriedades: 1. n! = n (n-1) (n-2) (n-3) 1 = n(n-1)! Ou seja, o fatorial de um número qualquer corresponde ao produto deste número pelo fatorial de seu antecessor. 2. 0! = 1 Podemos criar uma função que recebe um inteiro n e retorne seu fatorial, como mostrado a seguir. 40 Prof. Renato Pimentel 20

21 Recursão int fatorial(int n) { if (n == 0) return 1; else { int i, f = 1; for (i = 2; i <= n; i++) f = f*i; return f; } } 41 Recursão No exemplo anterior, não aproveitamos a primeira propriedade. Para aproveitá-la, reescrevemos a função, tornando-a recursiva. int fatorial(int n) { } if (n == 0) else { } return 1; return n*fatorial(n-1); 42 Prof. Renato Pimentel 21

22 Recursão Recursividade: ideia de dividir e conquistar: Divide-se problema maior em conjunto de problemas menores; Resolvem-se os menores de forma independente; Soluções dos mesmos, combinadas, geram solução do problema maior Caso do fatorial: O fatorial de 4 é dado em função do fatorial de 3; O fatorial de 3 é dado em função do fatorial de 2; O fatorial de 0 é dado como sendo 1 (caso-base). 43 Recursão O caminho de ida da recursão (chamadas) para no caso base; a partir do mesmo, voltamos, retornando os valores para a função que chama. 44 Prof. Renato Pimentel 22

23 Recursão Saber identificar o caminho de ida da recursão, o caso base e o caminho de volta da recursão torna sua implementação mais simples. Alguns cuidados a serem tomados: Critério de parada: determina quando a função deverá parar de chamar a si mesma; O parâmetro da chamada recursiva deve ser sempre modificado, de forma que a recursão chegue a um término. 45 Recursão int fatorial(int n) { if (n == 0) // criterio de parada else { return 1; return n*fatorial(n-1); /* parametro do fatorial sempre muda */ } } 46 Prof. Renato Pimentel 23

24 Recursão O que acontece na chamada da função fatorial com um valor como, por exemplo, 4? int x = fatorial(4); 47 Recursão Caminho de volta da recursão, após caso base. int x = fatorial(4); 48 Prof. Renato Pimentel 24

25 Recursão Outro exemplo: sequência de Fibonacci F(0) = 0 F(1) = 1 F(n) = F(n-1)+F(n-2), n >= 2 Implementação da função: int fibo(int n) { if (n == 0 n == 1) return n; else return fibo(n-1)+fibo(n-2); } 49 Recursão Outro exemplo: sequência de Fibonacci Baixa eficiência 50 Prof. Renato Pimentel 25

26 Recursão Outro exemplo: sequência de Fibonacci Agora fibo(5): 51 Exercícios 1. Escreva uma função que receba dois valores e retorne qual o maior deles. 2. Escreva uma função que receba uma temperatura dada em graus Fahrenheit e retorne o valor da mesma em graus Celsius, sendo que C = 5*(F-32)/9. 3. Escreva uma função que receba e troque os valores de duas variáveis numéricas do mesmo tipo. 52 Prof. Renato Pimentel 26

27 Exercícios 4. Crie uma função que receba uma matriz quadrada 2x2 e retorne seu determinante. A seguir, crie um programa que leia as entradas da matriz do usuário e que calcule o mesmo através da função e o mostre na tela. 5. Crie uma função recursiva que receba um valor inteiro N e calcule o somatório dos números de 1 a N. 53 Referências BACKES, A. Linguagem C: completa e descomplicada. Rio de Janeiro: Elsevier, PAIVA, J. G. S. Notas de aula de algoritmos e programação de computadores. TRAVENÇOLO, B. A. N. Notas de aula de Introdução à Programação e Computadores. 54 Prof. Renato Pimentel 27

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

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Linguagem C: funções Definição: blocos de código que podem ser chamados de dentro de um programa.

Leia mais

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.

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. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

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.

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. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

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

Programação I Funções. Prof. Carlos Alberto Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções

Leia mais

Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. Prof. André Backes Função Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. print(): função que escreve na tela input (): função que lê o teclado 1 Função Facilitam

Leia mais

Algoritmos e Estruturas de Dados I Linguagem C

Algoritmos e Estruturas de Dados I Linguagem C Algoritmos e Estruturas de Dados I (DCC/003) Algoritmos e Estruturas de Dados I Linguagem C Aula Tópico 11 Recursividade 1 Recursão Na linguagem C, uma função pode chamar outra função. A função main()

Leia mais

Subprogramas. Prof. Carlos Lopes

Subprogramas. Prof. Carlos Lopes Subprogramas Prof. Carlos Lopes Motivação Escreva um programa C capaz de calcular a combinação de n valores tomados p a p. Para realizar este cálculo, você deverá utilizar a seguinte fórmula: C n n! p

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - Funções e Procedimentos Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada

Leia mais

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

PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Funções Escopo de Variáveis Variáveis Globais

Leia mais

Modularidade - Fun ções e Procedimentos

Modularidade - Fun ções e Procedimentos Modularidade - Fun ções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situa ções, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de

Leia mais

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

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU Aula 13 Oficina de Programação Modularização Profa. Elaine Faria UFU - 2017 O que é modularização? No século XIX, Henry Ford, para baratear e massificar a montagem de carros, criou uma base modular. Esta

Leia mais

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

Linguagem de Programação I. Aula 10 Funções Linguagem de Programação I Aula 10 Funções Da Aula Anterior Tipos de dados básicos e operadores em C Declaração de variáveis e modificadores de tipo Estruturas de Controle Arrays unidimensionais Geração

Leia mais

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

Aula 07 Introdução à Programação Subprogramas 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

Leia mais

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

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade. 222222222222222222222222222 8 - FUNÇÕES 81 - Características básicas É um trecho independente de código, com objetivos bem definidos Programas em C, geralmente consistem em várias pequenas funções, ao

Leia mais

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

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa? Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Programação de Computadores 1 de 28 Funções Na Programação, funções são conjuntos

Leia mais

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende Sub Rotinas Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Uma dos métodos mais comuns e amplamente utilizados em programação de computadores é o Top-Down. Nesta abordagem um problema é

Leia mais

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

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Sub-rotinas em C Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Sub-rotinas: Função e Procedimentos A função main Variáveis globais e locais Escopo de variáveis Passagem

Leia mais

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

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa? Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Introdução à Computação 1 de 28 Funções Na Programação, funções são conjuntos

Leia mais

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

Aula 05. Modularização Função Subrotina Recursividade Logo Aula 05 Modularização Função Subrotina Recursividade 2 Modularização A modularização é um processo que aborda os aspectos da decomposição de algoritmos em módulos. Módulo é um grupo de comandos, constituindo

Leia mais

Recursividade. Prof. Jesus José de Oliveira Neto

Recursividade. Prof. Jesus José de Oliveira Neto Recursividade Prof. Jesus José de Oliveira Neto Algoritmos podem ser definidos de duas formas: Forma iterativa ou não recursiva: utiliza laços de repetição (while, for, do/while) Forma recursiva: métodos

Leia mais

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

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente

Leia mais

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.7. Funções 3.7.1. Introdução 3.7.2. Uso de

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: estruturas de repetição While / Do While / For Prof. Renato Pimentel 1 Estruturas de repetição O real poder dos computadores está

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação

Leia mais

Explicação do programa:

Explicação do programa: Disciplina: Introdução à Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer Índice: Aula10 Sub-rotina: Em algoritmos Em C Sub-rotinas subprograma - programação modularizada Definição:

Leia mais

ESTRUTURA DE DADOS (TCC )

ESTRUTURA DE DADOS (TCC ) ESTRUTURA DE DADOS (TCC-00.319) Ponteiros e funções Cristina Boeres 2 Ponteiros Variável do tipo ponteiro:! Linguagens como C permite o armazenamento e a manipulação de valores de endereços de memória!

Leia mais

Sub-rotinas David Déharbe

Sub-rotinas David Déharbe Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem

Leia mais

Funções em Linguagem C Parte II

Funções em Linguagem C Parte II Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis

Leia mais

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

Leia mais

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

Linguagem C Funções. André Tavares da Silva. 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

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

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

Linguagem C: funções e ponteiros. Prof. Críston Algoritmos e Programação Linguagem C: funções e ponteiros Prof. Críston Algoritmos e Programação Funções Recurso das linguagens de programação que permite dar um nome para um conjunto de instruções Facilita a reutilização de algoritmos

Leia mais

Aula 15 - Aula sobre Funções e Procedimentos

Aula 15 - Aula sobre Funções e Procedimentos MC-102 Algoritmos e Programação de Computadores IC-UNICAMP Aula 15 - Aula sobre Funções e Procedimentos 1 Objetivos Apresentar os conceitos de procedimentos e funções, suas vantagens e sua notação em C.

Leia mais

12 - Dados Estruturados Vetores, Matrizes e Strings

12 - Dados Estruturados Vetores, Matrizes e Strings 12 - Dados Estruturados Vetores, Matrizes e Strings Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Vetores,

Leia mais

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

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Sub-rotina Sub-rotina (CAPÍTULO 8): Funções e procedimentos Blocos de instruções que realizam

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

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

Aula 07: Introdução a Funções Aula 07: Introdução a Funções Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Comandos condicionais Exemplos diversos

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Prof. Renato Pimentel 1 Introdução Tipos de variáveis vistos

Leia mais

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

Computação 2. Diego Addan Aula 3. Funções 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

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais

SCC Capítulo 2 Recursão

SCC Capítulo 2 Recursão SCC-501 - Capítulo 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o

Leia mais

Programação. Prof Marcelo Zorzan Prof a Melissa Zanatta

Programação. Prof Marcelo Zorzan Prof a Melissa Zanatta Programação - Recursividade - Prof Marcelo Zorzan Prof a Melissa Zanatta É o processo de resolução de um problema, reduzindo-o em um ou mais subproblemas com as seguintes características: - São idênticos

Leia mais

DAS5102 Fundamentos da Estrutura da Informação

DAS5102 Fundamentos da Estrutura da Informação Ponteiros e Funções Funções ou sub-rotinas são parcelas de código que podem ser invocadas a partir do programa principal ou até mesmo por outras sub-rotinas. Elas têm como objetivo a execução de uma tarefa

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

PLANO DE UNIDADE DIDÁTICA- PUD

PLANO DE UNIDADE DIDÁTICA- PUD Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de

Leia mais

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

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 09 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação A linguagem C, como qualquer outra linguagem de programação, permite

Leia mais

Aula 08: Funções (Parte II)

Aula 08: Funções (Parte II) Aula 08: Funções (Parte II) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Introdução a Funções Aula prática

Leia mais

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

Puca Huachi Vaz Penna / José Américo T. Messias BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66 Puca Huachi Vaz Penna / José Américo T. Messias Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca

Leia mais

LISTA DE EXERCÍCIOS MÊS 04

LISTA DE EXERCÍCIOS MÊS 04 São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto

Leia mais

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Recursividade Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno O que é recursividade? Técnica baseada em divisão e conquista Buscar solucionar o problema dividindo

Leia mais

Recursividade. Estrutura de Dados. Prof. Kleber Rezende

Recursividade. Estrutura de Dados. Prof. Kleber Rezende Recursividade Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Em aulas anteriores fizemos uma função que permite calcular o fatorial de um número. Naquela função, a cada nova iteração o

Leia mais

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

C++ - Funções. Forma geral das funções C++ C++ - Funções Conjunto de instruções para executar uma tarefa particular, agrupadas numa unidade com um nome para referenciá-las. O código é agregado ao programa uma única vez e pode ser executado muitas

Leia mais

Aula 25: Funções com Arrays

Aula 25: Funções com Arrays CI208 - Programação de Computadores Aula 25: Funções com Arrays Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento

Leia mais

ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão

ALGORITMOS AVANÇADOS UNIDADE II Recursividade. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 2.1 - Definições recursivas 2.2 - Como implementar recursividade 2.3 - Quando não usar recursividade 2.4 - Desenvolvendo algoritmos

Leia mais

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

Aula 9 Oficina de Programação Matrizes. Profa. Elaine Faria UFU Aula 9 Oficina de Programação Matrizes Profa. Elaine Faria UFU - 26 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral

Leia mais

Acadêmico: Subprogramação (funções)

Acadêmico: Subprogramação (funções) Algoritmos Acadêmico: IP 06 Subprogramação (funções) Até agora, em todos os programas que criamos, codificamos uma única função: main(). Entretanto, em todos eles, diversas funções foram utilizadas: printf(),

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Recursão em C

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Recursão em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Recursão em C Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Definição

Leia mais

Fundamentos de Programação de Computadores Linguagem C Função Unidade 08 Linguagem C - Função 1/18

Fundamentos de Programação de Computadores Linguagem C Função Unidade 08 Linguagem C - Função 1/18 Linguagem C Função Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Janeiro de 2018 Unidade 08 Linguagem C - Função 1/18 Conceitos As técnicas de programação

Leia mais

EXERCÍCIO DE SONDAGEM SEMESTRE DATAS: 21/06/2016 (TURMAS 01 E 02) Matrícula Nome Nota

EXERCÍCIO DE SONDAGEM SEMESTRE DATAS: 21/06/2016 (TURMAS 01 E 02) Matrícula Nome Nota Professor de INTRODUÇÃO À PROGRAMAÇÃO Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Técnicas de Programação Prof.:

Leia mais

Estruturas de Dados Aula 14: Recursão

Estruturas de Dados Aula 14: Recursão Estruturas de Dados Aula 14: Recursão Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1; Algorithms

Leia mais

Linguagem C: Subprogramação

Linguagem C: Subprogramação Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Subprogramação Organização 1 Subprogramação 2 3 Passagem por Valor Passagem por Referência

Leia mais

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

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 ); O todo é igual à soma das partes. Euclides. FUNÇÕES E PROCEDIMENTOS Embora sem saber, ao longo dos outros laboratórios, já foram utilizadas funções tais como printf, scanf, getchar, putchar, dentre outras

Leia mais

Estruturas de Dados Aula 14: Recursão 19/05/2011

Estruturas de Dados Aula 14: Recursão 19/05/2011 Estruturas de Dados Aula 14: Recursão 19/05/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 2; Estruturas de Dados e seus Algoritmos (Szwarefiter, et. al): Capítulo 1;

Leia mais

ALGORITMOS I. Procedimentos e Funções

ALGORITMOS I. Procedimentos e Funções Procedimentos e Funções Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 MÓDULOS São blocos de instruções que realizam tarefas específicas. Carregado uma vez e pode ser executado quantas vezes

Leia mais

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

Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO Introdução Funções são as estruturas que permitem ao usuário separar seus programas em blocos de construção. A principal característica

Leia mais

Controle de Fluxo Utilizando C

Controle de Fluxo Utilizando C Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo III Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Controle

Leia mais

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

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato Funções e Procedimentos (sub-rotinas)

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos

Leia mais

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

Aula 10 Oficina de Programação Matrizes. Profa. Elaine Faria UFU Aula Oficina de Programação Matrizes Profa. Elaine Faria UFU - 27 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral

Leia mais

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35

Prof. A. G. Silva. 25 de setembro de Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de / 35 INE5603 Introdução à POO Prof. A. G. Silva 25 de setembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 25 de setembro de 2017 1 / 35 Baseado em materiais da Recursividade Unisinos, Cesar Tacla (UTFPR),

Leia mais

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br

Computação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br Computação Eletrônica Vetores e Matrizes Prof: Luciano Barbosa Recapitulando: Funções 2 Recapitulando: Função Void 3 Recapitulando: Escopo das Variáveis Referência à variável global A variável de escopo

Leia mais

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

Programação de Computadores II. Cap. 4 Funções Programação de Computadores II Cap. 4 Funções Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:

Leia mais

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

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.

Leia mais

Universidade Estadual do Maranhão Curso de Engenharia da Computação Mestrado em Engenharia da Computação e Sistemas

Universidade Estadual do Maranhão Curso de Engenharia da Computação Mestrado em Engenharia da Computação e Sistemas Notas de Aulas Sub-rotinas Prof. Dr. Luís Carlos Costa Fonseca São Luís 2013 Geralmente, problemas complexos exigem algoritmos complexos, mas sempre é possível dividir um problema grande em problemas menores.

Leia mais

Faculdade de Computação

Faculdade de Computação Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos

Leia mais

Métodos Computacionais em Física

Métodos Computacionais em Física Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 2014-2 Determinação das raizes de uma função Em muitos problemas é necessáŕio encontrar a solução da equação f(x) = 0 e frequentemente

Leia mais

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

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius

Leia mais

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

Computação eletrônica: Funções Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br 13 de maio de 2014 Plano de aula 1 Princípio 2 Declaração de funções 3 Escope de variáveis Introdução O que é? Bloco de instruções desenvolvido

Leia mais

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

Curso de Introdução à Liguagem de. Grupo PET-Tele. Universidade Federal Fluminense. July 16, 2012 urso de à urso de à Universidade Federal Fluminense July 16, 2012 Indrodução urso de à O é uma linguagem de programação criada por Dennis Ritchie, em 1972 e que continua a ser muito utilizada até os dias

Leia mais

LINGUAGEM C: ARRAY: VETORES E MATRIZES

LINGUAGEM C: ARRAY: VETORES E MATRIZES LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor

Leia mais

Programação em Linguagem C

Programação em Linguagem C Programação em Linguagem C Aula #111 EBS 111 ICC Prof Luiz Fernando S Coletta luizfsc@tupaunespbr Campus de Tupã Modularização do código 2 Modularização do código Organização, legibilidade e manutenibilidade

Leia mais

Algoritmos e Estruturas de Dados I IEC012. Procedimentos e Funções. Prof. César Melo Todos os créditos para o professor Leandro Galvão

Algoritmos e Estruturas de Dados I IEC012. Procedimentos e Funções. Prof. César Melo Todos os créditos para o professor Leandro Galvão Algoritmos e Estruturas de Dados I IEC012 Procedimentos e Funções Prof. César Melo Todos os créditos para o professor Leandro Galvão Procedimentos e Funções Procedimentos são s estruturas que agrupam um

Leia mais

Linguagem e Técnicas de Programação

Linguagem e Técnicas de Programação Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

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

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo

Leia mais

Linguagem C estruturas de repetição

Linguagem C estruturas de repetição Linguagem C estruturas de repetição IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e

Leia mais

MC102 - Algoritmos e programação de computadores. Aula 14: Funções e Procedimentos

MC102 - Algoritmos e programação de computadores. Aula 14: Funções e Procedimentos MC102 - Algoritmos e programação de computadores Aula 14: Funções e Procedimentos Procedimentos Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 07 Estruturas de Repetição Edirlei Soares de Lima Estruturas de Repetição Diversos problemas somente podem ser resolvidos numericamente por um computador

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros INF Programação I Prof. Roberto Azevedo ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

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

Cap. 3 Entrada e Saída e Controle de Fluxo Programação de Computadores II Cap. 3 Entrada e Saída e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II Aula de Revisão 01 Karina Mochetti 2019.1 Formato da Prova Questões teóricas. Escrever um programa do zero. Dar valores finais de variáveis. Completar um programa. Achar

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Recursão Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Recursão Recursão 1 Recursão 2

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 08 Ponteiros Edirlei Soares de Lima Endereço de uma Variável Toda variável definida em um programa ocupa uma área de memória; A cada área de memória

Leia mais

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

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais