Voltar Lista de Tópicos

Editar | Versões | Fórum de Discussão

Prazos para Envio


Programas Sequenciais em C

Nos tópicos anteriores, aprendemos alguns conceitos e comandos básicos para dominar a programação em C. Sabemos como escrever a estrutura básica de um programa, adicionando a biblioteca padrão stdio.h e a função principal (main). Além disso, vimos o conceito de variáveis e entrada e saída de dados no nosso programa com funções scanf() e printf(). Neste tópico, vamos aprender um pouco sobre como resolver problemas computacionais utilizando esses comandos.

 

Problema Resolvido: Programa para converter de quilômetro por hora para metros por segundo.

 

A professora de física solicitou mais uma tarefa. Agora ela precisa de um programa que converta um valor de velocidade, informado pelo usuário, de quilômetros por hora (km/h) para metros por segundo (m/s) e mostre o resultado na tela.

 

Resolução

 

Vamos imaginar como esse programa deve funcionar. Veja os quadrinhos abaixo:

 

 

Etapa 1: Montando o “Esqueleto” do Programa

Vamos colocar a mão na massa! Crie um novo programa C no Repl.it(http://replit.com/) (se não tiver acesso, você pode fazer no papel também) e siga os passos abaixo

 

Passo 1 - Inserindo a biblioteca padrão stdio.h

 

Como vimos nos tópicos anteriores, todo programa C possui a declaração da biblioteca padrão de entrada e saída stdio.h, que contém as funções scanf() e printf() que usaremos a seguir. Insira o código abaixo:

 

#include <stdio.h>

 

Passo 2 - Insira a função principal int main(void)

int main(void) {

 

return 0;

}

 

Etapa 2: Declarando as Variáveis

Como vimos no tópico anterior, todo programa opera sobre dados informados e armazenados em memória. Nesse caso, temos dois dados que precisamos armazenar, o primeiro é a velocidade em quilômetros por hora que será digitada (entrada de dados). O segundo dado é a velocidade convertida para metros por segundo, que será calculada pelo computador. Declare as variáveis na função principal:

 

int main(void) {

  float kmh;

  float ms;

 

  return 0;

}

 

O código acima informa ao computador para reservar duas “gavetas” na memória, uma chamada kmh para a velocidade em Km/h e outra chamada ms para a velocidade convertida para m/s.

 

Essas duas variáveis estão inicialmente sem um valor válido preenchido, ou seja, “vazias”.

 

Prontinho! Agora vamos fazer a entrada de dados e solicitar a velocidade em quilômetros por hora ao usuário.

 

Etapa 3: Programando a Entrada de Dados

 

Como vimos no tópico anterior, o computador deve pedir ao usuário que informe um valor de velocidade em quilômetros por hora. Esse valor será do tipo float e será armazenado na variável kmh. Para isso, o computador deverá mostrar uma mensagem na tela e aguardar a digitação do valor.

 

 

Vamos programar agora. Siga os passos abaixo:

 

Passo 1 - Imprimir a solicitação da velocidade na tela com a função printf()

 

printf("Digite uma velocidade em quilômetros por hora: ");

 

Passo 2 - usar a função scanf() para fazer o computador aguardar a digitação de um valor.

 

scanf("%f", &kmh);

 

Veja o código completo para a Entrada de Dados:

 

#include <stdio.h>

 

int main(void) {

 float kmh;

 float ms;

 

 printf("Digite uma velocidade em quilômetros por hora: ");

 scanf("%f", &kmh);

 

 return 0;

}

 

 

Etapa 4: Programando a Conversão das Velocidades

 

Após a execução do comando scanf("%f", &kmh),  o computador terá armazenado uma velocidade digitada em quilômetros por hora. Precisamos então, instruir ao computador para fazer o cálculo da conversão dividindo o valor da variável kmh por 3,6. Insira o código abaixo do scanf("%f", &kmh):

 

ms = kmh/3.6;

 

Ao executar o código acima, o computador irá fazer o seguinte:

Etapa 5: Imprimindo o Resultado na Tela

 

Uma vez que o computador já calculou e guardou o resultado na variável ms, é hora de mostrá-lo ao usuário do programa. Para isso, usaremos novamente a função printf()

 

Insira o código abaixo de ms = kmh/3.6:

 

printf("A velocidade em metros por segundo é: %.1f m/s\n", ms);

 

O printf() acima imprime na tela o texto entre aspas e substitui a marcação %.1f pelo conteúdo da variável ms, que contém a velocidade convertida para metros por segundo. Veja a execução na tela do console:

 

Agora, execute o código várias vezes e teste com valores diferentes do apresentado e confira o resultado.

 

O código final completo fica desse jeito:

 

#include <stdio.h>

 

int main(void) {

 float kmh;

 float ms;

 

 printf("Digite uma velocidade em quilômetros por hora: ");

 scanf("%f", &kmh);

 

 ms = kmh/3.6;

 

 printf("A velocidade em metros por segundo é: %.1f m/s\n", ms); 

 

 return 0;

}

Empacotando

Nesta etapa aprendemos utilizamos um exercício resolvido que consiste em criar um programa obter uma velocidade em quilômetros por hora, converter e mostrar essa velocidade em metros por segundo. Para resolver esse problema, utilizamos variáveis do tipo float e funções de entrada e saída printf() e scanf() para imprimir mensagens na tela e aguardar a digitação de um valor de velocidade. Para isso fizemos os seguintes passos:

  1. Escrevemos a estrutura geral do programa C adicionando a bilbioteca de entrada e saída stdio.h e a função principal int main(void);

  2. Identificamos e declaramos as variáveis do tipo float kmh e ms que armazenam a velocidade em Km/h digitada e a velocidade em M/S convertida pelo computador;

  3. Utilizamos o comando printf() para imprimir na tela uma mensagem solicitando a digitação da velocidade em Km/h;

  4. Utilizamos o comando scanf(“%f”, &kmh) para fazer o computador aguardar a digitação da velocidade em km/h e guardar o valor digitado na variável kmh.

  5. Convertemos a velocidade da variável kmh e atribuímos o valor convertido para metros por segundo na variável ms  com o comando ms = kmh/3.6

  6. Utilizamos a função printf() novamente para mostrar na tela a velocidade convertida para metros por segundo, com apenas uma casa decimal, utilizando a marcação %.1f.


Questões

Questão 1
Questão 2
Questão 3
Questão 4

Comentários...

Não há comentários ainda... Seja o primeiro!