CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON

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

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

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

Listas e Tuplas. Vanessa Braganholo

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010

Programação de Computadores

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

Objectivos. Observar os tipos fornecidos pelo C++ Explicar as regras sintácticas para nomes de identificadores Estudar variáveis e constantes

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

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

Linguagem C: Introdução

Sistemas de Numeração.

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Fundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes

Computação I - Python

Computadores e Programação

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

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

Noções de algoritmos - Aula 1

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

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: Listas. Claudio Esperança

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Curso básico de JavaScript Aula 2

Exercícios para Fundamentos da Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

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

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

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Algoritmos e Programação

Computação I - Python Aula 1 - Prática: Primeiros Passos- Função

Computação 1 - Python 1/ 41

Vetores. Vanessa Braganholo

Manipulação de Strings. Vanessa Braganholo

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

Conversões numéricas de base. Organização de Computadores

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

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

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

Sistemas de Numeração

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

Sistemas de Numeração. Tiago Alves de Oliveira

Manipulação de Strings. Vanessa Braganholo

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES REPRESENTAÇÃO NUMÉRICA. Cristina Boeres

SEBENTA INTRODUÇÃO Á ALGORITMIA

Material Didático Unificado.

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Introdução à Programação

Arquitetura de computadores BASE NUMÉRICAS

Laboratório de Programação II

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

Python Listas e Strings. Listas 23/11/2016. Por que usar listas? Listas. Listas - Solução. Listas - Problema

Introdução ao Scilab. Comandos de entrada e saída de dados.

Disciplina de Algoritmos e Programação

Um sistema de numeração posicional utiliza um conjunto de símbolos. O valor que cada

ALGORITMOS E ESTRUTURA DE DADOS

Funções getchar() e putchar()

Python 3.x Estrutura de Repetição while

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

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

Aula 4: Bases Numéricas

MANUTENÇÃO DE COMPUTADORES SISTEMAS NUMÉRICOS

Aula Teórica 8. Preparado por eng.tatiana Kovalenko

3. Linguagem de Programação C

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

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

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

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

Manipulação de Strings

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

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

Transcrição:

Computadores e Programação Engª Biomédica Departamento de Física Faculdade de Ciências e Tecnologia da Universidade de Coimbra Ano Lectivo 2005/2006 FICHA 2 CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON 2.1. Objectivos Objectivos que o aluno deve atingir com esta ficha: - Compreender o conceito de variável; - Compreender os vários tipos de dados; - Operar e manipular diferentes tipos de dados. 2.2. Variáveis O conceito de variável existe em Python, como em todas as linguagens de programação. Por definição, uma variável representa uma relação unívoca entre um valor numérico e um nome, valor esse que poderá ser acedido e alterado a qualquer instante, dependendo da execução do programa. Em Python o nome de uma variável pode ser composto por letras maiúsculas, minúsculas, dígitos e pelo caracter _. 2.3 Tipos de dados A linguagem de programação Python suporta vários tipos de dados primitivos (iremos mais tarde estudar outros tipos de dados criados pelo próprio utilizador): - Números inteiros (em bases decimal, octal ou hexadecimal); - Números de vírgula flutuante (reais); - Números complexos; - Cadeias de caracteres (em inglês designadas por strings). Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 1 de 9

Também suporta de raiz tipos de dados compostos (não primitivos), como é o caso de: - Listas; - Tuplas; - Dicionários. Um número decimal é representado por uma sequência de algarismos entre 0 (zero) e 9 (nove). Um número decimal não deverá começar nunca por 0 : x = 40 x 40 No caso de se pretender lidar com números octais (base 8), estes deverão ser representados por uma sequência de algarismos de 0 (zero) a 7 (sete) e ser sempre precedidos por 0 (zero) para identificação da base, como se demonstra no exemplo seguinte, onde o número 010 representado em base octal equivale a 8 em base decimal: y = 010 y 8 Finalmente, e para o caso dos números hexadecimais (de base 16), temos sequências de 0 (zero) até 9, A, B, C, D, E e F. Devem ser precedidas pelo prefixo 0x ou 0X para que o intérprete as identifique na base correcta. 0xf 15 0x10 16 Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 2 de 9

2.3.1 Números inteiros Um número inteiro pode ser representado em qualquer uma das bases referidas anteriormente e, dependendo da arquitectura do computador e do sistema operativo, poderá tomar valores entre -2 31 e +2 31-1. 2.3.2 Números de vírgula flutuante Números de vírgula flutuante representam números reais e possuem, portanto, parte inteira e parte fraccionária. Podem ser representados na notação decimal normal ou em notação científica: 0.002 0.002 2e-3 0.002 2.3.3 Números complexos Os números complexos são representados da forma x + yj, ou seja: 3+7j (3+7j) complex(3,7) (3+7j) Há em Python formas directas de extrair a parte real ou imaginária de um número complexo. Do mesmo modo, é possível obter directamente o seu valor absoluto através da função abs(): z=4+3j z.real 4.0 z.imag 3.0 abs(z) 5.0 Sempre que se pretender verificar o tipo de variável, pode-se usar o comando type() da forma que se descreve: Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 3 de 9

type(z) <type 'complex'> Obtém-se, portanto, a indicação de que se trata de um número complexo. 2.3.4 Cadeias de caracteres Cadeias de caracteres ou strings são sequências de zero ou mais caracteres. Em Python essas sequências são delimitadas por dois tipos possíveis de caracteres especiais: plicas ( ) ou aspas ( ): "ola" 'ola' 'ola' 'ola' No caso de se pretender usar plicas ( ) ou aspas ( ) dentro da própria string, deverá proceder-se da seguinte forma: se o caracter que pertence à string é diferente do caracter de delimitação, não é necessário fazer nada. Em caso contrário, esse caracter deverá ser precedido por uma barra (\). Veja-se o exemplo: "bons dias" 'bons dias' "bons d"ias" SyntaxError: invalid syntax "bons d\"ias" 'bons d"ias' O caracter \n é interpretado como sendo um único caracter, e é usado para representar uma mudança de linha: print "OlaJoao" OlaJoao print "Ola\nJoao" Ola Joao Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 4 de 9

É possível realizar diversas operações de manipulação de strings em Python. Uma dessas operações é a concatenação (que consiste em encadear strings, juntando sucessivamente umas no final de outras) que se realiza através da operação + sequencia = "frase de teste" print "Apresento uma "+sequencia+" concatenada!" Apresento uma frase de teste concatenada! Outro tipo de operação realizável em strings consiste na sua repetição através do operador * print "bla "*17 bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla 2.3.5 Listas As listas definem uma estrutura de dados que agrupa um conjunto de elementos de qualquer tipo, podendo esses elementos, por sua vez, ser também listas: List=[12.0, 3, 'Pascal', -7, 440, [23, 'bio', 'a']] List [12.0, 3, 'Pascal', -7, 440, [23, 'bio', 'a']] A função len() permite obter o número total de elementos que formam uma lista: len(list) 6 É possível aplicar a listas, operações (concatenação, repetição, etc.) que também se aplicam a strings: 2*List [12.0, 3, 'Pascal', -7, 440, [23, 'bio', 'a'], 12.0, 3, 'Pascal', -7, 440, [23, 'bio', 'a']] Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 5 de 9

Adicionalmente, a linguagem Python permite alterar elementos ou sub-blocos de uma determinada lista. Essa alteração faz-se acedendo ao item que corresponde ao elemento que se deseja alterar: List[4:5]=['Lavoisier'] List [12.0, 3, 'Pascal', -7, 'Lavoisier', [23, 'bio', 'a']] É possível remover um determinado elemento de uma lista (no caso de baixo elimina-se o primeiro elemento 1 ) acedendo-se ao item correspondente através do comando del: del List[0] print List [3, 'Pascal', -7, 'Lavoisier', [23, 'bio', 'a']] Ou então remover um sub-bloco da lista (no exemplo seguinte elimina-se o segundo e terceiro elementos), através do mesmo comando del. Note-se que o limite superior do intervalo é não inclusivo: del List[2:4] print List [3, 'Pascal', [23, 'bio', 'a']] Para eliminar completamente a lista da memória usa-se: del List print List Traceback (most recent call last): File "<pyshell#227>", line 1, in -toplevelprint List NameError: name 'List' is not defined 1 O primeiro elemento de uma lista é sempre representado pelo item 0 (zero) Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 6 de 9

2.3.6 Dicionários Da mesma forma que as listas, também os dicionários agrupam elementos de tipos diferentes. A grande diferença reside no facto de, nos dicionários, cada elemento vir associado a uma chave. Tal como num dicionário convencional, onde primeiro se procura uma palavra para depois encontrar o seu significado, em Python utiliza-se a chave para aceder ao elemento que lhe corresponde. A declaração de um dicionário assemelha-se à de uma lista. Difere apenas no uso de chavetas em vez de parêntesis rectos e na declaração de cada um dos seus elementos separados por vírgulas, no formato chave:valor. Quer a chave, quer o valor, podem ser de qualquer um dos tipos de dados estudados: Dic={'vasco':22, 'ana':19, 'joana':18, 'francisco':20} print Dic {'francisco': 20, 'joana': 18, 'vasco': 22, 'ana': 19} Para aceder a um valor de um dicionário usam-se parêntesis rectos: Dic['vasco'] 22 Para adicionar novos valores à lista, usa-se notação idêntica: Dic['rita']=21 print Dic {'francisco': 20, 'joana': 18, 'vasco': 22, 'rita': 21, 'ana': 19} 2.3.7 Tuplas Vimos que strings e listas são dois tipos de dados sequenciais. Uma tupla (no inglês tuple) é apenas outro tipo de dados sequencial standard que consiste num conjunto de valores separados por vírgulas: tup=1,2,3,'ola' tup[0] 1 tup[3] 'ola' Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 7 de 9

Do mesmo modo que acontece com as strings, também as tuplas são imutáveis, isto é, não é possível atribuir um valor a um item individual de uma tupla. A declaração anterior é um exemplo de empacotamento de uma tupla. Os valores 1, 2, 3 e ola foram empacotados juntamente numa tupla. A operação inversa também é possível e designa-se por desempacotamento sequencial: x, y, w, z = tup print x, y, w, z 1 2 3 ola Esta última operação requer que a lista de variáveis do lado esquerdo tenha o mesmo número de elementos que a sequência do lado direito. 2.4 Exercícios sugeridos 1. Implemente um programa que, a partir de uma lista de 5 elementos chamada ListaDeOrigem (inicializada com valores aleatórios pelo programador), crie uma nova lista designada por ListaAoCubo, do mesmo tamanho, cujos elementos representem os da primeira elevados ao cubo. Grave o programa no seu directório sob o nome de prob_3_1.py 2. Elabore um programa que peça ao utilizador o seu nome, dia, mês e ano de nascimento. De seguida, armazene cada um desses dados numa lista. Finalmente, imprima os dados da lista no ecran. Grave o programa no seu directório sob o nome de prob_3_2.py 3. Crie um programa que peça ao utilizador dois valores numéricos e calcule a sua soma, diferença, produto, divisão e expoente. Deverá guardar os resultados num dicionário chamado DicioCalculo, na forma: { soma : 6, subtraccao : 2,...}. Por fim, imprima os elementos do dicionário. Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 8 de 9

4. Implemente um programa que, pedindo a um aluno o nome das disciplinas do 1º ano da licenciatura de Engª Biomédica e as respectivas notas obtidas, vá armazenando esses dados num dicionário chamado DicioNotas. No caso de o aluno ainda não ter obtido aproveitamento a uma determinada cadeira, deverá constar a nota --. 5. Escreva um programa que, em função de uma lista de números inteiros, desenhe o diagrama de barras horizontais correspondente. Siga o exemplo para a lista [3, 10, 7]: *** ********** ******* Computadores e Programação Engª Biomédica 2005/06 Ficha 2 Página 9 de 9