Programação modular. Função

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

Download "Programação modular. Função"

Transcrição

1 X 214 Função Definição matemá>ca Uma relação entre elementos de um conjunto (entrada) e elementos de outro conjunto (saída), com a propriedade que cada elemento da entrada relaciona-se com exatamente um elemento da saída. Definição computacional Uma unidade autônoma de código definida para executar um processamento específico. Outra definição Um conjunto de instruções agrupados em um bloco que recebe um nome e, através deste, pode ser executado. 215

2 Vantagens do uso de funções Dividir um único programa em unidades menores, mais fáceis de codificar e corrigir. cada um no seu quadrado Facilitar a compreensão e depuração do programa-fonte. Evitar a repe>ção de trechos de código. Permi>r a reu>lização de código já construído (por você ou por outros programadores.) Desenvolver a construção de programas complexos a par>r de módulos mais simples (o todo é a soma das partes). 216 Paradigma de programação modular em C programa... função 1 função 2 função n função 3 função 4 217

3 Execução de funções Quando uma função é chamada, o fluxo do programa é interrompido e desviado para a execução do bloco de instruções da função. Quando a execução a>nge o final do bloco da função, o fluxo do programa retorna ao ponto do programa onde a função foi chamada. Função Programa... Programa 218 E você nem desconfiava... Todo programa em C é formado por um conjunto de funções: printf(), scanf(), if(), while(), gets(), puts(), eita(),... A também é uma função!!! A execução de todo programa em C inicia pela função. Como todas as outras en>dades de um programa em C toda função deve ser declarada antes de ser usada. 219

4 A biblioteca math.h Contém a definição de diversas funções matemá>cas. função sin(x) cos(x) tan(x) fabs(x) sqrt(x) log(x) log10(x) exp(x) pow(x,y) retorna seno de x cosseno de x tangente de x x x ln x log 10 x e x x y Funções da biblioteca math.h Geralmente usam argumentos do >po double e retornam valores do >po double. 220 Forma geral de funções em C definidas pelo usuário O >po de valor produzido pela função (primi>vo ou definido pelo usuário) A lista de variáveis (>po e iden>ficador) u>lizadas pela função, separadas por vírgulas O nome da função O bloco da função tipo identificador(tipo arg1,..., tipo argn) declaração de variáveis; As variáveis internas da função corpo da função; Os comandos da função 221

5 Passagem de argumentos A declaração de uma função estabelece a lista >pada de argumentos necessários para seu processamento. As variáveis que compõem a lista de argumentos de uma função são conhecidas como parâmetros formais da função. Na chamada à função, apenas os valores (variáveis ou constantes) necessários para o processamento da função devem ser informados entre parênteses, na mesma ordem em que foram declarados na definição da função. Se uma função não precisar de argumentos para realizar o processamento, a lista de parâmetros será vazia. 222 O comando return() Após o processamento, uma função poderá produzir algum valor que poderá será u>lizado pelo programa. O comando return() é u>lizado para retornar para o programa um único valor resultante do processamento de uma função. O valor retornado pela função será uma variável de um dos seguintes >pos: primi>vos: char, int, float ou double (ou ponteiros desses >pos); definidos pelo usuário (ou ponteiros desses >pos). Atenção! Se uma função deve retornar múl>plos valores, então ela deverá ser redefinida em múl>plas funções, cada uma retornando apenas um valor. 223

6 Função definida pelo usuário Exemplo: Exibir os valores da função f(x) = 3x 3 5x 2 x + 5, num intervalo [a, b] informado pelo usuário. double F(double X) return(3*x*x*x 5*X*X X + 5); double a, b, x, y; printf("informe os extremos do intervalo: "); scanf("%f %f", &a, &b); for (x = a; x <= b; x = x + 0.1) y = F(x); printf("f(%f) = %f\n", x, y); primeiro calcula a expressão e depois retorna o resultado COMECE AQUI! chamada à função F(): x será copiado em X 224 Função definida pelo usuário Exemplo: Calcular y = x 2 : double Sqr(double x) double y; y é variável interna da função y = x*x; return(y); depois do processamento da função, y será copiado em resultado double valor, resultado; COMECE AQUI! printf("informe um numero: "); scanf("%lf", &valor); resultado = Sqr(valor); printf("%f^2 = %f\n", valor, resultado); chamada à função sqr(): valor será copiado em x 225

7 Função definida pelo usuário Exemplo: Calcular o fatorial de um número inteiro posi>vo. double Fatorial(int n) int i; double fat = 1; for (i = 1; i <= n; i++) fat = fat * i; return(fat); int n; printf("informe um número inteiro positivo: "); scanf("%d", &n); printf("%d! = %.0f\n", n, Fatorial(n)); COMECE AQUI! o resultado retornado pela função será exibido aqui. 226 Função definida pelo usuário Exemplo: Apresentar um menu e ler a opção do usuário. char Menu() char opc; UIA!? Uma função sem parâmetros! printf("escolha a operacao a ser realizada\n"); printf("[+] Adicao\n[-] Subtracao\n[*] Multiplicacao\n[/] Divisao\n"); printf("opcao: "); scanf("%c", &opc); return(opc); O valor lido dentro desta função será retornado para a função main() float a, b; char op; printf("informe os operandos: "); scanf("%f %f", &a, &b); op = Menu();... COMECE AQUI! O valor retornado pela função será atribuído à uma variável. 227

8 Função definida pelo usuário Exemplo: Calcular a soma de 2 números complexos. typedef struct double Re; double Im; complexo; complexo CpxSoma(complexo z1, complexo z2) complexo z; z.re = z1.re + z2.re; z.im = z1.im + z2.im; return(z); complexo x, y, w; printf("primeiro numero complexo: "); scanf("%lf %lf", &x.re, &x.im); printf("segundo numero complexo: "); scanf("%lf %lf", &y.re, &y.im); w = CpxSoma(x, y); printf("resultado: %f + %fi\n", w.re, w.im); 228 Retornando valores A definição de funções que retornam vetores de algum >po primi>vo (char, int, float ou double) ou definido pelo usuário é feita usandose ponteiros. Retornando uma string: char *NomeFuncao(...) Retornando um vetor de inteiros: int *NomeFuncao(...) Retornando uma matriz de valores reais de dupla precisão: double **NomeFuncao(...) 229

9 Retornando uma string Exemplo: Gerar uma senha usando n caracteres aleatórios da tabela ASCII. char *GeraString(int n) int i; char *s; ATENÇÃO: n deverá ser informado antes da chamada à função // alocar memoria para a string s = (char *) calloc(n + 1, sizeof(char)); // gerar a string elemento a elemento for (i = 0; i < n; i++) s[i] = 33 + rand()%( ); // usar os caracteres do intervalo [33, 126] s[n] = '\0'; return(s); Atenção! Em programas que u>lizam números aleatórios, a inicialização do gerador da semente através do comando srand(time(0)); deverá ser feita na função. 230 Retornando um vetor Exemplo: Gerar apostas na Mega-Sena com n dezenas (n informado pelo usuário.) int *Aposta(int n) int *v; // vetor de apostas int i, pos; // alocar memoria para o vetor de apostas v = (int *) calloc(60, sizeof(int)); // sortear as dezenas for (i = 0; i < n; i++) pos = rand()%60; // posição sorteada if (v[pos] == 1) // se a posição já havia sido sorteada, escolha outra i--; else v[pos] = 1; return(v); 231

10 Retornando uma matriz Exemplo: Criar uma matriz de Hilbert de ordem n. double **Hilbert(int n) double **a; int i, j; // alocar memória para os elementos da matriz a = (double **) calloc(n, sizeof(double *)); for (i = 0; i < n; i++) a[i] = (double *) calloc(n, sizeof(double)); // elementos da matriz de Hilbert for (i = 0; i < n; i++) for (j = 0; j < n; j++) a[i][j] = 1.0/(i + j + 1); return(a); 232 O >po primi>vo void O >po void é u>lizado apenas para definir funções que não retornam nenhum valor para a função que a chamou. void Menu() printf("escolha a operacao a ser realizada\n"); printf("[+] Adicao\n[-] Subtracao\n[*] Multiplicacao\n[/] Divisao\n"); printf("opcao: "); float a, b; char op; printf("informe os operandos: "); scanf("%f %f", &a, &b); Menu(); scanf( %c, &op);... Atenção! Funções do >po void não usam o comando return(). 233

11 O >po primi>vo void Calcular e exibir a tabuada do 7. int i, j; for (j = 0; j < 16; j++) printf("-"); printf("\n"); printf(" Tabuada do 7 \n"); for (j = 0; j < 16; j++) printf("-"); printf("\n"); for (i = 1; i <= 10; i++) printf( %2d X 7 = %2d\n, i, 7*i); for (j = 0; j < 16; j++) printf("-"); printf("\n"); void Linha(int n, char ch) int j; for (j = 0; j < n; j++) printf("%c", ch); printf("\n"); int i; Linha(16, '-'); printf(" Tabuada do 7 "); Linha(16, '-'); for (i = 1; i <= 10; i++) printf( %2d X 7 = %2d\n", i, 7*i); Linha(16, '-'); 234 Escopo de variáveis Existem dois >pos de variáveis em um programa em C: Variáveis locais São aquelas definidas dentro do bloco de alguma função. São visíveis apenas pela função onde foram declaradas e não podem ser usadas ou modificadas por outras funções do programa (nem pela função main()). Os parâmetros formais também são variáveis locais da função. Existem apenas enquanto a função es>ver sendo executada. Variáveis globais São aquelas definidas fora do bloco de alguma função. São visíveis por qualquer função e podem ser usadas ou modificadas por qualquer função do programa. Existem durante todo o tempo de execução do programa. Importante! Se houverem variáveis locais e globais com o mesmo nome, a função irá u>lizar apenas a variável local. 235

12 Escopo de variáveis int i; int F1(int n) j = n;... float F2(int i) int j; i = 2*i j = F1(i);... float j; // i é variável global // F1() tem uma variável local chamada n // erro: j não foi declarada como variável global ou local de f1() // F2() tem uma variável local chamada i // F2() tem uma variável local chamada j // alterando a variável local i // alterando a variável local j // COMECE AQUI! // j é variável local de main() i = 1; j = F2(i);... // alterando a variável global i // j recebe o resultado retornado pela função F2() 236 Escopo de variáveis O uso de variáveis globais permite trabalhar com funções sem argumentos. #include <stdio.h> #include <stdlib.h> float nota1, nota2, nota3, media; void LeNotas() printf("informe as notas das 3 provas: "); printf("1a prova = "); scanf("%f", &nota1); printf("2a prova = "); scanf("%f", &nota2); printf("3a prova = "); scanf("%f", &nota3); LeNotas(); media = (nota1 + nota2 + nota3)/3; printf("media aritmetica = %f\n", media); 237

13 Passagem de parâmetros A chamada à uma função pode conter uma lista de variáveis que serão u>lizadas no processamento da função. Cada variável da lista pode ser passada de duas formas: Passagem por valor O valor da variável é copiado para o respec>vo parâmetro formal da função. As alterações realizadas dentro da função não modificam o valor original da variável. Passagem por referência O endereço da variável é passado para o respec>vo parâmetro formal da função. As alterações realizadas dentro da função modificam o valor original da variável. 238 Exemplo: Passagem por valor void Troca(int a, int b) int aux; aux = a; a = b; b = aux; printf("funcao: %d %d\n", a, b); int i = 2, j = 5; Execução: Main: 2 5 Funcao: 5 2 Main: 2 5 Pressione... printf("main: %d %d\n", i, j); Troca(i,j); printf("main: %d %d\n", i, j); OOOPS! A troca não modificou os valores originais. 239

14 Exemplo: Passagem por referência void Troca(int *a, int *b) int aux; aux = *a; *a = *b; *b = aux; printf("funcao: %d %d\n", *a, *b); int i = 2, j = 5; Execução: Main: 2 5 Funcao: 5 2 Main: 5 2 Pressione... printf("main: %d %d\n", i, j); Troca(&i,&j); printf("main: %d %d\n", i, j); TCHÃÃÃ! A troca modificou os valores originais. 240 Passagem de parâmetros Atenção! Na declaração de funções que u>lizam strings, vetores e matrizes como parâmetros devem ser u>lizados ponteiros. Logo, essas variáveis são sempre passadas por referência, ou seja, as modificações realizadas dentro da função alteram o valor original. Exemplo: Inverter uma string. void Inverte(char *str) int i, n; char tmp; n = strlen(str); // determina o tamanho da string for (i = 0; i < n/2; i++) tmp = str[i]; str[i] = str[n i]; str[n i] = tmp; 241

15 Passagem de parâmetros Exemplo: Cruzar 2 vetores binários com n elementos, usando os p primeiros elementos do 1º vetor e os n-p seguintes do 2º vetor. int *Cruzamento(int *v1, int *v2, int n, int p) int i; int *v; v = (int *) calloc(n, sizeof(int)); for (i = 0; i < n; i++) if (i < p) v[i] = v1[i]; else v[i] = v2[i]; return(v); 242 Estratégias de programação Exemplo: Calcular a soma dos n primeiros números naturais. Função fechada Estabelece uma seqüência de comandos onde o problema original não aparece. S(n) = n * ( (n + 1) / 2 ) Função recursiva Depende do valor da própria função, calculada para um caso reduzido. S(n) = n + S(n 1) 243

16 Funções recursivas São funções que fazem chamadas a si mesmas. A cada chamada, cria-se na memória uma nova ocorrência da função, com comandos e variáveis próprios, isolados das chamadas anteriores. A função será executada até que todas as ocorrências sejam resolvidas. Exemplo: n! = n * (n 1)! = n * (n 1) * (n 2)! =... double Fatorial(int n) double valor; if ( n <= 1 ) return (1); else valor = n * Fatorial(n - 1); return (valor); 244 Funções recursivas Exemplo: Cálculo de 3!. main: fat = Fatorial(3); retorna 6 Fatorial(3): valor = 3 * Fatorial(2); return (valor); retorna 2 Fatorial(2): valor = 2 * Fatorial(1); return (valor); Fatorial(1): return (1); retorna 1 245

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

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

Algoritmos RESUMO - LINGUAGEM C

Algoritmos RESUMO - LINGUAGEM C Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado

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 [email protected], [email protected] Roteiro Funções Escopo de Variáveis Variáveis Globais

Leia mais

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

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N! Declarações Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ Os principais tipos são: int, float, double e char Exemplos: int n; int quantidade_valores; float x, y, somavalores;

Leia mais

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

Introdução à Linguagem C. Adaptado de Deise Saccol Introdução à Linguagem C Adaptado de Deise Saccol 1 Tradução CÓDIGO FONTE... LET SOMA = VAR1 + TOTAL... TRADUTOR CÓDIGO OBJETO... 00010110111001011001011010... MONTADOR (assembler) Tradutor para linguagens

Leia mais

Aula 12- Variáveis e valores reais

Aula 12- Variáveis e valores reais Aula 12- Variáveis e valores reais Até agora todos os nossos problemas continham apenas valores inteiros e portanto variáveis do tipo int. Para resolver problemas que usam valores com parte fracionária,

Leia mais

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

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

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

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

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",

Leia mais

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325)

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325) Subprogramas (ou Sub-rotinas) em C: Procedimentos e Funções 2015/1 Programação Básica de Computadores (INF 09325) Archimedes Detoni www.inf.ufes.br/~archimedesdetoni [email protected] Programa

Leia mais

Introdução à Ciência da Computação I. Alocação Dinâmica. Prof. Claudio Fabiano Motta Toledo

Introdução à Ciência da Computação I. Alocação Dinâmica. Prof. Claudio Fabiano Motta Toledo Introdução à Ciência da Computação I Alocação Dinâmica Prof. Claudio Fabiano Motta Toledo Sumário Funções para alocação de memória Ponteiros para ponteiros 8/12/16 2 Funções para alocação de memória malloc(),

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 [email protected] ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

Ponteiros - Parte I. Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória

Ponteiros - Parte I. Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória Ponteiros - Parte I Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória Ponteiros Um ponteiro é uma variável que contém um endereço de memória. Esse endereço é normalmente

Leia mais

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny Introdução à Linguagem C Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny 1 Histórico da Linguagem C Criada por Denis Ritchie, na década de 1970, para uso em um computador

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Introdução à Linguagem C 1 Histórico da Linguagem C Criada por Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix C++ é uma extensão da linguagem C O sistema Unix é escrito

Leia mais

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

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes? Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros

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 [email protected] 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

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

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Introdução a Linguagem C

Introdução a Linguagem C Introdução a Linguagem C Professor: Juliano Lucas Gonçalves [email protected] Agenda Histórico Estrutura básica de um programa em C Diretivas para o processador Bibliotecas Ambiente de desenvolvimento

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

Introdução à Computação

Introdução à Computação Introdução à Computação Tipos de Dados, Expressões, Operadores e Comandos Básicos Prof.: Julliano Rosa Nascimento [email protected] Roteiro Tipos de Dados: Revisão Expressões Operadores Comandos Básicos

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos [email protected] Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

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

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição OPL e IC1 Prof: Anilton Joaquim da Silva [email protected] 1 Estrutura de Repetição Em certas situações é necessária a repetição de

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

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

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Material preparado pela profa Silvana Maria Affonso de Lara

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

Leia mais

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 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada

Leia mais

Atividade de laboratório listas encadeadas simples

Atividade de laboratório listas encadeadas simples Atividade de laboratório listas encadeadas simples 1. Estrutura básica Uma lista encadeada simples é uma estrutura de dados composta de uma seqüência de estruturas elementares chamadas nós. Cada nó contém

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Introdução à Linguagem C Simone Ceolin UNIFRA Adaptado de slides das Profas. Patrícia Jaques, Mônica Py e Deise Saccol 1 Histórico da Linguagem C Criada por Denis Ritchie, na década de 1970, para uso em

Leia mais

imprimir seus quadrados.

imprimir seus quadrados. 1) Dada uma seqüência de números inteiros não-nulos, seguida por 0, imprimir seus quadrados. int numero, /* usada para leitura da sequencia */ quadrado; /* guarda o quadrado do numero lido */ printf("\n\tcalculo

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

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria [email protected]

Leia mais

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 06 Operações matemáticas Comandos Sequenciais Comandos Sequenciais na Linguagem de

Leia mais

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando

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

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

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva [email protected] Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

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

MC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016 MC-102 Aula 13 Funções I Instituto de Computação Unicamp 29 de Setembro de 2016 Roteiro 1 Funções Definindo uma função Invocando uma função 2 O tipo void 3 A função main 4 Protótipo de funções 5 Funções

Leia mais

ESTRUTURAS DE CONTROLE

ESTRUTURAS DE CONTROLE ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO EM LINGUAGEM C 03/12/16 Repetição Contada Fluxograma Linguagem C I = C até F sim Comando não For (i=c; i

Leia mais

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

Introdução a Programação. Tipos Estruturados de Dados Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados

Leia mais

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

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços

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 [email protected] 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

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 03: Introdução a C

Aula 03: Introdução a C Aula 03: Introdução a C 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 O que é um computador Organização de um

Leia mais

Linguagem C (repetição)

Linguagem C (repetição) Linguagem C (repetição) André Tavares da Silva [email protected] Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,

Leia mais

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR)

Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Aula 4 ESTRUTURAS DE REPETIÇÃO (FOR) Profa. Dra. Elisa Yumi Nakagawa 1o semestre/2017 Estruturas de Controle l ESTRUTURA SEQUENCIAL l ESTRUTURAS CONDICIONAIS l l l Estrutura Condicional Simples Estrutura

Leia mais

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

Ponteiros e Tabelas. K&R: Capítulo 5 Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

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

Módulo 5 Vetores e Alocação Dinâmica Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora

Leia mais

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

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

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

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

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

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica Introdução a Programação Ponteiros e Vetores, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos que existe uma forte relação entre ponteiros e vetores Associação entre ponteiros e vetores Ponteiros constantes

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 [email protected] [email protected] Roteiro SubProgramas Procedimentos Funções Exercícios Gustavo Callou DEINFO/UFRPE 2 Sistema

Leia mais