Um programa de computador comumente requer o uso de dados para operar adequadamente. Por exemplo, considere o aplicativo de mensagens WhatsApp. Quando queremos enviar uma mensagem para um colega, nós escrevemos a mensagem na caixa de texto que aparece na tela do aplicativo. O texto neste caso é o dado que está sendo transmitido para o programa WhatsApp do nosso aparelho, que por sua vez transmitirá o mesmo para o dispositivo do colega..
A interação não está limitada ao uso do teclado. Por exemplo, quando queremos nos deslocar até um local da cidade, podemos utilizar um aplicativo de mapa como o Waze ou Google Maps. Nestes aplicativos, é comum tocarmos no mapa para marcar o destino. O toque permite que o programa possa obter a latitude e longitude do respectivo local e traçar a respectiva rota. A Figura 1 ilustra tais etapas.
Perceba que, em ambos casos, os programas esperam a inserção de um dado para que se realize o processamento. O processo de inserção de dados é conhecido como entrada do sistema. Os dados de entrada são aqueles que são fornecidos para que o sistema opere adequadamente. Note que, após o recebimento do dado, o sistema processa o mesmo e produz um resultado. O produto do processamento é tipicamente uma informação, por exemplo, a rota que se deve seguir. Esse é um dos motivos para o nome Tecnologia da Informação, uma vez que em essência os computadores recebem dados de entradas, como a latitude e longitude, e produzem informações, como a melhor rota naquele horário.
Perceba que, em ambos casos, os programas esperam a inserção de um dado para que se realize o processamento. O processo de inserção de dados é conhecido como entrada do sistema. Os dados de entrada são aqueles que são fornecidos para que o sistema opera adequadamente. Como o programa deve operar para diferentes usuários, observe que
Programa C
#include <stdio.h> int main() { int pa; int pd; int r; printf("PA: "); scanf("%i", &a); printf("PD: "); scanf("%i", &d); r = d - a; printf("Operação:"); printf("%i", r); }
Algoritmo em pseudocódigo
ALGORITMO DECLARE pa NUMÉRICO DECLARE pd NUMÉRICO DECLARE r NUMÉRICO ESCREVA "PA: " LEIA pa ESCREVA "PD: " LEIA pn r 🡨 d - a ESCREVA "Operação" ESCREVA r FIM_ALGORITMO
Exemplo
x = input("Digite F: ") f = float(x) c = f - 32 / 1.8 print("Celsius: ", c)
x = input("Digite F: ") f = float(x) c = f - 32 / 1.8 print("Celsius: ", c)
Teste
#include <stdio.h> int main() { int a; int d; int r; printf("Digite a pressão atual do pneu: "); scanf("%i", &a); printf("Escolha a pressão desejada: "); scanf("%i", &d); r = d - a; printf("Vamos realizar a seguinte operação: %i", r); return 0; }
Entrada | Saída |
---|---|
Digite a pressão atual do pneu: 12 Escolha a pressão desejada: 32 | Vamos realizar a seguinte operação: 10 |
Digite a pressão atual do pneu: 37 Escolha a pressão desejada: 31 | Vamos realizar a seguinte operação: -6 |
Digite a pressão atual do pneu: 28 Escolha a pressão desejada: 28 | Vamos realizar a seguinte operação: 0 |
Leitura de dados
#include <stdio.h> #include <string.h> int main() { char s[20]; scanf("%s", &s[0]); int t = strlen(s); printf("%i", t); }
dfad
O comando scan()
permite fazer a leitura de dados via teclado. O comando possui vários parâmetros, tais como:
- nmax = número máximo de valores a serem lidos;
- what = qual o tipo (domínio) dos valores a serem lidos;
- file = permite especificar o nome do arquivo que será utilizado para a leitura. Por padrão, não se usa um arquivo, mas sim o teclado como fonte dos dados de entrada.
Considere o seguinte programa
library(tidyverse) df <- mtcars %>% drop_na() df <- df %>% select(mpg, wt, hp) df[["mpg"]] %>% mean %>% print print(df[["mpg"]] %>% mean %>% print) library(genalg) library(ggplot2) dataset <- data.frame(item = c("pocketknife", "beans", "potatoes", "unions", "sleeping bag", "rope", "compass"), survivalpoints = c(10, 20, 15, 2, 30, 10, 30), weight = c(1, 5, 10, 1, 7, 5, 1)) weightlimit <- 20 v
Entrada | Saída |
---|---|
42 | 3423432 |
3423432 | 432423 |
Entrada
f <- scan(n = 1, what = double()) c <- (f - 32) / 1.8 print(c) n <- scan(nmax = 1) i <- 0 m <- 0 v <- 0 while (i < n) { i <- i + 1 l <- scan(nmax = 1) if (l > m) { m <- l v <- i } } print(v)
Saída
32
Exemplo:
f <- scan(n = 1, what = double()) c <- (f - 32) / 1.8 print(c) n <- scan(nmax = 1) i <- 0 m <- 0 v <- 0 while (i < n) { i <- i + 1 l <- scan(nmax = 1) if (l > m) { m <- l v <- i } } print(v)
Caso a entrada seja 40
Documentação: https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/scan