Programação de Computadores



Documentos relacionados
Organização de programas em Python. Vanessa Braganholo

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Resolução de problemas e desenvolvimento de algoritmos

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

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

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

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

e à Linguagem de Programação Python

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Programação Elementar de Computadores Jurandy Soares

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

AMBIENTE DE PROGRAMAÇÃO PYTHON

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Orientação a Objetos

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Componentes da linguagem C++

Algoritmos em Javascript

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Programação de Computadores. Professor Ilaim Costa Junior

AULA Uma linguagem de programação orientada a objetos

Programação para Computação

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Algoritmos e Programação de Computadores

Algoritmos e Programação _ Departamento de Informática

Algoritmos e Programação Estruturada

2. Representação Numérica

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Introdução à Linguagem

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Introdução à Programação

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

JSP - ORIENTADO A OBJETOS

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

5 Apresentando a linguagem C

ESTRUTURA CONDICIONAL

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Conceitos Importantes:

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

20 Caracteres - Tipo char

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

3. Tipos de Dados, Constantes e Variáveis.

Prof. Esp. Adriano Carvalho

Introdução ao FORTRAN (Parte I)

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Computadores XXI: Busca e execução Final

Programas simples em C

Dadas a base e a altura de um triangulo, determinar sua área.

Criando um script simples

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Organização de programas em Java. Vanessa Braganholo

Algoritmos com VisuAlg

1. NÍVEL CONVENCIONAL DE MÁQUINA

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Sintaxe Básica de Java Parte 1

Aluísio Eustáquio da Silva

Capítulo 2: Introdução à Linguagem C

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.

Linguagem de Programação I

Conceitos básicos da linguagem C

Roteiro 1: Dados, variáveis, operadores e precedência

Algoritmos e Programação

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

O que é o JavaScript?

Java Como Programar, 8/E

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Algoritmos Computacionais ( Programas )

Linguagens de programação

Unidade 5: Sistemas de Representação

Programação WEB I Estruturas de controle e repetição

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

Apresentação... Nome: Vanderlei Cordeiro Frazão

Aula 2 Modelo Simplificado de Computador

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

INF 1005 Programação I

Programação Básica em Arduino Aula 2

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Introdução a Computação

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Linguagem algorítmica: Portugol

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias

INTRODUÇÃO À LINGUAGEM C++

Introdução a Algoritmos Parte 04

Informática I. Aula 6. Aula 6-12/09/2007 1

CAP. I ERROS EM CÁLCULO NUMÉRICO

Algoritmos e Programação _ Departamento de Informática

Transcrição:

Programação de Computadores INTRODUÇÃO AOS ALGORITMOS E À PROGRAMAÇÃO DE COMPUTADORES PARTE 2 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais

Exemplo Inicial Uma Fórmula Matemática A fórmula que vamos considerar diz respeito ao movimento vertical de um bola lançada para o ar. Utilizando-se a segunda lei do movimento de Newton, pode-se estabelecer um modelo matemático para o movimento da bola e achar que a sua posição vertical, y, varia com o tempo t de acordo com a fórmula { 1 2 velocidade inicial (em t =0) y (t )=v 0 t g t. 2 aceleração da gravidade 2/34

Exemplo Inicial Uma Fórmula Matemática Depois de quanto tempo a bola, após lançada, retorna para y = 0? 3/34

Exemplo Inicial Uma Fórmula Matemática ( ) 1 2 1 v 0 t g t =t v 0 g t =0 t =0 ou t =2 v 0 /g t 0, 2 v 0 / g 2 2 v 0=5 m /s [ } 1 2 g =9,81 m /s y=5 0,6 9,81 0,6 2 t =0,6 s 2 [ t 0, 2 v 0 /g 1 ] 4/34 ]

O Interpretador como Calculadora { 1 2 y (t )=v 0 t g t velocidade inicial (em t =0) 2 aceleração da gravidade v 0=5 m /s } 1 2 g =9,81 m / s y=5 0,6 9,81 0,6 2 t =0,6 s 2 Programa em Python print(5*0.6 0.5*9.81*0.6**2) 5/34

O Interpretador como Calculadora Vamos executar o programa do slide anterior de diferentes maneiras: Utilizando o interpretador de forma interativa. Escrevendo o programa num arquivo (.py) e invocando o interpretador para executá-lo. 6/34

O Interpretador como Calculadora 7/34

O Interpretador como Calculadora 8/34

Lembrando... Vocês consideram as duas linhas a seguir iguais? print(5*0.6 0.5*9.81*0.6**2) write(5*0.6 0.5*9.81*0.6^2) Os humanos consideram! Os computadores não! A segunda linha não faz sentido em um programa Python! A palavra write não faz sentido nesse contexto e o cincunflexo não implica 0,62. People only become computer programmers if they re obsessive about details, crave power over machines, and can bear to be told day after day exactly how stupid they are. G. J. E. Rawlins 9/34

Lembrando... O que é um programa? 10/34

Lembrando... Um programa é uma sequência de instruções para o computador, escrita em uma linguagem de programação, que é normalmente similar à língua inglesa, porém muito mais simples e muito mais rigorosa. Programming demands significantly higher standard of accuracy. Things don t simply have to make sense to another human being, they must make sense to a computer. Donald Knuth 11/34

Variáveis Para avaliar y(t) para outros valores de t, o valor correspondente deve ser modificado em dois lugares no programa. Modificar o valor de g é mais simples. Entretanto, na prática, pode ocorrer de ser modificado o número errado. Essas modificações seriam mais simples se expressarmos a nossa fórmula em termos de variáveis, ou seja, símbolos, em lugar de valores numéricos. As variáveis podem receber valores (numéricos) por meio de atribuições e serem utilizadas na fórmula. 12/34

Variáveis Variáveis são, na verdade, nomes dados a áreas de memória e servem para: Guardar valores intermediários. Construir estruturas de dados. Uma variável é modificada por meio de um comando de atribuição: Var = expressão. É possível atribuir a várias variáveis simultaneamente: >>> spam = 15 Var1, Var2,, VarN = expre1, expr2,, exprn. 13/34

Variáveis v 0=5 m /s } 1 2 y=5 0,6 9,81 0,6 g =9,81 m / s 2 t =0,6 s 2 Programa em Python v0 = 5 g = 9.81 t = 0.6 y = v0*t 0.5*g*t**2 print(y) 14/34

Variáveis Em Python, nomes de variáveis podem conter algarismos (0-9), letras e o símbolo sublinhado (_), mas não podem começar com um algarismo. Python é case sensitive, ou seja, X é diferente de x. É interessante que os nomes das variáveis sejam informativos, contribuindo para a legibilidade do programa. A versão 3 da linguagem Python permite a utilização de caracteres especiais em nomes de variáveis, pois, por padrão, os programas são interpretados utilizando-se o conjunto de caracteres UTF-8 em lugar do ASCII. 15/34

Variáveis As palavras que constituem a linguagem Python são reservadas e não podem ser utilizadas como nomes de variáveis. 16/34

Variáveis A seguir está apresentada uma versão alternativa do programa com o qual estamos trabalhando: velocidade_inicial = 5 aceleracao_da_gravidade = 9.81 TEMPO = 0.6 PosicaoVerticalDaBola = velocidade_inicial*tempo \ 0.5*aceleracao_da_gravidade*TEMPO**2 print(posicaoverticaldabola) Ficou legível? 17/34

Comentários Junto com as declarações do programa muitas vezes é informativo inserir alguns comentários para explicar as ideias por trás das declarações: o significado das variáveis, o raciocínio utilizado, etc. Comentários em Python começam com o caractere # e tudo após esse caractere em uma linha é ignorado quando o programa é executado (quase sempre). # -*- coding: utf-8 -*- 18/34

Comentários A seguir está apresentada uma outra versão alternativa do programa com o qual estamos trabalhando: # Programa para calcular a altura de uma bola num # lançamento vertical v0 = 5 # Velocidade inicial g = 9.81 # Aceleração da gravidade t = 0.6 # Tempo y = v0*t 0.5*g*t**2 # Posição vertical da bola print(y) Ficou legível? 19/34

Tipos de Dados Tipos de dados são categorias de valores que são processados de forma semelhante. Números inteiros, por exemplo, são processados de forma diferente dos números de ponto flutuante e números complexos. Os tipos primitivos são aqueles já embutidos no núcleo da linguagem. Em Python: Simples: números (int, long, float, complex) e cadeias de caracteres (strings). Compostos: listas, dicionários, tuplas e conjuntos. 20/34

Tipos de Dados Os tipos definidos pelo usuário correspondem a classes, um conceito da programação orientada a objetos (que talvez veremos na disciplina Programação de Computadores). Variáveis são criadas dinamicamente e destruídas quando não são mais necessárias (quando o seu escopo se encerra, por exemplo, como veremos posteriormente). O tipo de uma variável muda de acordo com o valor a ela atribuído. Python é uma linguagem de tipagem dinâmica. Não confundir com linguagens sem tipo! 21/34

Variáveis Numéricas Diz-se que uma variável é numérica quando armazena números inteiros, de ponto flutuante ou complexos. Os números inteiros são números sem parte decimal, tais como 1, 0, -5, 550, -47, 30000 (os tipos correspondentes são int, cuja precisão é fixa, e long, cuja precisão é arbitrária). Números de ponto flutuante são números com parte decimal, de precisão variável, tais como 1.0, 5.478, 10.478, 30000.4 (o tipo correspondente é float). Números complexos utilizam um float para a parte real e outro para a parte imaginária (o tipo correspondente é complex). 22/34

Variáveis Numéricas Em Python, assim como na maioria das linguagens de programação, o ponto, e não a vírgula, é o separador entre as partes inteira e fracionária de um número, sendo que não se utiliza nenhum separador de milhar. Não discutiremos isto agora, mas é importante destacar que há algumas particularidades da representação em ponto flutuante... O número 0.1 não tem nada de especial na base 10, mas é uma dízima periódica no sistema binário. Vamos digitar 3 * 0.1 no interpretador e analisar o resultado. Detalhes: http://docs.python.org/py3k/tutorial/floatingpoint.html. 23/34

Variáveis Numéricas 24/34

Variáveis do Tipo Lógico Variáveis do tipo lógico ou booleano podem assumir apenas dois valores: Verdadeiro (True em Python). Falso (False em Python). Para a realização de comparações lógicas, são utilizados operadores relacionais. O resultado de uma comparação é do tipo lógico (bool em Python). No próximo slide estão apresentados os operadores relacionais suportados em Python. 25/34

Operadores Relacionais Operador Python Operação Símbolo Matemático == Igualdade = > Maior que > < Menor que <!= Diferente >= Maior ou igual <= Menor ou igual Atribuição e igualdade são coisas diferentes! Vamos fazer alguns testes utilizando o interpretador... 26/34

Operadores Relacionais 27/34

Operadores Lógicos Para trabalhar com lógica booleana, são utilizados operadores lógicos. Python suporta três operadores lógicos básicos, que estão apresentados na tabela a seguir. Operador Python Operação not não (negação) and e (conjunção) or ou (disjunção) 28/34

Operadores Lógicos not V1 not V1 True False False True 29/34

Operadores Lógicos and V1 V2 V1 and V2 True True True True False False False True False False False False 30/34

Operadores Lógicos or V1 V2 V1 or V2 True True True True False True False True True False False False 31/34

Variáveis do Tipo Lógico As constantes True e False são apenas símbolos convenientes: Qualquer valor não nulo é visto como verdadeiro, enquanto 0 é visto como falso. O operador or retorna o primeiro operando se for visto como verdadeiro e, caso contrário, retorna o segundo. O operador and retorna o primeiro operando se for vista como falso e, caso contrário, retorna o segundo. Operadores relacionais são avaliados antes de not, que é avaliado antes de and, que é avaliado antes de or. 32/34

Variáveis do Tipo Lógico 33/34

Por Hoje é Só! 34/34