·

Engenharia Mecânica ·

Introdução à Lógica e Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Entrada e saída de dados Entrada e saída de dados Introdução à Lógica de Programação Processamento de Dados Introdução à Lógica de Programação Processamento de Dados Rodrigo Rocha rodrigorgsufbabr Rodrigo Rocha rodrigorgsufbabr Instituto de Computação Instituto de Computação Universidade Federal da Bahia Universidade Federal da Bahia 1 15 1 15 Entrada e saída As instruções de entrada e saída permitem ao seu programa interagir com informações externas a ele Estudaremos como ler do teclado entrada e escrever da tela saída Saída de dados print Entrada de dados input 2 15 Saída de dados Saída de dados 3 15 3 15 Saída de dados print Para exibir imprimir um valor na tela use a instrução printx substituindo x pela expressão cujo resultado deve ser exibido Exemplos print5 printOi print314 2 4 15 Imprimindo com número definido de casas decimais Para imprimir um valor com um determinado número de casas decimais convertao para string usando fstrings Exemplo total 1 7 printftotal2f Imprimindo múltiplos valores na mesma linha Você também pode usar fstrings Exemplo a 1 b 2 c 3 printfa b c 6 15 Imprimindo múltiplos valores na mesma linha Você pode passar para o print diversas expressões separadas por vírgulas Exemplo idade 18 printEu tenho idade anos Na saída as expressões ficam separadas por um espaço em branco Se quiser remover essa separação adicione sep ddd 71 telefone 55555555 print ddd telefone sep Evitando a quebra de linha A princípio cada print escreve uma linha de texto Exemplo printOi printpessoal Se você quiser evitar a quebra de linha use end Exemplo printOi end printpessoal 8 15 Entrada de dados Entrada de dados 9 15 9 15 Entrada input input lê tudo o que o usuário digita até apertar Enter e retorna o texto digitado como uma string Exemplo printQual é o seu nome nome input printOi nome 10 15 Exemplo com input Qual a saída do programa a seguir considerando como entradas os números 2 e 3 printDigite o primeiro número a input printDigite o segundo número b input printSoma a b 11 15 Exemplo com input Qual a saída do programa a seguir considerando como entradas os números 2 e 3 printDigite o primeiro número a input printDigite o segundo número b input printSoma a b O input sempre retorna uma string Se necessário você deve converter para o tipo desejado 12 15 Exemplo com input Programa corrigido printDigite o primeiro número a floatinput printDigite o segundo número b floatinput printSoma a b 13 15 Outro exemplo com input Programa que lê um número e imprime seu dobro numero intinput printnumero 2 14 15 Lendo diversos valores na mesma linha Programa que lê uma linha com três números inteiros separados por espaço e mostra a soma dos números a b c inputsplit a inta b intb c intc printa b c split separa o texto da entrada onde tem espaço em branco cada uma das partes é atribuída para uma variável Note que split retorna strings é necessário converter cada parte para inteiro antes de fazer a soma 15 15 Expressões aritméticas Expressões aritméticas Introdução à Lógica de Programação Processamento de Dados Introdução à Lógica de Programação Processamento de Dados Rodrigo Rocha rodrigorgsufbabr Rodrigo Rocha rodrigorgsufbabr Instituto de Computação Instituto de Computação Universidade Federal da Bahia Universidade Federal da Bahia 1 12 1 12 Expressões aritméticas Expressões aritméticas podem ser um número Ex 32 uma variável numérica Ex x uma operação aritmética envolvendo duas expressões aritméticas Ex 32 x 32 x 2 a aplicação de uma função a uma expressão aritmética Ex int32 x 2 12 Operações aritméticas em Python Símbolo significado soma subtração multiplicação divisão divisão inteira resto da divisão potenciação A divisão inteira retorna apenas a parte inteira do resultado Exemplos Divisão normal 10 4 25 Divisão inteira 10 4 2 Precedência de operadores Certas operações possuem maior precedência isto é são realizadas primeiro Por exemplo na expressão 1 4 3 a operação de multiplicação 4 3 é realizada antes da soma 4 12 Precedência de operadores Certas operações possuem maior precedência isto é são realizadas primeiro Por exemplo na expressão 1 4 3 a operação de multiplicação 4 3 é realizada antes da soma Níveis de precedência de operadores maior precedência menor precedência Duas operações no mesmo nível executar da esquerda para a direita 5 12 Precedência de operadores Certas operações possuem maior precedência isto é são realizadas primeiro Por exemplo na expressão 1 4 3 a operação de multiplicação 4 3 é realizada antes da soma Níveis de precedência de operadores maior precedência menor precedência Duas operações no mesmo nível executar da esquerda para a direita 1 2 3 6 6 12 4 2 3 Na dúvida use parênteses para forçar uma precedência Ex 1 2 3 6 12 Funções matemáticas Para usar as funções matemáticas você precisa incluir a seguinte linha no início de seu código from math import Funções trigonométricas sinx cosx tanx Ex cos314 note que o valor passado deve estar em radianos Valor absoluto fabsx Ex fabs11 11 Raiz quadrada sqrtx Ex sqrt9 3 Logaritmos logx logaritmo natural base e log10x base 10 Arredondamento ceilx arredonda pra cima floorx arredonda pra baixo Constantes pi e 7 12 Exercícios Crie um programa para calcular as raízes de uma equação do segundo grau Como determinar se um número é par Como extrair o dígito das unidades de um número Como extrair o dígito das dezenas de um número 8 12 Expressões com strings Strings admitem a operação de concatenação com o operador Exemplo nome Fulano sobrenome de Tal nomecompleto nome sobrenome 9 12 Expressões com strings Não é possível concatenar string com um número ano 2001 x maio de ano TypeError can only concatenate str not int to str Para concatenar é preciso converter para string ano 2001 x maio de strano 10 12 Interpolação de strings A interpolação de strings é um recurso que permite construir facilmente uma string que contenha valores de variáveis ou expressões Exemplo nome Fulana idade 18 frase fnome tem idade anos Dentro das string expressões entre chaves são substituídas pelos seus valores convertidos para string O f antes das aspas indica que queremos que o Python faça essa substituição Sem o f não funciona faça o teste Essas strings são chamadas de fstrings formatted strings 11 12 Interpolação de strings No caso de expressões do tipo float podemos controlar a quantidade de casas decimais Exemplo com duas casas decimais total 1 7 frase fResultado total2f 12 12 Variáveis Variáveis Introdução à Lógica de Programação Processamento de Dados Introdução à Lógica de Programação Processamento de Dados Rodrigo Rocha rodrigorgsufbabr Rodrigo Rocha rodrigorgsufbabr Instituto de Computação Instituto de Computação Universidade Federal da Bahia Universidade Federal da Bahia 1 18 1 18 Variáveis são usadas para guardar informações dentro de um programa Uma variável possui um nome chamado de identificador da variável um valor de um determinado tipo O valor da variável pode mudar durante a execução do programa Atribuição Para atribuir um valor a uma variável usase Exemplos idade 18 x 2 3 y idade x y y 1 Lêse idade recebe 18 OBS indica que estamos usando o modo shell Não digite 3 18 Atribuições compostas modificam o valor de uma variável através de uma operação matemática Elas são apenas formas mais sucintas de escrever certas atribuições Usase incremento decremento e Exemplos atribuição composta é equivalente a x 3 x x 3 x y 2 x x y 2 preco desconto preco preco desconto num 2 num num 2 a b 1 a a b 1 O nome de uma variável identificador em Python pode conter letras AZ az dígitos 09 e underscore não pode começar com um dígito Exemplos idade x2 anoNascimento mesnascimento abc Identificador O nome de uma variável identificador em Python pode conter letras AZ az dígitos 09 e underscore não pode começar com um dígito Exemplos idade x2 anoNascimento mesnascimento abc Python diferencia maiúsculas e minúsculas nos identificadores Assim idade Idade IDADE e iDaDe são 4 identificadores diferentes que representam 4 variáveis diferentes Identificador O nome de uma variável identificador em Python pode conter letras AZ az dígitos 09 e underscore não pode começar com um dígito Exemplos idade x2 anoNascimento mesnascimento abc Python diferencia maiúsculas e minúsculas nos identificadores Assim idade Idade IDADE e iDaDe são 4 identificadores diferentes que representam 4 variáveis diferentes Existem palavras reservadas que não podem ser usadas para dar nome as variáveis tais como if for while entre outras Tipos de dados Tipos de dados 8 18 8 18 Tipos Os tipos de dados básicos em Python são os seguintes int número inteiro incluindo positivos negativos e zero Ex 5 9 18 Tipos Os tipos de dados básicos em Python são os seguintes int número inteiro incluindo positivos negativos e zero Ex 5 float número de ponto flutuante decimal Ex 314 O separador decimal é o ponto Tipos Os tipos de dados básicos em Python são os seguintes int número inteiro incluindo positivos negativos e zero Ex 5 float número de ponto flutuante decimal Ex 314 O separador decimal é o ponto bool valor lógico True ou False Tipos Os tipos de dados básicos em Python são os seguintes int número inteiro incluindo positivos negativos e zero Ex 5 float número de ponto flutuante decimal Ex 314 O separador decimal é o ponto bool valor lógico True ou False str tipo string cadeia de caracteres texto Ex Olá pessoal aspas duplas ou Olá pessoal aspas simples Tipos Os tipos de dados básicos em Python são os seguintes int número inteiro incluindo positivos negativos e zero Ex 5 float número de ponto flutuante decimal Ex 314 O separador decimal é o ponto bool valor lógico True ou False str tipo string cadeia de caracteres texto Ex Olá pessoal aspas duplas ou Olá pessoal aspas simples O tipo determina as operações que podem ser realizadas Exemplos É possível subtrair números int e float mas não é possível subtrair strings Não se pode somar um inteiro a uma string Tipos Os tipos de dados básicos em Python são os seguintes int número inteiro incluindo positivos negativos e zero Ex 5 float número de ponto flutuante decimal Ex 314 O separador decimal é o ponto bool valor lógico True ou False str tipo string cadeia de caracteres texto Ex Olá pessoal aspas duplas ou Olá pessoal aspas simples O tipo determina as operações que podem ser realizadas Exemplos É possível subtrair números int e float mas não é possível subtrair strings Não se pode somar um inteiro a uma string Python possui outros tipos que veremos mais tarde typevar Para saber o tipo de uma variável por exemplo x use typex x 1 typex y 30 typey 15 18 Conversão de tipos Em alguns casos podese querer converter um valor de um tipo para outro Para isso use uma das funções de conversão intvalor floatvalor boolvalor strvalor x 10 y 2 z intx y 16 18 Conversão de tipos x 3 floatx strx ano 2001 intano 17 18 Conversão de tipos x 3 floatx strx ano 2001 intano Na conversão de float para int as casas decimais são descartadas x 199 intx 18 18 VIDEO GAME DOS SIMPSONS Autora Luana Teixeira Em um episódio de Os Simpsons Bart Simpson precisa juntar dinheiro para comprar um jogo de videogame Ele consegue juntar X reais vendendo limonada na rua e depois mais Y reais entregando jornais Escreva um programa que receba como entrada os valores de X e Y calcule a soma dos dois valores e exiba o resultado na tela mostrando o quanto Bart conseguiu juntar para comprar o seu jogo de videogame Entrada A entrada é composta por dois números reais X 00 X 100000 e Y 00 Y 100000 dados em linhas diferentes representando respectivamente quanto Bart conseguiu juntar vendendo limonada e entregando jornais Saída A saída será composta por apenas um número real ou seja o valor total que Bart conseguiu juntar para comprar o seu jogo de videogame mostrado com duas casas decimais de precisão Entrada Saída 1510 2050 3560 501 617 1118 Raffting nas cataratas Praticar raffting em uma das maravilhas da natureza é uma experiência inesquecível É esse o relato de milhares de turistas que visitaram as Cataratas do Iguaçu Lá existe toda uma estrutura para receber os turistas que tem coragem de vivenciar o passeio por algumas cachoeiras e corredeiras O esporte é radical e é feito utilizandose um bote inflável em que pode ir um número variado de pessoas Em cada bote sempre temos o instrutor e o guia do passeio dois profissionais responsáveis pela segurança dos turistas no bote E por mais incrível que possa parecer muitos já morreram praticando o raffting usando um barril para descer as famosas Cataratas do Niágara O Parque Nacional do Iguaçu é uma das áreas mais turísticas do Brasil visitado por milhões de turistas anualmente O diretor do parque quis saber a quantidade de turistas que desceram as corredeiras em um intervalo de tempo então ele contou em 4 viagens a quantidade de pessoas nos botes Assim dada a quantidade de pessoas nos 4 botes diga quantos turistas desceram as corredeiras Entrada A entrada é composta por 4 inteiros Q1 Q2 Q3 e Q4 3 Q1 Q2 Q3 Q4 20 representando a quantidade de pessoas que estavam nos botes em cada uma das 4 viagens Saída Na saída será apresentada a quantidade total de turistas que desceram as corredeiras durante as 4 viagens Entrada Saída 10 15 8 7 32 3 6 9 12 22 3 3 3 3 4 Contabilizando Pokémons Autor João Pedro Rodrigues A Pokédex também conhecida como Poké Agenda é uma enciclopédia virtual portátil de alta tecnologia que os treinadores Pokémon transportam para registrar todas as espécies diferentes de Pokémon que são encontradas durante a sua viagem como treinadores O novo modelo de Pokédex está sendo desenvolvido e registra monstrinhos das regiões de Kanto Johto e Hoenn Sempre que Pokémons de uma nova espécie são capturados a Pokédex deve adicionar a quantidade de Pokémons capturados ao contador das regiões em que eles são originários Sua missão é desenvolver um programa que implemente essa funcionalidade Entrada A entrada é composta de 2 linhas A primeira linha contém três inteiros que representam o número de pokémons já registrados na Pokédex de cada região na ordem K Kanto J Johto e H Hoenn A segunda linha contém o número de novos pokémons capturados de cada região na mesma ordem da primeira linha Restrições 0 KJH 100 Saída Imprima na ordem da entrada K J H o número total de pokémons de cada região após a nova contagem separados por espaço Imprima uma quebra de linha no fim Exemplo de entrada Saída 92 40 54 1 0 0 93 40 54 12 1 0 0 2 2 12 3 2 Incursão da Divisão de Reconhecimento A Divisão de Reconhecimento se prepara para mais uma incursão além das muralhas em uma região de interesse infestada de titãs Como em toda boa incursão a preparação é algo vital para o sucesso e controle de eventuais baixas Para isso o comandante Erwin Smith te incumbiu do processo de alocação de tropas considerando a quantidade de inimigos na região e o tempo máximo de exposição das tropas Sabendo que o tempo máximo de exposição das tropas nessa missão é de 1 hora e que Levi Ackerman também foi alocado para a incursão implemente um programa que dado um número inteiro X de titãs faz uma alocação de um número inteiro Y de tropas que deverão acompanhar Levi Considere as seguintes estatísticas Levi Ackerman Mata 20 titãs por hora Soldado comum Mata 5 titãs por hora Entrada A entrada possui um único número inteiro N 20 N 200 que representa a quantidade de titãs na região e será sempre um múltiplo de 5 Saída A saída consiste em um número inteiro X que representa a quantidade de soldados comuns necessários para eliminar todos os titãs durante 1 hora de missão Entrada Saída 100 16 30 2 20 0 As desventuras de Snake Snake desistiu de comer ovos de pássaros já que ela descobriu da pior maneira que eles ficam muito bravos e andou buscando novas opções Em sua busca Snake encontrou ovos de camaleão que possuem uma incrıvel curiosidade aqueles que comem os ovos mudam de cor Fascinada por essa descoberta Snake começou a coletar inúmeros ovos dos camaleões que fizeram armadilhas para Snake Em alguns ninhos foram colocados ovos envenenados que ao serem tocados eles explodem e provocam sono instantaneamente Assim ao encontrar um ovo envenenado Snake dorme por alguns segundos e os camaleões conseguem recuperar dois ovos Ela quis saber então ao fim de três caçadas com quantos ovos ela ficou e te pediu ajuda já que você é um excelente programador Assim dadas as quantidades de ovos coletados e o número de ovos envenenados em cada caçada diga quantos sobraram Entrada A entrada é composta na primeira linha por 3 inteiros Q1 Q2 e Q3 6 Q1Q2Q3 20 representando a quantidade de ovos coletados em cada uma das caçadas Na segunda linha serão dados 3 inteiros E1 E2 e E3 0 E1E2E3 2 representando a quantidade de ovos envenenados em cada uma das caçadas Saída Na saída será apresentada a quantidade de ovos que sobraram das caçadas Entrada Saída 10 12 20 0 1 1 36 6 6 6 2 2 2 0 Entregas do Lobo Mau O Lobo Mau resolveu parar um pouco com as maldades decidiu abrir uma empresa de entregas e convidou Chapeuzinho Vermelho para ser sua sócia Certo dia Chapeuzinho precisou levar doces e bolos para sua vovozinha Como todos sabem ela mora longe o caminho é deserto e o Coelho Mau mora ali por perto Sim como o Lobo virou empresário alguém tinha que tomar seu lugar na floresta Para passar pelo caminho da floresta o Coelho passou a cobrar um valor V por km e um valor P por pedágio Assim Chapeuzinho pediu uma carona ao seu sócio e lá foi ela pela estrada a fora já não tão sozinha levar os bolos e doces para a vovozinha Saiba que a estrada tem tamanho T que os pedágios estão a uma distância D um dos outros igualmente espaçados e que o primeiro pedágio está no km D Portanto o começo da estrada não possui um pedágio mas o seu final pode estar logo após um pedágio por exemplo se a distância entre dois pedágios consecutivos for de 20 km e a estrada tiver 60 km Chapeuzinho deve pagar um pedágio aos 20 km aos 40 km e aos 60 km Assim calcule quanto custará para a pobre Chapeuzinho passar pela floresta e levar os doces para a vovozinha Entrada A entrada é composta na primeira linha por 2 inteiros T e D 1 TD 1000 representando o tamanho da estrada e a distância entre os pedágios Na próxima linha serão fornecidos outros 2 inteiros V e P 1 VP 100 representando o valor por km de estrada e o valor por cada pedágio Saída Na saída será apresentado o valor total pela travessia da floresta Entrada Saída 60 20 1 10 90 100 51 2 50 250 Contador de segundos Senku é um garoto muito inteligente e gosta de contar o tempo em segundos As vezes quando precisa contar um tempo muito longo ele pode se perder e errar a conta Senku quer saber se contou o tempo de um determinado evento em segundos corretamente para isso ele precisa que você converta o tempo em segundos que ele calculou para horas minutos e segundos Entrada Será dado um número inteiro N 1 N 100000000 que representa o tempo do evento em segundos Saída Contém o tempo dado em segundos convertido para horas minutos e segundos como nos exemplos abaixo Exemplo Entrada Saída 4000 1h 6m 40s 5200 1h 26m 40s 59 0h 0m 59s