Lidar com Aritmética de Tipos Mistos em C

CBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a lidar com operações aritméticas mistas na programação em C. O laboratório cobre os seguintes passos:

Primeiramente, você aprenderá a declarar e inicializar variáveis inteiras e de ponto flutuante, e imprimirá seus valores usando os especificadores de formato apropriados. Em seguida, explorará a execução de operações aritméticas que combinam diferentes tipos numéricos, demonstrando conversão de tipos e aritmética mista. Finalmente, imprimirá e verificará os resultados dessas operações aritméticas de tipos mistos.

Ao final deste laboratório, você terá um sólido entendimento de como gerenciar e manipular efetivamente dados de tipos mistos em C, uma habilidade fundamental para construir programas robustos e versáteis.

Declarar Variáveis Inteiras e de Ponto Flutuante

Neste passo, você aprenderá como declarar e inicializar diferentes tipos de variáveis numéricas em programação C. Iremos nos concentrar na criação de variáveis inteiras e de ponto flutuante para nos preparar para operações aritméticas mistas.

Primeiro, crie um novo arquivo de origem C no diretório do projeto:

cd ~/project
nano mixed_arithmetic.c

Agora, adicione o seguinte código para declarar as variáveis:

#include <stdio.h>

int main() {
    // Declarar variáveis inteiras
    int numero_inteiro1 = 10;
    int numero_inteiro2 = 5;

    // Declarar variáveis de ponto flutuante
    float numero_decimal1 = 7.5;
    float numero_decimal2 = 3.2;

    // Imprimir as variáveis declaradas
    printf("Variáveis inteiras:\n");
    printf("numero_inteiro1 = %d\n", numero_inteiro1);
    printf("numero_inteiro2 = %d\n", numero_inteiro2);

    printf("\nVariáveis de ponto flutuante:\n");
    printf("numero_decimal1 = %f\n", numero_decimal1);
    printf("numero_decimal2 = %f\n", numero_decimal2);

    return 0;
}

Vamos compilar e executar o programa:

gcc mixed_arithmetic.c -o mixed_arithmetic
./mixed_arithmetic

Saída de exemplo:

Variáveis inteiras:
numero_inteiro1 = 10
numero_inteiro2 = 5

Variáveis de ponto flutuante:
numero_decimal1 = 7.500000
numero_decimal2 = 3.200000

Neste código, demonstramos:

  • Declaração de variáveis inteiras usando o tipo int
  • Declaração de variáveis de ponto flutuante usando o tipo float
  • Inicialização de variáveis com valores específicos
  • Uso de printf() para imprimir valores de variáveis com especificadores de formato apropriados
  • A diferença entre representações de números inteiros e de ponto flutuante

Executar Operações Aritméticas Combinando Tipos Diferentes

Neste passo, você aprenderá a executar operações aritméticas que combinam diferentes tipos numéricos em C, demonstrando conversão de tipos e aritmética mista.

Abra o arquivo anterior para continuar nosso exemplo:

cd ~/project
nano mixed_arithmetic.c

Substitua a função main() anterior pelo seguinte código:

#include <stdio.h>

int main() {
    // Variáveis inteiras
    int numero_inteiro1 = 10;
    int numero_inteiro2 = 5;

    // Variáveis de ponto flutuante
    float numero_decimal1 = 7.5;
    float numero_decimal2 = 3.2;

    // Operações aritméticas de tipos mistos
    int resultado_inteiro = numero_inteiro1 + numero_inteiro2;
    float resultado_float = numero_decimal1 + numero_decimal2;

    // Adição de tipos mistos (inteiro + ponto flutuante)
    float adicao_mista = numero_inteiro1 + numero_decimal1;

    // Multiplicação de tipos mistos
    float multiplicacao_mista = numero_inteiro2 * numero_decimal2;

    // Demonstração de conversão de tipos
    printf("Adição Inteira: %d + %d = %d\n", numero_inteiro1, numero_inteiro2, resultado_inteiro);
    printf("Adição Float: %.1f + %.1f = %.1f\n", numero_decimal1, numero_decimal2, resultado_float);
    printf("Adição Mista: %d + %.1f = %.1f\n", numero_inteiro1, numero_decimal1, adicao_mista);
    printf("Multiplicação Mista: %d * %.1f = %.1f\n", numero_inteiro2, numero_decimal2, multiplicacao_mista);

    return 0;
}

Compile e execute o programa:

gcc mixed_arithmetic.c -o mixed_arithmetic
./mixed_arithmetic

Saída de exemplo:

Adição Inteira: 10 + 5 = 15
Adição Float: 7.5 + 3.2 = 10.7
Adição Mista: 10 + 7.5 = 17.5
Multiplicação Mista: 5 * 3.2 = 16.0

Pontos-chave deste exemplo:

  • Realização de operações aritméticas com variáveis do mesmo tipo (int-int, float-float)
  • Demonstração de conversão automática de tipos em operações de tipos mistos
  • O C converte automaticamente números inteiros para ponto flutuante quando necessário
  • Uso de especificadores de formato para controlar a exibição de casas decimais

Imprimir e Verificar os Resultados

Neste passo final, você aprenderá como formatar e verificar os resultados de operações aritméticas de tipos mistos em C, focando em saída precisa e validação de resultados.

Abra o arquivo anterior para continuar nosso exemplo:

cd ~/project
nano mixed_arithmetic.c

Atualize a função main() com saída mais detalhada e verificação de resultados:

#include <stdio.h>
#include <math.h>

int main() {
    // Variáveis inteiras
    int numero_inteiro1 = 10;
    int numero_inteiro2 = 5;

    // Variáveis de ponto flutuante
    float numero_decimal1 = 7.5;
    float numero_decimal2 = 3.2;

    // Operações aritméticas de tipos mistos
    float adicao_mista = numero_inteiro1 + numero_decimal1;
    float multiplicacao_mista = numero_inteiro2 * numero_decimal2;
    float divisao_mista = numero_decimal1 / numero_inteiro2;

    // Impressão detalhada dos resultados com formatação
    printf("Resultados das Operações Aritméticas:\n");
    printf("1. Adição Mista:        %d + %.1f = %.2f\n", numero_inteiro1, numero_decimal1, adicao_mista);
    printf("2. Multiplicação Mista:  %d * %.1f = %.2f\n", numero_inteiro2, numero_decimal2, multiplicacao_mista);
    printf("3. Divisão Mista:        %.1f / %d = %.2f\n", numero_decimal1, numero_inteiro2, divisao_mista);

    // Verificação de resultados
    printf("\nVerificação de Resultados:\n");
    printf("Verificação Adição Mista:       %.2f == %.2f\n",
           adicao_mista, (float)numero_inteiro1 + numero_decimal1);
    printf("Verificação Multiplicação Mista: %.2f == %.2f\n",
           multiplicacao_mista, (float)numero_inteiro2 * numero_decimal2);
    printf("Verificação Divisão Mista:       %.2f == %.2f\n",
           divisao_mista, numero_decimal1 / numero_inteiro2);

    return 0;
}

Compile e execute o programa:

gcc mixed_arithmetic.c -o mixed_arithmetic
./mixed_arithmetic

Saída de exemplo:

Resultados das Operações Aritméticas:
1. Adição Mista:        10 + 7.5 = 17.50
2. Multiplicação Mista:  5 * 3.2 = 16.00
3. Divisão Mista:        7.5 / 5 = 1.50

Verificação de Resultados:
Verificação Adição Mista:       17.50 == 17.50
Verificação Multiplicação Mista: 16.00 == 16.00
Verificação Divisão Mista:       1.50 == 1.50

Pontos-chave deste exemplo:

  • Uso de diferentes especificadores de formato para saída precisa
  • Demonstração de aritmética de tipos mistos com adição, multiplicação e divisão
  • Realização de verificação de resultados inline
  • Exibição de conversão de tipos em operações aritméticas

Resumo

Neste laboratório, você aprendeu a declarar e inicializar diferentes tipos de variáveis numéricas em programação C, incluindo variáveis inteiras e de ponto flutuante. Em seguida, explorou a execução de operações aritméticas que combinam esses diferentes tipos numéricos, demonstrando conversão de tipos e aritmética mista. Finalmente, você imprimiu e verificou os resultados dessas operações aritméticas de tipos mistos.

Os pontos-chave de aprendizado deste laboratório incluem a compreensão das diferenças entre representações de números inteiros e de ponto flutuante, o uso de especificadores de formato apropriados em instruções printf() e o comportamento da conversão de tipos e aritmética mista do C ao trabalhar com variáveis de diferentes tipos numéricos.