Introdução
Neste laboratório, você aprenderá a avaliar funções por partes na programação em C. O laboratório cobre os passos para ler um valor de entrada, usar instruções if/else para determinar qual fórmula aplicar e imprimir o resultado avaliado. Você começará solicitando ao usuário que insira um valor para a variável x, em seguida, implementará uma função por partes com diferentes fórmulas com base no valor de entrada. Este laboratório ajudará você a desenvolver suas habilidades em trabalhar com expressões algébricas e lógica condicional em C.
Ler o Valor de Entrada x
Neste passo, você aprenderá como ler um valor de entrada para uma função por partes em programação C. Criaremos um programa simples que permite aos usuários inserir um valor numérico a ser usado na avaliação da função.
Primeiro, crie um novo arquivo C no diretório do projeto:
cd ~/project
nano piecewise_function.c
Agora, adicione o seguinte código ao arquivo:
#include <stdio.h>
int main() {
double x;
// Solicita ao usuário que insira um valor para x
printf("Digite um valor para x: ");
// Lê o valor de entrada
scanf("%lf", &x);
// Imprime o valor de entrada para confirmação
printf("Você digitou x = %.2f\n", x);
return 0;
}
Compile o programa:
gcc piecewise_function.c -o piecewise_function
Execute o programa:
./piecewise_function
Exemplo de saída:
Digite um valor para x: 5.5
Você digitou x = 5.50
Vamos analisar o código:
#include <stdio.h>inclui a biblioteca de entrada/saída padrãodouble x;declara uma variável para armazenar o valor de entradaprintf()exibe um prompt para o usuárioscanf()lê o valor de entrada como um número de ponto flutuante de precisão dupla%.2fformata a saída para exibir duas casas decimais
Usar if/else para Determinar Qual Fórmula Aplicar
Neste passo, você modificará o programa anterior para implementar uma função por partes usando instruções if/else. Criaremos uma função com diferentes fórmulas com base no valor de entrada x.
Atualize o arquivo piecewise_function.c:
cd ~/project
nano piecewise_function.c
Substitua o conteúdo anterior pelo seguinte código:
#include <stdio.h>
// Define uma função por partes
double piecewise_function(double x) {
// Condição 1: Se x for menor que 0
if (x < 0) {
return x * x; // f(x) = x^2 para x < 0
}
// Condição 2: Se x estiver entre 0 e 5
else if (x >= 0 && x < 5) {
return 2 * x + 3; // f(x) = 2x + 3 para 0 ≤ x < 5
}
// Condição 3: Se x for maior ou igual a 5
else {
return x - 2; // f(x) = x - 2 para x ≥ 5
}
}
int main() {
double x;
// Solicita ao usuário que insira um valor para x
printf("Digite um valor para x: ");
// Lê o valor de entrada
scanf("%lf", &x);
// Calcula e imprime o resultado da função por partes
double result = piecewise_function(x);
printf("f(%.2f) = %.2f\n", x, result);
return 0;
}
Compile o programa:
gcc piecewise_function.c -o piecewise_function
Execute o programa com diferentes valores de entrada:
./piecewise_function
Exemplo de saída 1:
Digite um valor para x: -2
f(-2.00) = 4.00
Exemplo de saída 2:
Digite um valor para x: 3
f(3.00) = 9.00
Exemplo de saída 3:
Digite um valor para x: 6
f(6.00) = 4.00
Vamos analisar o código:
piecewise_function()implementa três fórmulas diferentes com base no valor de x- As instruções
if/elseverificam as condições e aplicam a fórmula apropriada - A função retorna o valor calculado com base no valor de entrada x
Imprimir o Resultado Avaliado
Neste passo final, você aprimorará o programa da função por partes para fornecer uma saída mais detalhada e demonstrar o comportamento da função em diferentes intervalos de entrada.
Vamos modificar o arquivo piecewise_function.c para adicionar a impressão de resultados mais abrangente:
cd ~/project
nano piecewise_function.c
Atualize o código com a seguinte implementação:
#include <stdio.h>
// Define uma função por partes
double piecewise_function(double x) {
// Condição 1: Se x for menor que 0
if (x < 0) {
return x * x; // f(x) = x^2 para x < 0
}
// Condição 2: Se x estiver entre 0 e 5
else if (x >= 0 && x < 5) {
return 2 * x + 3; // f(x) = 2x + 3 para 0 ≤ x < 5
}
// Condição 3: Se x for maior ou igual a 5
else {
return x - 2; // f(x) = x - 2 para x ≥ 5
}
}
int main() {
double x;
// Solicita ao usuário que insira um valor para x
printf("Avaliação de Função por Partes\n");
printf("Regras da função:\n");
printf(" f(x) = x^2 para x < 0\n");
printf(" f(x) = 2x + 3 para 0 ≤ x < 5\n");
printf(" f(x) = x - 2 para x ≥ 5\n\n");
printf("Digite um valor para x: ");
// Lê o valor de entrada
scanf("%lf", &x);
// Calcula o resultado da função por partes
double result = piecewise_function(x);
// Fornece saída detalhada
printf("\nAnálise de Entrada:\n");
printf(" Valor de entrada x: %.2f\n", x);
// Determina e imprime a fórmula aplicada
if (x < 0) {
printf(" Fórmula aplicada: f(x) = x^2\n");
}
else if (x >= 0 && x < 5) {
printf(" Fórmula aplicada: f(x) = 2x + 3\n");
}
else {
printf(" Fórmula aplicada: f(x) = x - 2\n");
}
// Imprime o resultado final
printf(" Resultado f(x): %.2f\n", result);
return 0;
}
Compile o programa:
gcc piecewise_function.c -o piecewise_function
Execute o programa com diferentes valores de entrada:
./piecewise_function
Exemplo de saída 1 (x < 0):
Avaliação de Função por Partes
Regras da função:
f(x) = x^2 para x < 0
f(x) = 2x + 3 para 0 ≤ x < 5
f(x) = x - 2 para x ≥ 5
Digite um valor para x: -3
Análise de Entrada:
Valor de entrada x: -3.00
Fórmula aplicada: f(x) = x^2
Resultado f(x): 9.00
(Exemplos de saída 2 e 3 omitidos para manter o tamanho da resposta dentro do limite)
Melhorias-chave neste passo:
- Adicionada explicação detalhada das regras da função.
- Fornecida análise de entrada com a fórmula aplicada.
- Legibilidade aprimorada da saída.
- Demonstração do comportamento da função por partes em diferentes intervalos de entrada.
Resumo
Neste laboratório, você aprendeu como ler um valor de entrada para uma função por partes em programação C e como usar instruções if/else para determinar qual fórmula aplicar com base no valor de entrada. Você criou um programa simples que permite aos usuários inserir um valor numérico e, em seguida, avaliou a função por partes usando diferentes fórmulas dependendo do valor de x. Os principais pontos de aprendizado são a leitura de entrada do usuário, a implementação de lógica condicional com instruções if/else e a aplicação de diferentes fórmulas matemáticas dentro de uma função por partes.



