Computadores e Programação

Documentos relacionados
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

Programação I Aula 3 Primeiros programas

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

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

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

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

Docentes. Regras de Avaliação

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

Python - Variáveis e expressões

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

Fundamentos de Programação em Python

CONCEITOS BÁSICOS DE PROGRAMAÇÃO PYTHON

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

3. Linguagem de Programação C

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

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

Funções de Entrada e Saída

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

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

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno

Princípios de Desenvolvimento de Algoritmos MAC122

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

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

Disciplina: Introdução à Engenharia da Computação

Estruturas de Repetição

Introdução à Computação MAC0110

JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3

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

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

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

TÉCNICO DE INFORMÁTICA - SISTEMAS

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo

Introdução à Ciência da Computação

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

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

Oficina de Python Prof. Me. José Carlos Perini

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

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

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

Oficina de Python Prof. Me. José Carlos Perini

Linguagens de Programação

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

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

AMBIENTE DE PROGRAMAÇÃO PYTHON

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

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

Exercícios Repetição

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

Linguagens de Programação I

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

Algoritmos e Programação

Introdução a Computação

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

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

Lista de Exercícios - 1 Prof: Yuri Frota

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

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

Unidade 4: Introdução à Lógica de Programação - Parte II

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

Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano

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 II prof. Daniel Oliveira

Sistemas de Numeração

Faculdade de Computação

Análise de Programação

Algoritmo e Programação Matemática

Introdução à Programação

Working 03 : Conceitos Básicos II

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

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

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

Algoritmos I Aula 13 Linguagem de Programação Java

Linguagem Java - Introdução

Transcrição:

Computadores e Programação Engenharia Biomédica Luís Cruz - 2006 1 Docentes Teórica: Luís Cruz Prática: João Sá Marta Luís Cruz - 2006 2 1

Regras de Avaliação Componente Teórica + Componente Prática Componente Teórica 14 valores Avaliada por exame e exame de recurso Mínimo : 4 valores Componente Prática 6 valores resultantes da avaliação contínua efectuada durante as aulas laboratoriais Luís Cruz - 2006 3 Regras de Avaliação Informação adicional A admissão a exame por parte de alunos em regime normal (i.e. não são trabalhadores estudantes) depende da frequência de um mínimo de 80% das aulas práticas, Caso o desejem, os alunos trabalhadores-estudantes podem combinar com o docente da prática uma forma alternativa de serem avaliados na vertente prática, A nota da prática (0-6 valores) é válida para o exame, exame de recurso e eventuais exames de época especial, As provas teóricas são realizadas com consulta limitada (bibliografia), fichas (limpas) e formulário com até 4 páginas (sem programas resolvidos). Luís Cruz - 2006 4 2

Programa Programa Abreviado Linguagem de programação Python Algoritmos Aplicações Luís Cruz - 2006 5 Apresentação e Programa Programa Detalhado Linguagem de Programação Python Tipos básicos de dados Estruturas de controlo de fluxo Estruturas de dados avançadas Funções e Módulos Algoritmos Aplicações Luís Cruz - 2006 6 3

Bibliografia Python - Curso Completo", Pedro Morais, José Nuno Pires, Editora FCA, ISBN 9727222706 "Practical Python", Magnus Lie Hetland, APress, ISBN 1590590066 An Introduction to Python, Guido van Rossum disponível em www.python.org Luís Cruz - 2006 7 Ambiente de Programação em Python Ambiente de desenvolvimento integrado IDLE (para Windows) pode ser descarregado em www.python.org/idle Ao ser lançado (após instalação), surge uma janela análoga à seguinte: Luís Cruz - 2006 8 4

Programação em Python Duas formas de executar instruções Python... Interactivamente: A instrução a executar é introduzida em frente ao prompt e após <Enter> ela é interpretada Exemplo : >>> dia= Quarta-feira >>> print dia Quarta-feira Por execução de Scripts: Cria-se ficheiro com as instruções a executar (script) e invoca-se intérprete para executar o script. Luís Cruz - 2006 9 Programação em Python No caso anterior, se pretendêssemos um script funcionalmente igual à sequência de instruções, o conteúdo do ficheiro programa (script) seria: dia= Quarta-feira print dia que ao ser executado produziria Quarta-feira Luís Cruz - 2006 10 5

Programação em Python Um script mais complexo... # # Autor : Luis Cruz Comentário # Data : 18 Setembro 2003 Criação de objecto Coimbra E atribuição de nome cidade # # cidade="coimbra" # Cria uma cadeia de caracteres nome=raw_input("qual o seu nome? ") # Le uma cadeia de caracteres print "Olá "+nome+" de "+cidade # Imprime uma saudação personalizada Instrução de saída. Escreve no écran. Instrução de entrada de dados. Espera entrada via teclado de uma cadeira de caracteres, cria objecto com conteúdo lido e atribui-lhe nome nome Luís Cruz - 2006 11 Objectos e Nomes Que acontece quando o intérprete encontra a instrução cidade= Coimbra? 1.É criado um objecto num determinado local da memória, que consiste na sequência de valores ASCII relativos aos caracteres C,o,i,m,b,r,a 2.É criado um identificador (um nome) cidade que passa a referir o objecto criado em 1. Daqui para a frente sempre que se faça referência a cidade estaremos a referir-nos ao objecto criado em 1. Luís Cruz - 2006 12 6

Nomes - Regras 1. O primeiro caracter tem de ser uma letra ou underscore (_), podendo os seguintes ser quaisquer caracteres alfanuméricos. Ou seja: dois_pontos, _pontos são nomes válidos mas, 2_pontos não é um nome válido 2. Notar que Dois_pontos e dois_pontos são nomes diferentes (case sensitive) 3. Há palavras reservadas que não podem ser utilizadas como nomes: and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while Luís Cruz - 2006 13 Dados Tipos Suportados Básicos Números inteiros Números em vírgula flutuante Números complexos Cadeias de caracteres Luís Cruz - 2006 14 7

Inteiros Permitem representar números inteiros com os seguintes limites : Normal (32 bits) Valores de -2 31 =-2147483648 a 2 31-1= 2147483647 Longos Gama de valores sem limite Luís Cruz - 2006 15 Inteiros Representação de literais inteiros : são permitidos dígitos decimais, hexadecimais ou octais. Exemplos : >>> 123 # Literal decimal 123 >>> 0xBABA # Literal hexadecimal começa por 0x ou 0X (zero X) 47802 >>> 077 # Literal Octal; começa por 0 (zero) 63 Python converteu valor para decimal antes de imprimir >>> 078 File "<stdin>", line 1 078 } Erro! ^ SyntaxError: invalid token Python converteu valor para decimal antes de imprimir Luís Cruz - 2006 16 8

Inteiros Função type() devolve tipo de dado. No caso de inteiros... >>> type(1) <type int > >>> a=2 >>> type(a) <type int > >>> type(0xff) <type int > >>> type( 0xff ) #? <type string > Porquê? Luís Cruz - 2006 17 Operações sobre Inteiros Os inteiros suportam as operações aritméticas usuais... Adição (+) e Subtracção (-) >>> 3+2 5 Multiplicação (*) >>> 3*2 6 Divisão (/) >>> 6/2 3 >>> 5/2 2 >>> -1/2-1 Divisão de inteiros Resultado é quociente Atenção! Luís Cruz - 2006 18 9

Operações sobre Inteiros e outras... Potenciação (**) >>> 3**2 # Três ao quadrado 9 Resto de Divisão (%) >>> 3%2 1 Divisão com Quociente e Resto >>> divmod(5,2) (2,1) >>> divmod(-1,2) (-1,1) Luís Cruz - 2006 19 Vírgula Flutuante Permitem representar reais de acordo com a norma IEEE 754, em precisão dupla (64 bits) que suporta valores com magnitude de 2.2e-308 a 1.8e308. Os literais em vírgula flutuante seguem o formato +/- {mmm}e{exp}, +/-{mmm}e{exp} ou simplesmente ddd.ddd Exemplos: >>> 1.2345e4 12345.0 >>> 1e-2 0.01 >>> 1.5 1.5 Luís Cruz - 2006 20 10

Vírgula Flutuante A função type() devolve neste caso <type float >. Exemplo: >>> pi_apr=3.1415926 >>> type(pi_apr) <type 'float'> >>> type(1.0) <type 'float'> As operações suportadas pelos número em vírgula flutuante são as usuais; adição, subtracção, multiplicação e divisão. No entanto... >>> 5.0/2.0 2.5 Divisão Real Luís Cruz - 2006 21 Números Complexos Números complexos a+jb introduzidos usando a forma a+bj, a+bj ou complex(a,b). Exemplos: >>> 1+2j (1+2j) >>> complexo=3+4j >>> print complexo (3+4j) >>> complexo_2=complex(-1,1) >>> print complexo_2 (-1+1j) >>> complexo_3=complex(-1,0) >>> print complexo_3 (-1+0j) Parte real e parte imaginária representadas com 64 bits de precisão. Luís Cruz - 2006 22 11

Números Complexos Para extrair a parte real ou imaginária de um complexo usamse os métodos <nome_do_complexo>.real e <nome_do_complexo>.imag Exemplos: >>> compl=3+4j >>> compl.real 3.0 >>> compl.imag 4.0 >>>compl.real**2+compl.imag**2 # Quadrado do módulo 25.0 Luís Cruz - 2006 23 Números Complexos O módulo (valor absoluto) obtém-se fazendo abs(<complexo>), e claro que pode somar (+), subtrair (-), multiplicar (*) e dividir (/) complexos. Exemplos: >>> complexo=3+4j >>> abs(complexo) # Modulo 5.0 >>> complexo*(1+1j) (-1+7j) >>> complexo+(2+3j) (5+7j) >>> complexo/(0+2j) (2-1.5j) Luís Cruz - 2006 24 12

Cadeias de Caracteres (Strings) São (em geral) pequenas sequências de caracteres alfanuméricos, que representam pedaços de texto. Exemplos : >>> cadeia_longa= Uma cadeia de 27 caracteres >>> cadeia_curta="outra so com 15 >>> cadeia_vazia="" >>> print cadeia_vazia >>> cadeia_multi_linha="""esta cadeia comeca na linha 1 continua na linha 2 e depois da linha 3 termina na linha 4""" >>> print cadeia_multi_linha Esta cadeia comeca na linha 1 continua na linha 2 e depois da linha 3 termina na linha 4 >>> Luís Cruz - 2006 25 Cadeias de Caracteres (Strings) Os marcadores de início e fim da cadeia podem ser aspas ( ) ou pelicas ( ). Quando pretendemos utilizar aspas (ou pelicas) como um dos caracteres da cadeia temos de o fazer usando uma sequência de escape que consiste na barra (\) seguida da aspa (ou pelica). Exemplos : >>> cadeia= Ele disse \ Terminei\ antes do fim >>> print cadeia Ele disse Terminei" antes do fim >>> cadeia_pel= Cadeia com pelica (\ ) dentro >>> print cadeia_pel Cadeia com pelica (') dentro Luís Cruz - 2006 26 13

Cadeias de Caracteres (Strings) Concatenação Podem juntar-se várias cadeias de caracteres para formar uma cadeia maior: operação de concatenação. Exemplos: >>> titulo= Dr. >>> nome= Egas >>> sobrenome= Moniz >>> completo=titulo+nome+sobrenome >>> print completo Dr.EgasMoniz Oops... Faltam os espaços! >>> completo=titulo+ +nome+ +sobrenome >>> print completo Dr. Egas Moniz Luís Cruz - 2006 27 Cadeias de Caracteres (Strings) Fatiagem É possível retirar (ou aceder) a uma parte da cadeia de caracteres: operação de fatiagem (slicing em Inglês). A expressão <nome_da_cadeia>[primeiro:ultimo+1] designa a secção desde o caracter na posição primeiro até ao caracter na posição ultimo. O primeiro caracter tem índice 0. Exemplos: >>> cadeia= abcdef >>> print cadeia[0:3] abc >>> print cadeia[3:6]+cadeia[0:3] defabc >>> curta=cadeia[1:4] >>> print curta Luís Cruz - 2006 bcd 28 14

Cadeias de Caracteres (Strings) Fatiagem Para determinar o número de caracteres da cadeia usa-se a função len(). Exemplo: >>> cadeia= abcdef >>> len(cadeia) 6 Há ainda formas particulares da especificação das fatias: <nome_cadeia>[posicao] com posicao designa o caracter que se encontra na posicao posicao a contar do início (a partir de 0). Se posicao for negativo, designa o caracter que se encontra na posicao posicao a contar do fim, <nome_cadeia>[:ultimo+1] designa todos os elementos desde o início até ao de índice ultimo, <nome_cadeia>[primeiro:] designa todos os elementos desde o de índice primeiro até ao fim da cadeia, Luís Cruz - 2006 29 Cadeias de Caracteres (Strings) Fatiagem Exemplos: >>> cadeia= 0123456789 >>> len(cadeia) 10 >>> print cadeia[0] 0 >>> print cadeia[:5] 01234 >>> print cadeia[5:len(cadeia)] 56789 >>> print cadeia[-1] 9 >>> print cadeia[-5:-1] 5678 >>> print cadeia[-5:] 56789 Luís Cruz - 2006 30 15