Programação I Aula 3 Primeiros programas

Documentos relacionados
Introdução à Programação Aula 3 Primeiros programas

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

Python - Variáveis e expressões

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

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

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

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

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

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

Linguagens de programação

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

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

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

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

A Linguagem Python: Uma visão geral. Prof. Alberto Costa Neto Programação em Python

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Introdução à Programação em C

Programação I Aula 17 Correção de programas Pedro Vasconcelos DCC/FCUP

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

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

Programação de Computadores III

Departamento de Ciência da Computação Python 3.x Variáveis e Expressões. Introdução à Ciência da Computação. Prof. Edison Ishikawa

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Programação de Computadores III

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

Programação de Computadores:

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Computação 1 - Python Aula 12 - Teórica: Interação com o usuário e programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 25

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

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

MCG126 Programação de Computadores II

Algoritmos e Programação

Fundamentos de Programação em Python

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Linguagem Java - Introdução

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

Fundamentos da Programação

Introdução a Programação

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

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Computadores e Programação

Introdução a Computação

Paradigmas de Linguagens de Programação. Expressões e Instruções de Atribuição

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

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

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

A Linguagem C. A forma de um programa em C

Variáveis primitivas e Controle de fluxo

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Osvaldo Santana Thiago Galesi

MsC. João Maria MsC. Liviane Melo

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

Introdução à Programação em C. Prof. Ricardo Teixeira Tecnologia em Mecatrônica Industrial SENAI

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Aula 03 Introdução à Programação com a Linguagem Python

Conceitos básicos de programação

Computação 1 - Python Aula 11 - Teórica. programa principal. João Carlos, Carla Delgado, Ana Luisa Duboc 1/ 29

Programação científica C++

Python: Exceções, Iteradores e Geradores. Claudio Esperança

*Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.

Conceitos Básicos Linguagem C

Introdução a Programação de Jogos

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Módulo 03. Identificadores, Palavras Reservadas, e Tipos

Estruturas de Repetição

Disciplina de Algoritmos e Programação

Fundamentos de Programação

3. Linguagem de Programação C

Programação Orientada a Objeto

Introdução à Programação em C (I)

Transcrição:

Programação I Aula 3 Primeiros programas Pedro Vasconcelos DCC/FCUP 2018 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 1 / 23

Nesta aula... 1 Tipos básicos 2 Variáveis e atribuições 3 Programas completos Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 2 / 23

Tipos numéricos Em Python distinguimos números inteiros e fracionários (vírgula-flutuante) associando-lhes tipos distintos. tipo exemplos inteiros int 42-7 vírgula-flutuante float 42.0-7.0-0.0254 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 3 / 23

Tipos numéricos (cont.) As operações aritméticas funcionam com ambos os tipos: >>> 1+2 int + int => int 3 >>> 1.0+2.0 float + float => float 3.0 Também podemos usar tipos diferentes numa operação; o resultado será um float: >>> 1 + 2.5 int + float => float 3.5 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 4 / 23

Tipos numéricos (cont.) Divisão entre inteiros dá um número fracionário: >>> 17/5 3.4 Podemos obter o quociente e o resto da divisão inteira com os operadores // e %: >>> 17//5 quociente da divisão inteira 3 >>> 17%5 resto da divisão inteira 2 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 5 / 23

Erros de arredondamento Números inteiros podem ser representados de forma exata no computador. 1 Números em vírgula-flutuante são aproximações finitas dos números reais: >>> 8/3 2.6666666666666665 As operações sucessivas sobre estes números podem fazer acumular erros de arredondamento. O controlo destes erros na computação é estudado em Análise Numérica. 1 Apenas limitados pela memória disponível. Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 6 / 23

Erros de arredondamento Um exemplo Usando álgebra exacta: ( ) 100 3 33 3 = 100 33 3 = 1 Contudo, usando operações vírgula-flutuante obtemos resultados diferentes: >>> (100.0/3.0-33.0) * 3.0 1.000000000000007 >>> 100.0-33.0*3.0 1.0 O erro de arrendondamento foi 1.000000000000007 1 7 10 15 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 7 / 23

Conversão automática entre tipos numéricos int + int int float + float float int + float float float + int float Também com os operadores aritméticos -, * e **. A divisão (em Python 3) é um caso especial: int/int float int//int int int%int int Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 8 / 23

Conversão explícita entre tipos >>> int(2.71) 2 >>> round(2.71) 3 >>> float(-33) -33.0 >>> str(-3.134) -3.134 >>> float("3.14") 3.14 >>> float("trinta e três") ValueError Nota: round(...) arrendonda ao inteiro mais próximo; int(...) trunca a parte fracionária; Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 9 / 23

Cadeias de carateres As cadeias de carateres são valores de tipo str (string). Escrevemos o texto entre aspas simples ou duplas: >>> "Olá mundo!" Olá mundo! >>> abracadabra abracadabra >>> type( abracadabra ) <class str > Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 10 / 23

Cadeias de carateres (cont.) Podemos usar três aspas para introduzir cadeias de carateres com várias linhas. >>> Bom dia! --- Ola, mundo! Bom dia!\n--- Ola, mundo! Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 11 / 23

Operações sobre cadeias de carateres Concatenação str + str str Repetição int str str >>> "Olá" + " " + "Mundo" Olá Mundo >>> 3*"Olá" + " Mundo!" OláOláOlá Mundo! >>> 3*"Olá " + "Mundo!" Olá Olá Olá Mundo! Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 12 / 23

Variáveis Nomes para representar quantidades ou propriedades dum problema Começam com uma letra, seguido de letras, números ou sublinhado Podem ter letras com acentos Não podem ter espaços ou tabulações Não podem ser palavras reservadas: and def exec if not return assert del finally import or try break elif for in pass while class else from is print yield continue except global lambda raise Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 13 / 23

Variáveis (cont.) Exemplos de nomes válidos para variáveis: nome idade Preço_Max área2 Exemplos de nomes que não podemos usar: 76trombones more$ lambda Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 14 / 23

Atribuições Associa o valor de uma expressão a uma variável: >>> raio = 1 nome = expressão raio 1 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 15 / 23

Atribuições (cont.) Depois de definir uma variável, podemos usá-la em expressões seguintes: >>> import math >>> perimetro = 2*math.pi*raio >>> perimetro 6.2831853071795862 raio 1 perimetro 6.2831853071795862 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 16 / 23

Atribuições (cont.) Note que a atribuição é um comando, não é uma equação. Exemplo: >>> raio = 2 >>> perimetro 6.2831853071795862 raio 2 perimetro 6.2831853071795862 O perimetro não altera automaticamente por alterarmos o raio... Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 17 / 23

Atribuições (cont.) Se quiseremos re-calcular o perímetro, voltamos a executar a atribuição: >>> perimetro = 2*math.pi*raio >>> perimetro 12.566370614359172 raio 2 perimetro 12.566370614359172 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 18 / 23

Ordem de atribuições A ordem das atribuições é importante! Exemplo: vamos anotar os valores de p e n após cada instrução. Programa 1 p = 1 p 1 n = 2 p 1, n 2 p = p*n p 2, n 2 n = n+1 p 2, n 3 Final: p 2, n 3 Programa 2 p = 1 p 1 n = 2 p 1, n 2 n = n+1 p 1, n 3 p = p*n p 3, n 3 Final: p 3, n 3 Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 19 / 23

Programas completos perimetro.py # Calcular o perimetro de uma circunferência # Pedro Vasconcelos, 2013 import math raio = 2.5 perimetro = 2*math.pi*raio Executa correctamente, mas não mostra quaisquer resultados. Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 20 / 23

Comandos de entrada e saída de dados input(text) escreve texto (opcional) e lê uma cadeia de carateres print(expr1, expr2,...) escreve valores no terminal Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 21 / 23

Programa revisto perimetro.py # Calcular o perimetro de uma circunferência # Pedro Vasconcelos, 2013 import math raio = float(input( Qual é o valor do raio? )) perimetro = 2*math.pi*raio print( O perimetro da circunferência é, perimetro) Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 22 / 23

Comentários # Calcular o perimetro de uma circunferência # Pedro Vasconcelos, 2013 Começam com o símbolo # e extendem até ao fim da linha Permitem incluir documentação para outros programadores Também úteis para o autor (para lembrar como funciona o programa) Evitar comentários redundantes, e.g.: t = t + 10 # adicionar 10 a t t = t + 10 # 10s extra de tempo Pedro Vasconcelos (DCC/FCUP) Programação I Aula 3 Primeiros programas 2018 23 / 23