·
Ciência da Computação ·
Introdução à Lógica e Programação
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
10
Introdução às Strings em C++
Introdução à Lógica e Programação
UFAL
7
Implementação de Busca Binária e Funções de Ordenação em C++
Introdução à Lógica e Programação
UFAL
1
Verificação de Sorteio para Visto de Estágio
Introdução à Lógica e Programação
UFAL
18
Conceitos sobre Vetores em Programação
Introdução à Lógica e Programação
UFAL
18
Introdução a Vetores em Programação
Introdução à Lógica e Programação
UFAL
7
Estruturas de Dados: Pilhas, Filas e Listas em C
Introdução à Lógica e Programação
UFAL
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
33
Programa em C para Calcular Soma e Produto de Dois Números
Introdução à Lógica e Programação
UFAL
4
Operações e Estatísticas com Vector em C++
Introdução à Lógica e Programação
UFAL
Texto de pré-visualização
Funções Funções ou subrotinas subprogramas são blocos de código que agrupam sequências de operações que atrelados a um nome podem ser invocados em todo o programa de forma que tal sequência possa ser executada A ideia de funções está em encapsular uma ideia ou operação Benefícios Clareza do Código Reutilização Independência Declaração de uma função tipo de retorno da função nome da função 1º parâmetro 2º parâmetro nº parâmetro corpo da função Declaração de uma função Em CC todas as funções DEVEM ser definidas ANTES da função main ou então utilizar um protótipo da função O nome de uma função DEVE ser ÚNICO não pode ser igual ao nome de outra função ou de uma variável A mesma regra de nomenclatura de variáveis é aplicável à nomenclatura de funções Valor de retorno Uma função pode executar algum tipo de processamento ou cálculo e precisa retornar o resultado dessa operação tipo de retorno da função int float double char void Valor de retorno void Se o retorno for void significa que a função se comporta como uma subrotina ie a função não precisa retornar um valor ex printf Muitos dizem que a função main tem tipo de retorno void o que não está correto Segundo o padrão da linguagem C a função maindeve ter retorno do tipo int Alguns compiladores a exemplo do gcc darão mensagens de erro caso a função main não seja definida corretamente Parâmetros A comunicação com uma função se faz através dos argumentos que lhe são enviados e dos parâmetros presentes na função que os recebe Os parâmetros funcionam como variáveis locais Ex void funcaoint a char b float c double d Quando se faz a chamada de uma função o número e o tipo dos argumentos enviados devem ser coincidentes com os parâmetros presentes no cabeçalho de função void funcaoint a char b float c double d main funcao10B8459567 Protótipo de uma Função Caso a definição da função apareça após a função main o seguinte erro virá a tona function função redefinition includestdioh void teste declaração da função teste int main teste invocação à função teste dentro do bloco principal void teste corpo da função teste Exemplo de uma função int somaint numA int numB int resultadoSoma resultadoSoma numA numB return resultadoSoma Tipo de retorno Parâmetros Valor de retorno A função main Um programa em C deve possuir SEMPRE a função main escrita no seu código independentemente das outras funções existentes no programa includestdioh int main int argc char argv Argumentos da função main argc é um inteiro que indica o número de argumentos digitados na linha de comando argv é um ponteiro para um string sequência de caracteres que contém todos os argumentos da linha de comando int main int argc char argv ifargc 2 printfvoce esqueceu de digitar seu nome printfalo s argv1 return 0 Exercício 15 Cálculo da Média Implemente um programa em C que Leia quatros notas de um aluno Faça o calculo da média executando uma função chamada calcmedia Imprima o resultado do cálculo Conceito de recursividade Um objeto é dito recursivo se ele consistir parcialmente ou for definido em termos de si próprio Recursão é o processo repetitivo no qual uma função chama a si mesma Chamada direta ou indireta Uma função recursiva deve seguir duas regras básicas Ter uma condição de parada Tornar o problema mais simples Quando uma função recursiva está sendo executada são alocados novos parâmetros e variáveis locais na memória para cada chamada da função em questão Recursividade na programação Vantagens Simplificam a solução de alguns problemas Redução do código fonte da rotina Desvantagens São mais lentas que funções iterativas devido ao tempo gasto no gerenciamento Erros de implementação podem levar à estouro de pilha Pilha de Execução Dificuldade de depuração dos programas principalmente se a recursão for muito profunda Recursividade na programação Para escrever uma rotina recursiva devemos definir dois elementos uma condição de parada escapecaso base a expressão recursiva o próprio módulo chama a si mesmo A linguagem C permite a recursão Gerencia a passagem de parâmetros quando estes subprogramas são chamados usando uma estrutura de dados especial chamada Pilha de Execução stack 17 Fatorial N N 0 1 N 0 N FatorialN1 Fatorial5 5 Fatorial4 Fatorial4 4 Fatorial3 Fatorial3 3 Fatorial2 Fatorial2 2 Fatorial1 Fatorial1 1 Fatorial0 Fatorial0 1 1 1 1 2 1 2 3 2 6 4 6 24 5 24 120 5 4 3 2 1 1 5 4 3 2 1 5 4 3 2 5 4 6 5 24 120 Funções Recursivas Fatorial Uma solução recursiva para um problema envolve um caminho de dois sentidos 1 o problema é decomposto no sentido topdown e 2 resolvido no sentido bottomup Exercício 16 Cálculo do Fatorial Implemente um programa em C que Leia um número inteiro Execute uma função recursiva para calcular o fatorial do número informado Apresente o resultado Exercício 16 Cálculo do Fatorial include iostream using namespace std int calcularFatorialRecint num int fatorial ifnum 0 fatorial 1 else fatorial num calcularFatorialRecnum1 return fatorial int main int num cout Informe um número inteiro e positivo cin num cout O fatorial de num eh calcularFatorialRecnum endl return 0 Exercício 17 Elevar um número a uma Potência Implemente um programa em C que Leia um número inteiro maior do que ZERO Leia um expoente com valor igual ou maior a 0 Execute uma função recursiva para calcular o número elevado ao expoente informado PotenciaNE 1 se E 0 N PotenciaN E 1 Exercício 17 Elevar um número a uma Potência include iostream using namespace std int calcpotenciaint numero int e int resultado ife 0 resultado 1 else resultado numero calcpotencianumero e1 return resultado int main int numero e resultado cout Informe um numero inteiro endl cin numero cout Informe a potencia endl cin e cout O resultado eh calcpotencianumero e endl Exercícios Sala de aula 18Crie um programa em C que leia os preços de 4 produtos e execute uma função para calcular a média dos preços dos produtos 18Crie um programa em C para calcular as médias das alturas e dos pesos de 4 pessoas Entrada seu programa deve ler as medidas das alturas das 4 pessoas Em seguida deve ler as medidas dos pesos das quatro pessoas Saída seu programa deve calcular as médias das alturas e dos pesos das pessoas e em seguida apresentar o resultado A média de altura é A média de peso é
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
10
Introdução às Strings em C++
Introdução à Lógica e Programação
UFAL
7
Implementação de Busca Binária e Funções de Ordenação em C++
Introdução à Lógica e Programação
UFAL
1
Verificação de Sorteio para Visto de Estágio
Introdução à Lógica e Programação
UFAL
18
Conceitos sobre Vetores em Programação
Introdução à Lógica e Programação
UFAL
18
Introdução a Vetores em Programação
Introdução à Lógica e Programação
UFAL
7
Estruturas de Dados: Pilhas, Filas e Listas em C
Introdução à Lógica e Programação
UFAL
35
Introdução a Ponteiros e Arrays em C
Introdução à Lógica e Programação
UFAL
33
Programa em C para Calcular Soma e Produto de Dois Números
Introdução à Lógica e Programação
UFAL
4
Operações e Estatísticas com Vector em C++
Introdução à Lógica e Programação
UFAL
Texto de pré-visualização
Funções Funções ou subrotinas subprogramas são blocos de código que agrupam sequências de operações que atrelados a um nome podem ser invocados em todo o programa de forma que tal sequência possa ser executada A ideia de funções está em encapsular uma ideia ou operação Benefícios Clareza do Código Reutilização Independência Declaração de uma função tipo de retorno da função nome da função 1º parâmetro 2º parâmetro nº parâmetro corpo da função Declaração de uma função Em CC todas as funções DEVEM ser definidas ANTES da função main ou então utilizar um protótipo da função O nome de uma função DEVE ser ÚNICO não pode ser igual ao nome de outra função ou de uma variável A mesma regra de nomenclatura de variáveis é aplicável à nomenclatura de funções Valor de retorno Uma função pode executar algum tipo de processamento ou cálculo e precisa retornar o resultado dessa operação tipo de retorno da função int float double char void Valor de retorno void Se o retorno for void significa que a função se comporta como uma subrotina ie a função não precisa retornar um valor ex printf Muitos dizem que a função main tem tipo de retorno void o que não está correto Segundo o padrão da linguagem C a função maindeve ter retorno do tipo int Alguns compiladores a exemplo do gcc darão mensagens de erro caso a função main não seja definida corretamente Parâmetros A comunicação com uma função se faz através dos argumentos que lhe são enviados e dos parâmetros presentes na função que os recebe Os parâmetros funcionam como variáveis locais Ex void funcaoint a char b float c double d Quando se faz a chamada de uma função o número e o tipo dos argumentos enviados devem ser coincidentes com os parâmetros presentes no cabeçalho de função void funcaoint a char b float c double d main funcao10B8459567 Protótipo de uma Função Caso a definição da função apareça após a função main o seguinte erro virá a tona function função redefinition includestdioh void teste declaração da função teste int main teste invocação à função teste dentro do bloco principal void teste corpo da função teste Exemplo de uma função int somaint numA int numB int resultadoSoma resultadoSoma numA numB return resultadoSoma Tipo de retorno Parâmetros Valor de retorno A função main Um programa em C deve possuir SEMPRE a função main escrita no seu código independentemente das outras funções existentes no programa includestdioh int main int argc char argv Argumentos da função main argc é um inteiro que indica o número de argumentos digitados na linha de comando argv é um ponteiro para um string sequência de caracteres que contém todos os argumentos da linha de comando int main int argc char argv ifargc 2 printfvoce esqueceu de digitar seu nome printfalo s argv1 return 0 Exercício 15 Cálculo da Média Implemente um programa em C que Leia quatros notas de um aluno Faça o calculo da média executando uma função chamada calcmedia Imprima o resultado do cálculo Conceito de recursividade Um objeto é dito recursivo se ele consistir parcialmente ou for definido em termos de si próprio Recursão é o processo repetitivo no qual uma função chama a si mesma Chamada direta ou indireta Uma função recursiva deve seguir duas regras básicas Ter uma condição de parada Tornar o problema mais simples Quando uma função recursiva está sendo executada são alocados novos parâmetros e variáveis locais na memória para cada chamada da função em questão Recursividade na programação Vantagens Simplificam a solução de alguns problemas Redução do código fonte da rotina Desvantagens São mais lentas que funções iterativas devido ao tempo gasto no gerenciamento Erros de implementação podem levar à estouro de pilha Pilha de Execução Dificuldade de depuração dos programas principalmente se a recursão for muito profunda Recursividade na programação Para escrever uma rotina recursiva devemos definir dois elementos uma condição de parada escapecaso base a expressão recursiva o próprio módulo chama a si mesmo A linguagem C permite a recursão Gerencia a passagem de parâmetros quando estes subprogramas são chamados usando uma estrutura de dados especial chamada Pilha de Execução stack 17 Fatorial N N 0 1 N 0 N FatorialN1 Fatorial5 5 Fatorial4 Fatorial4 4 Fatorial3 Fatorial3 3 Fatorial2 Fatorial2 2 Fatorial1 Fatorial1 1 Fatorial0 Fatorial0 1 1 1 1 2 1 2 3 2 6 4 6 24 5 24 120 5 4 3 2 1 1 5 4 3 2 1 5 4 3 2 5 4 6 5 24 120 Funções Recursivas Fatorial Uma solução recursiva para um problema envolve um caminho de dois sentidos 1 o problema é decomposto no sentido topdown e 2 resolvido no sentido bottomup Exercício 16 Cálculo do Fatorial Implemente um programa em C que Leia um número inteiro Execute uma função recursiva para calcular o fatorial do número informado Apresente o resultado Exercício 16 Cálculo do Fatorial include iostream using namespace std int calcularFatorialRecint num int fatorial ifnum 0 fatorial 1 else fatorial num calcularFatorialRecnum1 return fatorial int main int num cout Informe um número inteiro e positivo cin num cout O fatorial de num eh calcularFatorialRecnum endl return 0 Exercício 17 Elevar um número a uma Potência Implemente um programa em C que Leia um número inteiro maior do que ZERO Leia um expoente com valor igual ou maior a 0 Execute uma função recursiva para calcular o número elevado ao expoente informado PotenciaNE 1 se E 0 N PotenciaN E 1 Exercício 17 Elevar um número a uma Potência include iostream using namespace std int calcpotenciaint numero int e int resultado ife 0 resultado 1 else resultado numero calcpotencianumero e1 return resultado int main int numero e resultado cout Informe um numero inteiro endl cin numero cout Informe a potencia endl cin e cout O resultado eh calcpotencianumero e endl Exercícios Sala de aula 18Crie um programa em C que leia os preços de 4 produtos e execute uma função para calcular a média dos preços dos produtos 18Crie um programa em C para calcular as médias das alturas e dos pesos de 4 pessoas Entrada seu programa deve ler as medidas das alturas das 4 pessoas Em seguida deve ler as medidas dos pesos das quatro pessoas Saída seu programa deve calcular as médias das alturas e dos pesos das pessoas e em seguida apresentar o resultado A média de altura é A média de peso é