Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções e passagem de parâmetros Prof. DSc. Newton Spolaôr Disciplina Computação I Bacharelado em Ciência da Computação Universidade Estadual do Oeste do Paraná (UNIOESTE) Brasil 13/09/2016 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Sumário 1 Introdução 2 Funções e passagem de parâmetros em C 3 Exercícios 4 Considerações finais Newton Spolaôr Funções e passagem de parâmetros 2 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Aula anterior em um breve olhar Na aula anterior foram abordados comandos de entrada e saída de dados em C Scanf: comando de entrada de dados Printf: comando de saída de dados Também falamos sobre as máscaras de formatação Nesta aula, falaremos sobre funções e passagem de parâmetros em C Newton Spolaôr Funções e passagem de parâmetros 3 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Aula anterior em um breve olhar Na aula anterior foram abordados comandos de entrada e saída de dados em C Scanf: comando de entrada de dados Printf: comando de saída de dados Também falamos sobre as máscaras de formatação Nesta aula, falaremos sobre funções e passagem de parâmetros em C Newton Spolaôr Funções e passagem de parâmetros 3 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Motivação para subalgoritmos [1, 2, 3, 4] Com o avanço do estudo sobre algoritmos os problemas a serem solucionado aumentam em complexidade Consequentemente, os algoritmos tendem a ficar cada vez maiores, dificultando a legibilidade e manutenção deles Uma alternativa para reduzir a complexidade consiste em usar a estratégia dividir para conquistar Newton Spolaôr Funções e passagem de parâmetros 4 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Motivação para procedimentos e funções [1, 2, 3, 4] Algumas vantagens relacionadas a subalgoritmos Facilitar reuso de código: se um trecho de código é repetido várias vezes, é bom candidato a se tornar um subalgoritmo Possibilidade de aninhamento: um subalgoritmo pode conter um ou mais subalgoritmos, permitindo dividir o problema em partes ainda menores Potencial melhora na coesão e acoplamento Suporte à recursão: um subalgoritmo pode chamar a si próprio, o que é essencial para resolver determinados tipos de problemas Newton Spolaôr Funções e passagem de parâmetros 5 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Caracterização de subalgoritmos [4, 2, 1] Assim como ocorre com um algoritmo, um subalgoritmo é uma sequência de instruções que realizam entrada, processamento e saída de dados Existem dois tipos de subalgoritmos Procedimento. Nunca retorna saída Função. Sempre gera (ou retorna) uma saída Newton Spolaôr Funções e passagem de parâmetros 6 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Caracterização de subalgoritmos [4, 2, 1] Cada subalgoritmo é associado a um nome (identificador) Quando se usa esse nome em um comando dentro do código chamador (programa principal ou outro subalgoritmo), se realiza uma chamada ao subalgoritmo associado ao nome A chamada de um subalgoritmo desvia o fluxo de execução do código chamador para o subalgoritmo Quando o subalgoritmo termina, o fluxo retorna ao código chamador, no ponto imediatamente posterior à chamada Newton Spolaôr Funções e passagem de parâmetros 7 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Caracterização de subalgoritmos [4, 2, 1] Além do nome, cada subalgoritmo está associado a 0, 1 ou mais parâmetros Cada parâmetro pode ser visto como uma variável que recebe um argumento (valor) do código chamador Por meio de parâmetros e argumentos, é possível ao código chamador fornecer dados de entrada para subalgoritmos Toda chamada a um subalgoritmo com parâmetros deve fornecer argumentos para esses parâmetros Newton Spolaôr Funções e passagem de parâmetros 8 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros para subalgoritmos [2] Dependendo do tipo de valor fornecido como argumento, são obtidas duas maneiras de realizar passagem de parâmetros a subalgoritmos Passagem de parâmetros por valor: argumento é o valor de uma variável Passagem de parâmetros por referência: argumento é o endereço de uma variável Newton Spolaôr Funções e passagem de parâmetros 9 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros para subalgoritmos [2] Dependendo do tipo de valor fornecido como argumento, são obtidas duas maneiras de realizar passagem de parâmetros a subalgoritmos Passagem de parâmetros por valor: argumento é o valor de uma variável Passagem de parâmetros por referência: argumento é o endereço de uma variável Newton Spolaôr Funções e passagem de parâmetros 9 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros para subalgoritmos [2] Dependendo do tipo de valor fornecido como argumento, são obtidas duas maneiras de realizar passagem de parâmetros a subalgoritmos Passagem de parâmetros por valor: argumento é o valor de uma variável Passagem de parâmetros por referência: argumento é o endereço de uma variável Newton Spolaôr Funções e passagem de parâmetros 9 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por valor [4] No seguinte exemplo, duas variáveis do programa principal, x e y , contém os valores 5 e 3 Esse algoritmo chama uma função denominada soma_dobro usando x e y como argumentos A função resulta na soma do dobro dos parâmetros a e b, o que é armazenado na variável res do algoritmo principal Figura: Passagem dos parâmetros a e b por valor Newton Spolaôr Funções e passagem de parâmetros 10 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por valor Como resultado da passagem por valor,um parâmetro é simplesmente uma cópia de um argumento (valor), sendo o argumento geralmente uma variável Embora essa abordagem seja suficiente em vários casos, existem motivos para buscar alternativas Procedure/função deve retornar mais de um valor Procedure/função necessita alterar o valor original fornecido como argumento, ou seja, alterar uma variável do programa principal Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável Newton Spolaôr Funções e passagem de parâmetros 11 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por valor Como resultado da passagem por valor, um parâmetro é simplesmente uma cópia de um argumento (valor), sendo o argumento geralmente uma variável Embora essa abordagem seja suficiente em vários casos, existem motivos para buscar alternativas Procedure/função deve retornar mais de um valor Procedure/função necessita alterar o valor original fornecido como argumento, ou seja, alterar uma variável do programa principal Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável Newton Spolaôr Funções e passagem de parâmetros 11 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por valor Como resultado da passagem por valor, um parâmetro é simplesmente uma cópia de um argumento (valor), sendo o argumento geralmente uma variável Embora essa abordagem seja suficiente em vários casos, existem motivos para buscar alternativas Procedure/função deve retornar mais de um valor Procedure/função necessita alterar o valor original fornecido como argumento, ou seja, alterar uma variável do programa principal Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável Newton Spolaôr Funções e passagem de parâmetros 11 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por valor Como resultado da passagem por valor, um parâmetro é simplesmente uma cópia de um argumento (valor), sendo o argumento geralmente uma variável Embora essa abordagem seja suficiente em vários casos, existem motivos para buscar alternativas Procedure/função deve retornar mais de um valor Procedure/função necessita alterar o valor original fornecido como argumento, ou seja, alterar uma variável do programa principal Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável Newton Spolaôr Funções e passagem de parâmetros 11 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por referência Uma alternativa é obtida com a passagem de parâmetros por referência Neste caso, um parâmetro se torna uma cópia do endereço do argumento, o que permite atender os motivos mencionados anteriormente Procedure/função deve retornar mais de um valor: cada parâmetro pode ser usado para retornar um valor (parâmetro de “saída”) Procedure/função necessita alterar o valor original fornecido como argumento: alterações em um parâmetro são mantidas após o término do procedure/função Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável: somente uma variável simples, representando um endereço, é copiada Newton Spolaôr Funções e passagem de parâmetros 12 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por referência Uma alternativa é obtida com a passagem de parâmetros por referência Neste caso, um parâmetro se torna uma cópia do endereço do argumento, o que permite atender os motivos mencionados anteriormente Procedure/função deve retornar mais de um valor: cada parâmetro pode ser usado para retornar um valor (parâmetro de “saída”) Procedure/função necessita alterar o valor original fornecido como argumento: alterações em um parâmetro são mantidas após o término do procedure/função Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável: somente uma variável simples, representando um endereço, é copiada Newton Spolaôr Funções e passagem de parâmetros 12 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por referência Uma alternativa é obtida com a passagem de parâmetros por referência Neste caso, um parâmetro se torna uma cópia do endereço do argumento, o que permite atender os motivos mencionados anteriormente Procedure/função deve retornar mais de um valor: cada parâmetro pode ser usado para retornar um valor (parâmetro de “saída”) Procedure/função necessita alterar o valor original fornecido como argumento: alterações em um parâmetro são mantidas após o término do procedure/função Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável: somente uma variável simples, representando um endereço, é copiada Newton Spolaôr Funções e passagem de parâmetros 12 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por referência Uma alternativa é obtida com a passagem de parâmetros por referência Neste caso, um parâmetro se torna uma cópia do endereço do argumento, o que permite atender os motivos mencionados anteriormente Procedure/função deve retornar mais de um valor: cada parâmetro pode ser usado para retornar um valor (parâmetro de “saída”) Procedure/função necessita alterar o valor original fornecido como argumento: alterações em um parâmetro são mantidas após o término do procedure/função Economia de memória, pois cada cópia de argumento gera temporariamente uma nova variável: somente uma variável simples, representando um endereço, é copiada Newton Spolaôr Funções e passagem de parâmetros 12 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por referência [4] No seguinte exemplo, as variáveis do algoritmo principal, x e y , estão declaradas na memória nos endereços 800 e 300, respectivamente Como os parâmetros a e b são associados aos endereços de x e y , respectivamente, qualquer alteração em a e b reflete diretamente em x e y Newton Spolaôr Funções e passagem de parâmetros 13 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Passagem de parâmetros por referência Como o uso de passagem de parâmetros por referência permite a alteração de variáveis globais, esse recurso deve ser usado com cuidado Por outro lado, a passagem por referência ilustra o uso de um conceito importante emprogramação: ponteiros No restante dessa aula, serão abordados tanto a criação de subalgoritmos quanto a passagem de parâmetros por valor e referência na linguagem C Newton Spolaôr Funções e passagem de parâmetros 14 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Objetivo desta aula Apresentar funções e passagem de parâmetros em C. Newton Spolaôr Funções e passagem de parâmetros 15 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Sumário 1 Introdução 2 Funções e passagem de parâmetros em C 3 Exercícios 4 Considerações finais Newton Spolaôr Funções e passagem de parâmetros 16 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Funções em C [5, 6, 1] Em C, tanto funções quanto procedimentos são chamados funções; a diferença prática entre eles ocorre no tipo de retorno, como indicado ainda nesta aula Todo programa tem ao menos uma função, chamada main, a qual corresponde ao programa principal A declaração (interface ou protótipo) de uma função indica o nome, tipo de retorno e os parâmetros dessa função, sendo útil em bibliotecas, por exemplo Por outro lado, a definição corresponde à implementação de uma função Newton Spolaôr Funções e passagem de parâmetros 17 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Funções em C [5, 6, 1] Em C, tanto funções quanto procedimentos são chamados funções; a diferença prática entre eles ocorre no tipo de retorno, como indicado ainda nesta aula Todo programa tem ao menos uma função, chamada main, a qual corresponde ao programa principal A declaração (interface ou protótipo) de uma função indica o nome, tipo de retorno e os parâmetros dessa função, sendo útil em bibliotecas, por exemplo Por outro lado, a definição corresponde à implementação de uma função Newton Spolaôr Funções e passagem de parâmetros 17 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Funções em C [5, 6, 1] Em C, tanto funções quanto procedimentos são chamados funções; a diferença prática entre eles ocorre no tipo de retorno, como indicado ainda nesta aula Todo programa tem ao menos uma função, chamada main, a qual corresponde ao programa principal A declaração (interface ou protótipo) de uma função indica o nome, tipo de retorno e os parâmetros dessa função, sendo útil em bibliotecas, por exemplo Por outro lado, a definição corresponde à implementação de uma função Newton Spolaôr Funções e passagem de parâmetros 17 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Funções em C [5, 6, 1] Em C, tanto funções quanto procedimentos são chamados funções; a diferença prática entre eles ocorre no tipo de retorno, como indicado ainda nesta aula Todo programa tem ao menos uma função, chamada main, a qual corresponde ao programa principal A declaração (interface ou protótipo) de uma função indica o nome, tipo de retorno e os parâmetros dessa função, sendo útil em bibliotecas, por exemplo Por outro lado, a definição corresponde à implementação de uma função Newton Spolaôr Funções e passagem de parâmetros 17 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Definição de uma função [6, 1] tipo_retorno nome_função(lista_parâmetros) { corpo_função } Tipo_retorno: tipo de dados do valor a ser retornado, ou void para indicar ausência de retorno (“procedimento”) Nome_função: identificador da função Lista_parâmetros: sequência de 0, 1 ou mais parâmetros Corpo_função: sequência de 1 ou mais comandos, sendo um deles o return – exceto para tipo de retorno void Newton Spolaôr Funções e passagem de parâmetros 18 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Exemplo de definição de função em C [6] Figura: Neste exemplo, os parâmetros são passados por valor e há o retorno de um valor int Newton Spolaôr Funções e passagem de parâmetros 19 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Exemplo de definição de função sem retorno [5] Figura: Neste exemplo não há nenhum retorno, lembrando um procedimento do Pascal Newton Spolaôr Funções e passagem de parâmetros 20 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Chamada de função [5, 6, 1] Quando realizamos a chamada a uma função 1 Os argumentos são enviados aos parâmetros 2 O corpo da função é executado 3 O fluxo de execução retorna ao código chamador, no ponto imediatamente posterior à chamada Os comandos no corpo da função são executados até aparecer um return ou não existir mais comandos para execução nessa função Newton Spolaôr Funções e passagem de parâmetros 21 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Chamada de função [5, 6, 1] Quando realizamos a chamada a uma função 1 Os argumentos são enviados aos parâmetros 2 O corpo da função é executado 3 O fluxo de execução retorna ao código chamador, no ponto imediatamente posterior à chamada Os comandos no corpo da função são executados até aparecer um return ou não existir mais comandos para execução nessa função Newton Spolaôr Funções e passagem de parâmetros 21 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Chamada de função [5, 6, 1] Quando realizamos a chamada a uma função 1 Os argumentos são enviados aos parâmetros 2 O corpo da função é executado 3 O fluxo de execução retorna ao código chamador, no ponto imediatamente posterior à chamada Os comandos no corpo da função são executados até aparecer um return ou não existir mais comandos para execução nessa função Newton Spolaôr Funções e passagem de parâmetros 21 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Chamada de função [5, 6, 1] Quando realizamos a chamada a uma função 1 Os argumentos são enviados aos parâmetros 2 O corpo da função é executado 3 O fluxo de execução retorna ao código chamador, no ponto imediatamente posterior à chamada Os comandos no corpo da função são executados até aparecer um return ou não existir mais comandos para execução nessa função Newton Spolaôr Funções e passagem de parâmetros 21 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Chamada de função [5, 6, 1] Quando realizamos a chamada a uma função 1 Os argumentos são enviados aos parâmetros 2 O corpo da função é executado 3 O fluxo de execução retorna ao código chamador, no ponto imediatamente posterior à chamada Os comandos no corpo da função são executados até aparecer um return ou não existir mais comandos para execução nessa função Newton Spolaôr Funções e passagem de parâmetros 21 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Exemplo de chamada de função [6] Newton Spolaôr Funções e passagem de parâmetros 22 Introdução Funções e passagem de parâmetros emC Exercícios Considerações finais Funções em C Passagem de parâmetros Passagem de parâmetros por valor [1] Os exemplos indicados até aqui se referem à passagem de parâmetros por valor Ainda que existam algumas diferenças em termos de sintaxe, a implementação dessa modalidade de passagem de parâmetros em C lembra o que ocorre no Pascal A diferença marcante entre C e Pascal no contexto de funções se refere à passagem de parâmetros por referência Newton Spolaôr Funções e passagem de parâmetros 23 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Passagem de parâmetros por valor [1] Os exemplos indicados até aqui se referem à passagem de parâmetros por valor Ainda que existam algumas diferenças em termos de sintaxe, a implementação dessa modalidade de passagem de parâmetros em C lembra o que ocorre no Pascal A diferença marcante entre C e Pascal no contexto de funções se refere à passagem de parâmetros por referência Newton Spolaôr Funções e passagem de parâmetros 23 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Passagem de parâmetros por referência [1] Cada parâmetro de uma função passado por referência indica (aponta para) a variável argumento informado durante a chamada de função Para tanto, é necessário informar o endereço do argumento para o que o parâmetro possa referenciá-lo Dentro da função, o parâmetro é usado por meio de um ponteiro (endereço de memória) Após o término da função, qualquer alteração realizada no parâmetro repercutirá no argumento Newton Spolaôr Funções e passagem de parâmetros 24 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Exemplo de passagem por referência [1] Newton Spolaôr Funções e passagem de parâmetros 25 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Exemplo de passagem por referência [6] #include <stdio.h> void swap(int *x, int *y) { int temp; temp = *x; /* save the value at address x */ *x = *y; /* put y into x */ *y = temp; /* put temp into y */ } Newton Spolaôr Funções e passagem de parâmetros 26 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Exemplo de passagem por referência [6] int main () { /* local variable definition */ int a = 100; int b = 200; printf("Before swap, value of a : %d\n", a ); printf("Before swap, value of b : %d\n", b ); Newton Spolaôr Funções e passagem de parâmetros 27 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Funções em C Passagem de parâmetros Exemplo de programa fonte em C [6] /* calling a function to swap the values. * &a indicates the address (pointer to) a * &a indicates the address (pointer to) b */ swap(&a, &b); printf("After swap, value of a : %d\n", a ); printf("After swap, value of b : %d\n", b ); return 0; } Newton Spolaôr Funções e passagem de parâmetros 28 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Sumário 1 Introdução 2 Funções e passagem de parâmetros em C 3 Exercícios 4 Considerações finais Newton Spolaôr Funções e passagem de parâmetros 29 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Exercício 1 [1] Crie uma função que receba as coordenadas de 2 pontos no plano cartesiano e retorne a distância entre eles. Newton Spolaôr Funções e passagem de parâmetros 30 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Exercício 2 Escreva uma função sem retorno que verifica se um ano A é bissexto ou não, conforme a seguinte regra: “um ano bissexto é divisível por 4 mas não por 100, ou então é divisível por 400” Essa função deve também escrever na tela uma mensagem similar a “O ano A é bissexto” ou “O ano A não é bissexto”, de acordo com o resultado obtido Crie um programa principal que faça uma chamada a essa função, fornecendo o ano A como parâmetro Newton Spolaôr Funções e passagem de parâmetros 31 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Exercício 3 Faça uma função que implemente o “scanf amigável” para leitura de uma variável para algum tipo de dados da linguagem C Newton Spolaôr Funções e passagem de parâmetros 32 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Exercício 4 [1] Crie uma função C que, dado os três coeficientes de uma equação do segundo grau, calcule as raízes dessa equação Tanto os coeficientes quanto as raízes são parâmetros da função O retorno da função consiste na quantidade de raízes da equação Newton Spolaôr Funções e passagem de parâmetros 33 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Considerações finais 1 Introdução 2 Funções e passagem de parâmetros em C 3 Exercícios 4 Considerações finais Newton Spolaôr Funções e passagem de parâmetros 34 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Considerações finais Nesta aula foram apresentados conceitos sobre funções e passagem de parâmetros em C Na próxima aula, vamos falar sobre manipulação de strings Newton Spolaôr Funções e passagem de parâmetros 35 Introdução Funções e passagem de parâmetros em C Exercícios Considerações finais Contato newtonsp.unioeste@gmail.com Newton Spolaôr Funções e passagem de parâmetros 36 Referências [1] Denis F. Wolf. Algoritmos. http://wiki.icmc.usp.br/index.php/Scc-101, 2014. Notas didáticas. [2] Marcelo Santos Linder. Algoritmos e programação. www.univasf.edu.br/ marcelo.linder, 2011. Notas didáticas. [3] Christian J. Pereira. Apostila sobre visualg. http://www2.joinville.udesc.br/ alp/arquivos/U- DESC_Apostila_sobre_Visualg_2011.pdf, 2011. [4] Ana Fernanda Gomes Ascencio and Edilene Aparecida Veneruchi de Campos. Fundamentos da Programação de Computadores - Algoritmos, Pascal, C/C++ e Java. Prentice Hall, 2 edition, 2007. [5] Wikibooks. C Programming. Wikibooks, 2016. [6] Tutorialspoint. C - data types. Newton Spolaôr Funções e passagem de parâmetros 36 Referências http://www.tutorialspoint.com/cprogramming/c_data_types.htm, 2014. Newton Spolaôr Funções e passagem de parâmetros 36 Introdução Aula anterior em um breve olhar Motivação para funções e passagem de parâmetros Passagem de parâmetros Objetivo desta aula Funções e passagem de parâmetros em C Funções em C Passagem de parâmetros Exercícios Considerações finais
Compartilhar