CCO 016 / COM 110 Fundamentos de Programação

Documentos relacionados
Treinamento Olimpíada Brasileira de Informática

CCO 016 Fundamentos de Programação

Algoritmos e Programação

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Linguagem C: Introdução

Introdução à Programação

Introdução a Programação de Jogos

LÓGICA DE PROGRAMAÇÃO. Resumo da Linguagem C. Sérgio Carlos Portari Júnior

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Disciplina de Algoritmos e Programação

CCO 016 / COM 110 Fundamentos de Programação

CCO 016 / COM 110 Fundamentos de Programação

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Introdução a Computação

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Introdução à Programação Estruturada Parte 3. Material da Prof. Ana Eliza

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Linguagem C. André Tavares da Silva.

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Comandos de Entrada. Lógica de Programação. Prof. Kleber Rezende

CCO 016 Fundamentos de Programação

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Vetores. e o programa deverá ler os valores separadamente:

Estrutura do programa

Ambiente de desenvolvimento

CCO 016 / COM 110 Fundamentos de Programação

3.1 - Funções para manipular dados de entrada e saída padrão

Faculdade de Computação

Aula 05: Condicionais (if / else)

Laboratório de Introdução à Ciência da Computação I

Capítulo 2 Operadores. A função scanf()

CCO 016 / COM 110 Fundamentos de Programação

Conhecendo a Linguagem de Programação C

ENGENHARIA DE PRODUÇÃO PROGRAMAÇÃO Algoritmos Conceitos Iniciais. Prof. Luiz Fernando Laguardia Campos FMS

Programação: Vetores

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Programação Básica. Estrutura de um algoritmo

Entrada e Saída. Aula 02

Aula 4 Introdução ao C

Laboratório de Introdução à Ciência da Computação I

INF 1620 P1-13/09/02 Questão 1 Nome:

Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO

Variáveis Compostas Homogêneas Vetores

Introdução à Programação C

CCO 016 / COM 110 Fundamentos de Programação

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Variáveis, Tipos de Dados e Operadores

Introdução à Linguagem C Variáveis e Expressões

Algoritmos. Conceitos e Comandos

Instruções, dados e expressões

Aula 1 Apresentação do Curso

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Treinamento Olimpíada Brasileira de Informática

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Disciplina de Algoritmos e Programação

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Material Didático Unificado.

Ocorrem em três tipos:

CCO 016 / COM 110 Fundamentos de Programação

Métodos Computacionais em Física

MC-102 Aula 06 Comandos Repetitivos

Linguagem C estruturas de repetição

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

1) Operadores de auto incremento ++ e auto decremento --

Características fundamentais de codificação de programas

Programação Procedimental

Estruturas de Dados. Módulo 2 Expressões. 9/8/2005 (c) Marco A. Casanova - PUC-Rio 1

Exercícios Repetição

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

Computação. Introdução a C e Variáveis Inteiras

ECT1203 Linguagem de Programação

11 - Estrutura de um programa em C

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++

Estruturas de Repetição. for() while() do-while() break; continue;

Aula 3 Constantes e funções de E/S

Estrutura de Programas e Tipos de Dados Simples

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

Vetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:

Aula 03: Introdução a C

ITENS FUNDAMENTAIS Programando em C++

Revisão. Profa Marina Gomes

Aula 03 - Linguagem C

Cap. 3 Entrada e Saída e Controle de Fluxo

Aula 5 - Mais C e repetição

Tratamento de Caracteres

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE II. Prof. Dr. Daniel Caetano

Introdução a C. Para saber quais os procedimento ou funções que existem em cada biblioteca, acesse

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Transcrição:

CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá

AULA 05 Entrada de dados Leia scanf

Entrada dos dados Entrada de dados compreende a operação realizada pelo usuário do programa de fornecer o conteúdo de uma informação ao computador e este armazenar esta informação numa variável. Os dispositivos disponíveis para a execução desta tarefa são: o teclado, um arquivo.

Embora a operação de atribuição tenha a mesma função, ela é operacionalmente diferente da entrada de dados, pois enquanto a atribuição, atribui um valor fixo e conhecido no programa, a entrada de dados permite ao usuário fornecer qualquer valor à variável em tempo de execução do programa. Para valores conhecidos e constantes, utiliza-se atribuição; Para valores não conhecidos a priori, utiliza-se entrada de dados.

Em linguagem algorítmica tem-se: leia ( informação ) Esta informação deve ser o nome de uma variável, onde o valor fornecido pelo usuário do programa vai ser armazenado.

Exemplo 8 inteiro soma_valor, media_idades leia ( soma_valor ) leia ( media_idades )

Ou ainda: leia ( soma_valor, media_idades )

Ou ainda, com identificação da entrada para o usuário: imprima ( entre com a soma dos valores ) leia ( soma_valor ) imprima ( entre com a media das idades ) leia ( media_idades )

Exemplo 9 inteiro a, b, c a 20 b 10 c a + b imprima ( c )

Saída visualizada 30

Exemplo 10 inteiro a, b, c a 20 b 10 c a + b imprima ( a =, a ) imprima ( b =, b ) imprima ( c =, c )

Saída visualizada a = 10 b = 20 c = 30

Exemplo 11 real x, y, pi pi 3.14159 x pi / 2 y sen(x) imprima ( y )

Saída visualizada 1.0

Exemplo 11 inteiro a, b, c imprima ( entre com o valor de a ) leia ( a ) imprima ( entre com o valor de b ) leia ( b ) c a + b imprima ( Valores Lidos: ) imprima ( a =, a ) imprima ( b =, b ) imprima ( Soma dos valores lidos: ) imprima ( c =, c )

entre com o valor de a Saída visualizada neste ponto o usuário digita um valor entre com o valor de b neste ponto o usuário digita um valor Valores lidos: a =... b =... Soma dos valores lidos: c =...

Operações Especiais variável variável (operador) valor

Exemplo 12 inteiro a, b a 10 imprima ( a =, a ) a a + 2 imprima ( a =, a )

Saída visualizada a = 10 a = 12

Observações É necessário neste caso um valor inicial para a variável É chamada de acumulador Quando o valor de adição é igual a hum, é chamada somador

Exemplo 13 Calcular o resto da divisão entre dois valores numéricos dados

inteiro a, b, resto_ab imprima ( entre com o valor de a ) leia ( a ) imprima ( entre com o valor de b ) leia ( b ) resto_ab resto ( a, b ) imprima ( Valores Lidos: ) imprima ( a =, a ) imprima ( b =, b ) imprima ( Resto da divisão dos valores lidos =, resto_ab )

entre com o valor de a Saída visualizada neste ponto o usuário digita um valor entre com o valor de b neste ponto o usuário digita um valor Valores lidos: a =... b =... Resto da divisão dos valores lidos =...

Exemplo 14 Dados os 3 dígitos de um número inteiro, fazer um algoritmo para construir outro numero constituído de 4 dígitos, de acordo com as seguintes regras: Os 2 primeiros dígitos, contados da esquerda para a direita são iguais aos dígitos dados; O terceiro dígito é obtido através do resto da divisão entre a soma dos 3 dígitos dados por 3

O quarto dígito é o chamado dígito de controle e é calculado da seguinte forma: Primeiro digito dado somado ao segundo digito dado multiplicado por 3; tudo isto somado ao terceiro digito calculado multiplicado por 5; O digito de controle é obtido calculando o resto da soma anterior por 7

inteiro dig_dado1, dig_dado2, dig_dado3 inteiro dig_novo1, dig_novo2, dig_novo3, dig_novo4 inteiro auxiliar, soma_digitos imprima ( entre com os 3 digitos ) leia ( dig_dado1, dig_dado2, dig_dado3 ) dig_novo1 dig_dado1 dig_novo2 dig_dado2 soma_digitos dig_dado1 + dig_dado2 + dig_dado3 dig_novo3 resto ( soma_digitos, 3 )

auxiliar dig_dado1 + ( dig_dados2 * 3 ) auxiliar auxiliar + ( dig_novo3 * 5 ) dig_novo4 resto ( auxiliar, 7 ) imprima ( numero dado:, dig_dado1, dig_dado2, dig_dado3 ) imprima ( numero obtido:, dig_novo1, dig_novo2, dig_novo3, dig_novo4 )

Entrada de Dados A entrada de dados pode ser feita de duas formas: via teclado do computador Neste caso o usuário do programa digita os dados necessários ao programa no momento em que este os solicita ( programa interativo ); - assunto desta aula via arquivo de dados Neste caso o usuário monta, através de editor de texto, um arquivo contendo os dados necessários ao programa, que os lê diretamente sem a intervenção do usuário; - assunto de uma próxima aula

Entrada de dados via teclado entrada simples algoritmo: leia ( x ) em linguagem C: scanf ( %d, &x );

Considerações Aqui não é usado o caractere especial \n como na saída de dados; Observar a utilização dos códigos de formatos; É obrigatório para todos os tipos, exceto cadeia, a utilização do sinal & antes do nome da variável de entrada;

Execução da entrada de dados scanf ( %d, &x ); Esta declaração indica ao programa que este deve esperar pela digitação pelo usuário, de um valor numérico inteiro que irá ser armazenado na variável x, logo após o usuário digitar o comando Enter do teclado, indicando assim o envio da informação ao computador; Biblioteca: stdio.h

# include <stdio.h> Exemplo 1 int main ( ) { // definicao das variaveis int x; // entrada dos dados printf ( entre com um valor numerico\n ); scanf ( %d, &x ); // saida dos resultados printf ( valor lido para x = %5d\n, x ); } return 0;

Considerações Observar a necessidade de uma instrução que indica a interação entre o usuário e o programa: printf ( entre com um valor numerico\n ); Sem ela, o usuário não saberia o que fazer quando o programa estivesse sendo executado; O usuário é responsável pelo conhecimento antecipado do tipo da variável que está sendo inserida, caso contrário, a inserção de variáveis diferentes dos tipos definidos para elas, causam erros na execução do programa;

Deve-se formatar de forma mais simples possível os dados de entrada, caso contrário, o usuário terá muito trabalho digitando os dados num formato complexo. Uma vez armazenado na memória a informação é tratada normalmente como já visto anteriormente, quando foi apresentado a atribuição de valores; Desta forma, a impressão da variável pode ser feita conforme a necessidade do programa, independentemente da forma da entrada da mesma. Observe no exemplo anterior, que a variável x tem o formato %d na entrada e %5d na saída.

Exemplo 2 int x, y; float a, b, c; char p; scanf ( %d %f %d %c, &y, &b, &x, &p ); Antes do %c, sempre tem espaço em branco

Considerações 1. Neste caso, são esperados 4 valores na entrada de dados; 3. Portanto, o usuário deve digitar os dados na ordem em que eles são solicitados; 5. Observar que as variáveis devem corresponder aos respectivos formatos;

4. Os dados podem ser digitados na mesma linha, separados por um ou mais espaços em branco, e após a digitação dos mesmos, digita-se o comando Enter do teclado; 9. Os dados podem ser também fornecidos, na ordem solicitada, digitando-se separadamente cada um deles, seguidos do comando Enter do teclado;

Alternativa int x, y; float a, b, c; char p; scanf ( %d, &y ); scanf ( %f, &b ); scanf ( %d, &x ); scanf ( %c, &p ); Lembre-se de colocar o espaço em branco

Considerações Aqui são válidas todas as considerações do exemplo anterior, exceto a quarta, pois como se tem 4 comandos de scanf, obrigatoriamente tem-se 4 entradas separadas. Ou seja, neste exemplo, obrigatoriamente a forma de entrada tem que ser aquela especificada na quinta consideração anterior.

Entrada de dados para Cadeia char titulo[30]; scanf ( %s, titulo ); Observar que neste caso, o nome da variável não é antecedido pelo símbolo & como nos casos anteriores. todas as observações anteriores são válidas para este caso;

Neste caso é esperado que o usuário digite uma cadeia ( alfanumérica ) e após isto digite o comando Enter do teclado; Se tiver mais de uma variável no comando de entrada, os valores devem ser digitados da mesma forma que os casos anteriores, ou seja: Se na mesma linha, os dados deverão ser separados por um ou mais espaços em branco; no final do comando digitar Enter Se em linhas diferentes, cada dado é digitado na sua respectiva linha, e após o término da mesma, digitar o comando Enter

Observar também que o código de formato %s na entrada de dados indica que o valor alfanumérico a ser digitado não tem espaços em branco. Portanto, no programa anterior são válidos os seguintes valores para a variável titulo: Efei Casa Universidade

No entanto, se for necessário o armazenamento de um valor alfanumérico que tenha espaços em branco em seu conteúdo, como por exemplo: Universidade Federal de Itajuba é necessário trocar-se o código de formato %s, na entrada de dados, pelo código %[^\n] na saída, independentemente da forma de entrada, uma cadeia só pode ser impressa, com o formato %s.

Exemplo 3 char primeiro_nome[15], sobrenome[30]; printf ( entre com seu primeiro nome\n ); scanf ( %s, primeiro_nome ); printf ( entre com seu sobrenome completo \n ); scanf ( %[^\n], sobrenome ); ( observar um espaço em branco antes do sinal de % ) printf ( nome completo: %s %s\n, primeiro_nome, sobrenome );

Exemplo de dados Suponha que o usuário entre com os seguintes valores respectivamente para as variáveis primeiro_nome e nome: RONALDO BUENO MARCONDES PORTELA Neste caso, a impressão teria o seguinte aspecto: nome completo: RONALDO BUENO MARCONDES PORTELA

O que faz o scanf? Dado os scanfs a seguir, estude o que eles irão fazer: scanf ( %d.%d, &m, &n); scanf ( %d/%d/%d, &dia, &mes, &ano); scanf ( %d.%d.%d-%d, &cpf1, &cpf2, &cpf3, &cpf4); scanf("%[^,],%[^,]",str1,str2);

Estudo Visite os sites: https://www.tutorialspoint.com/c_standard_library/c_func tion_scanf.htm http://www.cplusplus.com/reference/cstdio/scanf/ http://homepages.dcc.ufmg.br/~rodolfo/aedsi-2-10/printf_s canf/printfscanf.html

Treinamento Extremamente Básico Leia 2 valores inteiros e armazene-os nas variáveis A e B. Efetue a soma de A e B atribuindo o seu resultado na variável X. Imprima X conforme exemplo apresentado abaixo. Não apresente mensagem alguma além daquilo que está sendo especificado e não esqueça de imprimir o fim de linha após o resultado, caso contrário, você receberá "Presentation Error". https://www.urionlinejudge.com.br/judge/pt/problems/vie w/1001

Treinamento Entrada A entrada contém 2 valores inteiros.

Treinamento Saída Imprima a variável X conforme exemplo abaixo, com um espaço em branco antes e depois da igualdade.

Treinamento Exemplos Entrada 10 9-10 4 15-7 Entrada X = 19 X = -6 X = 8