Interação com o usuário

Documentos relacionados
Interação com o usuário

Comandos de Entrada e Saída. Prof. Alberto Costa Neto Programação em Python

Lista de Exercícios 1 Variáveis, Entrada e Saída de Dados

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

Organização de programas em Python. Vanessa Braganholo

TCC 00308: Programação de Computadores I Organização de programas em Python

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

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Entrada e saída. Marco A L Barbosa malbarbo.pro.br. Departamento de Informática Universidade Estadual de Maringá

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

INFORMÁTICA PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM PYTHON

Computação I - Python Aula 1 - Teórica: Manipulação de Strings, Tuplas e Listas

Disciplina de Algoritmos e Programação

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Ambiente de Programação, rastreamento e entrada de dados. MCG114 Programação de Computadores I. Interpretador de Comandos. Interpretador de Comandos

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

Lista de Exercícios 5 Funções e Strings

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

LISTA DE EXERCÍCIOS: 2ª Unidade Funções

Algoritmos e Programação

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Aula 03 - Introdução ao Scilab (p2)

Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno

Linguagem C: Introdução

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Introdução a Programação de Jogos

modificador h instrui a função printf( ) a exibir um short int. Portanto, %hu indica que o dado é do tipo short unsigned int.

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Introdução à Computação - aulas 01 e 02 -

CCO 016 / COM 110 Fundamentos de Programação

Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias

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

Computação 1 - Python Aula 2 - Teórica. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 39

Computação 1 - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings 1/ 26

Lista de Exercícios 2 Condicionais

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

MCG114 Programação de Computadores I. Strings. Strings. Strings. Strings. Strings 3/26/18. Profa. Janaína Gomide

Computação I - Python

Introdução a Computação

1ª Lista de Exercícios

Disciplina de Algoritmos e Programação

Material Didático Unificado.

Computação 1 - Python 1/ 41

Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang. Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012

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

Python 3.x Estrutura de Repetição while

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

LISTA DE EXERCÍCIOS (2) PYTHON

Entrada e Saída. Aula 02

LISTA DE EXERCÍCIOS: 1ª Unidade

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

Conhecendo a Linguagem de Programação C

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

Computação 1 - Python Aula 4 - Teórica Variáveis e Atribuição, Strings. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 30

Computação 1 - Python Aula 10 - Teórica: Estrutura de Dados - Dicionário. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 18

Computação I - Python Aula 4 - Teórica: Variáveis e Atribuição, Strings

Exercícios Repetição

Características da Linguagem C

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

Programação de Computadores

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Programação: Entrada e Saída de Dados

printf( \n %d dividido por %d eh%d e o resto eh%d \n, x, y, resultado)

Comandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.

Algoritmos e Lógica de Programação. Prof. Marcos Antonio Estremoe. 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014.

Linguagem C Entrada/Saída (console)

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

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

1/ 26. Computação 1 - Python Aula 1 - Prática: Primeiros Passos - Função

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

Organização de programas em Python. Vanessa Braganholo

SCC0124 Introdução à Programação para Engenharias

Programação Python. Nesta aula... 1 Programação. 2 Python. Operadores e Operandos Variáveis, Expressões, Instruções Funções Ciclos Comentários

2ª Lista de Exercícios de Programação I

Lista de Exercícios Revisão conteúdo G2

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Transcrição:

E/S: entrada e saída Interação com o usuário Até agora, todos os códigos desenvolvidos não se comunicaram com o usuário. Programador Dados necessários: programador ou por uma função randômica. Para mudar os dados, precisa mudar o código do programa Respostas: só visualizadas pelo programador quando chamava a função explicitamente no interpretador, como consequência do comando. Os programas não foram interativos!! Não aceitaram a entrada de dados de um usuário ou exibiram a ele suas respostas. Atualmente a comunicação com o usuário (solicitar os dados externos, mostrar as respostas) é, em geral, realizada por uma página na Web ou uma interface gráfica. Entrada: via teclado/arquivo Respostas: via monitor/arquivo 2 Exemplo motivador para E/S Um estagiário programador do CTC quer registrar, ao final do dia, em qual departamento esteve, o tempo (em minutos) que gastou em reuniões e o tempo (em minutos) que trabalhou nos projetos e visualizar do seguinte modo: 'Dep... Tempo em reunião:..h..min Em projetos:...h...min Obs: Em um dia de trabalho, ele visita apenas um departamento...% em reunião' Exemplo: Caso o estagiário esteve no dep. de Física, 190 minutos em reuniões, 40 minutos em projetos espera a seguinte frase: ' Dep Física Tempo em reunião:3h10min Em projetos:0h40min 82.6 % em reunião' Dados necessários? Respostas Exibidas? E/S: desenvolvendo a solução (1/5) Um estagiário programador do CTC quer registrar, ao final do dia, em qual departamento esteve, o tempo (em minutos) que gastou em reuniões e o tempo (em minutos) que trabalhou nos projetos e visualizar do seguinte modo: 'Dep... Tempo em reunião:..h..min Em projetos:...h...min...% em reunião' Obs: Em um dia de trabalho, ele visita apenas um departamento Dados necessários: Dep, min em reunião e min em projetos Respostas Exibidas? 'Dep... Tempo em reunião:..h..min Em projetos:..h...min..% em reunião' 3 4 E/S: desenvolvendo a solução (2/5) E/S: desenvolvendo a solução (3/5) Mesmo processo criar função Departamento: fornecido pelo programador Tempo em reunião: formatado a partir do tempo fornecido, Tempo em projeto: formatado a partir do tempo fornecido, % de tempo em reunião: computado a partir dos tempos fornecidos. Departamento: fornecido pelo programador Tempo em reunião: formatado a partir do tempo fornecido, Tempo em projeto: formatado a partir do tempo fornecido, % de tempo em reunião: computado a partir dos tempos fornecidos. função? 5 6

E/S: desenvolvendo a solução (4/5) E/S: desenvolvendo a solução (5/5) Mesmo processo criar função Departamento: fornecido pelo programador Dados necessários? Resposta retornada? DistrTempo Tempo em reunião: formatado a partir do tempo fornecido, Tempo em projeto: formatado a partir do tempo fornecido, Tempo projeto str horário % de tempo em reunião: computado a partir dos tempos fornecidos. Horario Desenhar Horario Barra Percentual função? Implemente colocando os valores do exemplo em variáveis: dep:física tempo em reunião:190 e tempo em projeto:40 7 8 E/S: uma possível solução 'Dep: '+dep+' Tempo em reunião: '+hreu+' Em projeto: ' + hproj+ ' '+perc+'% em reunião' 9 E/S: solução com saída ok? Os dados são exibidos? 'Dep: '+dep+' Tempo em reunião: '+hreu+' Em projeto: ' + hproj+ ' '+perc+'% em reunião' 10 função print Quando utilizar? Para exibir valores de variáveis e/ou mensagens na tela Saída de Dados Exemplo: print ( valor,...,valor) Começa sempre em uma nova linha Coloca automaticamente um espaço em branco entre os valores dia1_sem = 3 dia_extenso = 'terça-feira' print ('Na', dia1_sem, 'ª (', dia_extenso, ') tem aula de Prog1') 11 Na 3 ª ( terça-feira ) tem aula de Prog1 12

E/S: solução com saída! E/S: exibindo a Solução """ minutos em..h:..m""" Símbolo para indicar que a string continua na próxima linha. """ minutos em..h:..m""" Dep: Fisica Tempo em reunião: 3h:10m Em projeto: 0h:40m 82.6086956521739 % em reunião 13 14 E/S: função de exibição Função para exibir a mensagem (1/5) """ minutos em..h:..m""" Criar uma função para exibir a mensagem Dep: Fisica Tempo em reunião: 3h:10m Em projeto: 0h:40m 82.6086956521739 % em reunião 15 16 Função para exibir a mensagem (2/5) Exibir a mensagem esperada no formato solicitado Função para exibir a mensagem (3/5) Exibir a mensagem esperada no formato solicitado Do que a função precisa para realizar sua tarefa? Dos dados que participam da mensagem: dep, tempo em reunião tempo em projeto, percentual em reunião def exibemensagem ( ) : def exibemensagem ( ) : 17

Função para exibir a mensagem (4/5) Exibir a mensagem esperada no formato solicitado Do que a função precisa para realizar sua tarefa? Dos dados que participam da mensagem: dep, tempo em reunião tempo em projeto, percentual em reunião def exibemensagem ( dep, reuniao, projeto, perc ) : Função para exibir a mensagem (5/5) Exibir a mensagem esperada no formato solicitado Do que a função precisa para realizar sua tarefa? Dos dados que participam da mensagem: dep, tempo em reunião tempo em projeto, percentual em reunião Como a função realiza a sua tarefa? def exibemensagem ( dep, reuniao, projeto, perc ) : 19 20 E/S: uma outra solução E/S: simplificando a saida """ minutos em..h:..m""" def : 21 NADA PRÁTICO!!! Dep: Fisica Tempo em reunião: 3h:10m Em projeto: 0h:40m 82.6086956521739 % em reunião Bastam 2 casas decimais... Não deveria ser um valor do tipo string... Interpolação de string: composição da string com o conteúdo da variável utilizando marcadores. 22 Print: composição da string (1/7) Print: composição da string (2/7) print(' texto % texto ' % variável) Constrói-se um esqueleto da mensagem, marcando com % onde o valor da variável será inserido, seguido da variável cujo valor será usado para substituir o marcador. print('%f% do tempo em reunião!'%perc) % : marcador de posição. Principais tipos são: Marcador Tipo %s string %d int %f float 23 24

Print: composição da string (3/7) Print: composição da string (4/7) Não aceita print('%f% do tempo em reunião!'%perc) Não aceita print('%f% do tempo em reunião!'%perc) print('%f%% do tempo em reunião!'%perc) 82.6086956521739 % em reunião 25 26 Print: composição da string (5/7) Print: composição da string (6/7) print('%f%% do tempo em reunião!' % perc) Especificação de tamanho de campo: string de composição operador de composição variável 82.6086956521739 % em reunião E as 2 casas decimais? 27 28 Print: composição da string (7/7) Saídas formatadas print('%f%% do tempo em reunião!'%perc) print('%6.2f%% do tempo em reunião!'%perc) 82.61% em reunião Exemplos: visitante = 345 print('[%d]' % visitante) [345] print('[%-5d]'% visitante) [345 ] print('[%5d]' % visitante) [ 345] print('[%05d]'% visitante) [00345] 29 30

Composição com várias variáveis Exemplo com várias variáveis print(' texto% texto % texto ' % (var1,var2)) Constrói-se um esqueleto da mensagem, marcando onde os valores das variáveis serão inseridos com %, seguido das variáveis que serão usadas para substituir os marcadores. As variáveis, em ordem, devem ser colocadas entre parênteses e separadas por vírgula. print('dep:%s Tempo em reunião:%s Em projeto:%s%6.2f%% em reunião' % (dep,hreu,hproj,perc)) Usando composição, não é mais necessário formatar horário: print('dep:%s Tempo em reunião:%dh:%dmin Em projeto:%dh:%dmin %6.2f%% em reunião' %(dep,reuniao//60,reuniao%60,projeto//60,projeto%60, perc)) 31 32 E/S: saída formatada E/S: Alterando a solução (perc) def : print('dep:%s Tempo em reunião:%dh:%dmin Em'\ 'projeto:%dh:%dmin %6.2f%% em reunião' % (dep,reuniao//60,reuniao%60,projeto//60,projeto%60,perc)) (perc) def : print('dep:%s Tempo em reunião:%dh:%dmin Em'\ 'projeto:%dh:%dmin %6.2f%% em reunião' % (dep,reuniao//60,reuniao%60,projeto//60,projeto%60,perc)) Para outro dia, o estagiário precisa modificar o programa!!!! COMO RESOLVER??? 33 34 E/S: alteração via teclado (perc) def : print('dep:%s Tempo em reunião:%dh:%dmin Em'\ 'projeto:%dh:%dmin %6.2f%% em reunião' % (dep,reuniao//60,reuniao%60,projeto//60,projeto%60,perc)) Permitir que estes dados sejam introduzidos (via teclado) pelo usuário do script Entrada de Dados 35

Entrada de Dados teclado (1/7) Quando utilizar? Para capturar um valor digitado pelo usuário. input ( frase) Exemplo: Entrada de Dados teclado (2/7) 1º) A frase é exibida na tela Digite sua idade: A frase é exibida na tela e o que for digitado a seguir é retornado. O valor retornado sempre será do tipo string!!!! O valor deve ser referenciado por uma variável se o script precisar utilizá-lodepois 2º) O usuário digita o número seguido do <enter>: Digite sua idade: _ 3º) O objeto string é referenciado pela variável idade idade str 37 38 Entrada de Dados teclado (3/7) Entrada de Dados teclado (4/7) O que acontece? 39 40 Entrada de Dados teclado (5/7) Entrada de Dados teclado (6/7) idade str idade str 41 42

Entrada de Dados teclado (7/7) Traceback (most recent call last): File "../Python35-32/teste.py", line 2, in <module> TypeError: Can't convert 'int' object to str implicitly idade str Convertendo o valor digitado Para valores inteiros: idade = int (input('digite sua idade: ')) Conversão para inteiro Para valores em ponto flutuante: altura = float (input( 'Digite sua altura: ')) Conversão para float 43 44 Revisitando o problema inicial Exercícios (1/4) (perc) def : print('dep:%s Tempo em reunião:%dh:%dmin Em'\ 'projeto:%dh:%dmin %6.2f%% em reunião' % (dep,reuniao//60,reuniao%60,projeto//60,projeto%60,perc)) dep=input('dep?') reuniao = int(input('quanto tempo (em min) vc esteve em reunião?' )) projeto = int(input('quanto tempo (em min) vc trabalhou nos projetos?' )) perc = percentual(reuniao,projeto) 1. Faça um script para perguntar ao usuário seu nome, idade, altura em m, peso em Kg (massa) calculando e exibindo seus dados e imc (massa/altura 2 ) do seguinte modo: Nome: xxxxxxxx Idade: xxx Altura: x.xx Peso: xxx.x IMC: xx.x Obs: crie uma função para o cálculo do imc crie uma função para exibir as respostas 45 46 Exercícios (2/4) Exercícios (3/4) 2. Faça um script que pergunte o peso de uma pessoa e exiba-o nos diferentes planetas de acordo com a tabela abaixo. P G * P planeta relativa Terra # Gravidade Planeta relativa (Gplaneta/10) 1 0,37 Mercúrio 2 0,88 Vênus 3 0,38 Marte 4 2,64 Júpiter 5 1,15 Saturno 6 1,17 Urano Obs: crie uma função para o cálculo do peso em um planeta. Esta função recebe a gravidade relativa e o peso da Terra 47 3. Faça um programa que pergunte ao usuário o valor atual da passagem de ônibus e o valor reajustado, calcule e mostre o percentual de reajuste. 4. Faça um programa que receba o valor atual da passagem de ônibus calcule e mostre o novo valor, sabendo que sofreu um reajuste de 12% 5. Faça uma função que receba um código de cinco algarismos e gere o digito verificador módulo 7 para o mesmo: Supondo que os cinco algarismos do código são ABCDE, uma forma de calcular o dígito desejado, com módulo 7 é: DigitoV = resto da divisão de S por 7, onde S = 6*A + 5*B + 4*C + 3*D + 2*E Faça um programa que pergunte o número da agência (5 algarismos) e da conta corrente (5 algarismos) de um cliente calculando e exibindo-as com o dígito verificador no formato: xxxxx-x 48

Exercícios (4/4) 6. Escreva uma função Aumenta que receba uma string e retorne essa string no meio dela mesma. Por exemplo: "abcd" "ababcdcd". "abcde" "ababcdecde". Pergunte ao usuário seu nome completo e mostre-o após a função Aumenta 7. Considerando a existência de notas (cédulas) nos valores R$ 100, R$ 50, R$ 20, R$ 10, R$ 5, R$ 2 e R$ 1, escreva um programa que capture um valor inteiro em reais (R$) e determine o menor número de notas para se obter o montante fornecido. O programa deve exibir o número de notas para cada um dos valores de nota existentes. 49