PROGRAMAÇÃO EM JOGOS DIGITAIS

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

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Programação de Computadores

Algoritmos e Programação

Algoritmos e Programação

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

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

Programação de Computadores

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

Programação de Computadores

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

Programação de Computadores I

Linguagem de Programação e Compiladores

Introdução ao Python. Programa Computacional

Fundamentos de Programação em Python

Algoritmos e Programação

Informática Parte 13 Prof. Márcio Hunecke

Introdução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

1 Introdução à Programação O que é? Para que serve?... 1

Introdução à linguagem C

Introdução à Linguagem C. K&R: Capitulo 1. Introdução IAED, 2014/2015 2

Linguagem de Programação

Linguagens de Programação Aula 3

PROGRAMAÇÃO E PYTHON. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

PROGRAMAÇÃO I. Introdução

Paradigmas de Linguagem de Programação. Aspectos Básicos

Fundamentos de Programação 1

Conceitos de Linguagens de Programação - Características. Paavo Soeiro

Python - Variáveis e expressões

Aspectos preliminares

Vamos Programar? - Introdução à Programação #3

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

Fundamentos de Sistemas Operacionais

Linguagens de Programação Princípios e Paradigmas

Compilador de LP3 para C3E e P3

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Compiladores. Introdução

Aula teórica 7. Preparado por eng.tatiana Kovalenko

Estácio-FIC Graduação em Redes de Computadores

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

3. Linguagem de Programação C

Programação de Computadores:

O AMBIENTE DE DESENVOLVIMENTO

Conceitos de Linguagens de Programação

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Minicurso de Linguagem de Programação Python.

Revisão: linguagens de programação

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno

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

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

Introdução à Programação de Computadores Fabricação Mecânica

INF A: Introdução à programação

XBT246 Programação de Computadores II. Prof. Franklin Marquezino Universidade Federal do Rio de Janeiro

Informática I. Aula Aula 18-29/10/2007 1

Desenvolvimento de programas

Introdução a Programação

Programação de Computadores IV

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Organização de Computadores

CFAC: Programação em FORTRAN - I

Programação em FORTRAN - I. João Manuel R. S. Tavares

Introdução à Computação

Linguagens de Programação

Unidade 5: Projeto de Programas Noções de Concepção e Programação Prof. Daniel Caetano

Introdução à Linguagem C. K&R: Capitulo 1

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

Programação de Computadores II

Informática Parte 15 Prof. Márcio Hunecke

Informática I. Aula 9. Aula 9-17/05/2006 1

Programação Estruturada Aula - Introdução a Linguagem C

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

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Linguagens de Programação

Capítulo 1. Aspectos Preliminares

Nomes, vinculações e escopos

Algoritmos e Técnicas de Programação

Processamento da Informação

Nomes, vinculações e escopos

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Programação I A Linguagem C. Prof. Carlos Alberto

Processamento da Informação

Computadores e Programação o semestre. Aula Helmut Wolters, Jorge Landeck, Miguel Oliveira

FACULDADE BATISTA MINEIRA - CST Banco de Dados Estruturas de Dados - Variáveis

Organização de programas em Python. Vanessa Braganholo

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Nesta aula... Iteração indefinida. 1 Decisões em Python. 2 Funções lógicas. 3 Recursão. 4 Iteração. 5 Ciclo for ou while?

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Tecnologias de Desenvolvimento de Páginas web

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Aspectos preliminares

Transcrição:

PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Paradigmas de Programação Linguagem de programação Paradigmas de programação 1

Linguagem de programação! Para ser útil e confiável, uma linguagem deve ter uma sintaxe e semântica bem definida.! Sintaxe! Estrutura e pontuação (ex: palavras reservadas)! Semântica! O significado das palavras e como podemos combiná-las de modo a terem sentido Linguagens de programação! No nível mais baixo os computadores trocam informação em formato binário (0,1)! Porque é que os computadores digitais trabalham com informação binária?! A combinação de 0 e 1 pode ter diferentes significados dependendo do esquema de codificação (i.e., da linguagem) 2

Linguagens de programação! Escrever os programas em formato binário é uma tarefa complicada!! Por isso temos:! Compiladores! Interpretadores Que são programas que pegam em código escrito noutras linguagens e convertem para o formato binário. Programming Language vs Scripting Language! Qual a diferença entre uma linguagem de programação e uma linguagem de scripting?! Linguagens de Programação! C, C++, C#, Java,! Linguagens de Scripting! PHP, Javascript, Python, 3

Programming Language vs Scripting Language Linguagem de Programação Linguagem de Scripting! Projectada para comunicar instruções a um computador;! Corre independente de outros programas exteriores;! É compilada;! Projectada para comunicar com outras aplicações;! Requer outro programa para correr (run inside);! Não é compilada;! É interpretada;!! Ver http://www.ostesting.com/programming-language-vs-scripting-language/ Linguagens de Programação! Qual é a melhor linguagem de programação?! Depende da finalidade!! Vejamos a popularidade das diversas linguagens de programação http://pypl.github.io/pypl.html http://www.tiobe.com/tiobe-index/ 4

Linguagens de Programação! Java! Python! PHP Linguagens de Programação! Java! C! C++! Python! JavaScript! PHP 5

Paradigmas de Programação! O que é um paradigma de programação? Paradigmas de Programação! O que é um paradigma de programação?! É uma abordagem estruturada para resolver um problema. 6

Paradigmas de Programação! Programação imperativa! A lista de acções a executar;! Programação procedimental! Chamada a procedimentos (ou funções);! Programação orientada a objectos! A interacção é baseada em objectos;! Programação orientada a eventos! O fluxo é baseado em eventos;! Programação declarativa! Baseado em programação funcional, lógica;! Descreve-se o que faz o programa não como se faz! Paradigmas de Programação! Programação imperativa (ex: PASCAL, FORTRAN, C,...)! A lista de acções a executar;! Programação procedimental (ex: PASCAL, FORTRAN, C,...)! Chamada a procedimentos (ou funções);! Programação orientada a objectos (ex: C++, Java, Python,...)! A interacção é baseada em objectos;! Programação orientada a eventos! O fluxo é baseado em eventos;! Programação declarativa (ex: Lisp, SML, Prolog, Ocaml, #F,...)! Baseado em programação funcional, lógica;! Descreve-se o que faz o programa não como se faz! 7

Paradigmas de Programação! Programação Imperativa temos a possibilidade de ter:! Sequência ordem pela qual é processada a informação;! Selecção possibilidade de efectuar uma escolha;! Repetição possibilidade de repetir uma acção; Paradigmas de Programação! Qual é o paradigma usado nos Videojogos? 8

Paradigmas de Programação! Qual é o paradigma usado nos Jogos?! Programação orientada/baseada em eventos Linguagem de Programação Python --- www.python.org 9

Python why?! Python is powerful... and fast;! Plays well with others;! Runs everywhere;! Is friendly & easy to learn;! Is Open. Python why?! Dynamic, Interpreted, Interactive! Object Oriented! Easy to write, easy to read! Popular - education, prototyping, quick hacks, research, unlimited! From web to standalones! On many platforms (Unix, Linux, Windows, OS X, etc.) - Free! Lacks type declaration! Huge library of modules 10

Python! Surgiu em 1989, e foi criada por Guido van Rossum! Programa da BBC Monty Python and the Flying Circus! Linguagem de altíssimo nível! Tipagem dinâmica! Multiparadigma (OO, funcional e procedimental)! Interpretada! Vejam o que dizem do Python em: https://www.python.org/about/quotes/ Python! Duas versões: 3.5.2 e a 2.7.12 Para as aulas vamos usar a 2.7.*, pois muitas bibliotecas ainda não suportam a versão 3.! Documentação sobre o Python ver online www.python.org! Apontamentos fornecidos pelo docente www.di.ubi.pt/~fsilva/pjd/ 11

Desenvolvimento de programas Edição --- > Interpretar (Compilar) --- > Execução Editor de texto - Notepad++ - Gedit - TextWrangler *.py Com erros! Terminal / Shell - terminal - cmd Sem erros! Executa Características do Python! Um comando por linha! Usar ; para mais de um comando por linha! Usar \ para continuar uma string noutra linha! Bloco de instruções é definido por indentação! Não misturar Tabs e espaços! Comentários! Caracter # ou """strings multi-linhas 12

Identificadores! Diferença entre maiúsculas e minúsculas! Nome deve iniciar com letra ou "_"! Restante do nome pode conter letras, números e "_"! Não é permitido o uso de palavras reservadas Mas quando necessário costuma-se usar um "_" no fim do nome (ex. "from_") Primeiro programa em Python! Instalar o Python! Escrever o código do programa num editor de texto, e gravar com a extensão *.py print Hello World!! Fazer os exercícios da folha - Lab1.pdf 13

Instrução condicional if if/else if/elif/else! Uma instrução condicional executa um bloco de instruções dependendo do valor lógico de uma expressão; # -*- coding: utf-8 -*- a = 6 b = 11 if a > b: print "A é o maior else: print "A não é o maior" BLOCO DE INSTRUÇÕES CRIA-SE POR IDENTAÇÃO Ex: Tab ou espaços; Instrução condicional - if/else Uma instrução Um bloco de instruções # -*- coding: utf-8 -*- a = 6 b = 11 if a > b: print "A é o maior else: print "A não é o maior" # -*- coding: utf-8 -*- a = 6 b = 11 if a > b: print "A é o maior print B é o menor else: print "A não é o maior" print B é o maior" 14

Instrução condicionalif/elif/else! IF / ELIF / ELSE # -*- coding: utf-8 -*- a = 6 b = 11 if a > b: print "A é maior que B" elif b > a: print "B é maior que A" else: print "A e B são iguais" Instrução condicionalif/elif/else! IF / ELIF / ELSE # -*- coding: utf-8 -*- a = 6 b = 11 if a > b: print "A é maior que B" elif b > a: print "B é maior que A" else: print "A e B são iguais" Se a > b for verdadeiro 15

Instrução condicionalif/elif/else! IF / ELIF / ELSE # -*- coding: utf-8 -*- a = 6 b = 11 if a > b: print "A é maior que B" elif b > a: print "B é maior que A" else: print "A e B são iguais" Se b > a for verdadeiro Instrução condicional - if/elif/else! IF / ELIF / ELSE # -*- coding: utf-8 -*- a = 6 b = 11 if a > b: print "A é maior que B" elif b > a: print "B é maior que A" else: print "A e B são iguais" Caso contrário, ou seja, se as anteriores forem todas falsas 16

Instrução condicional! IF usado entre parêntises print ("A é maior" if a > b else "A não é maior") #Uma via apenas - if if a > b: print ("A é maior ) Instrução condicional! Permite alterar o fluxo do programa de acordo com o valor lógico de uma expressão Não A > B Sim Bloco 1 Bloco 2 17

Leitura de dados! Para o utilizador introduzir um valor utiliza-se a função:! input()! raw_input() print "How old are you?", age = raw_input() #ou age = input() Leitura de dados! A função raw_input() print "How old are you?", age = raw_input() print "How tall are you?", height = raw_input() print "How much do you weigh?", weight = raw_input() print "So, you're %r old, %r tall and %r heavy." % ( age, height, weight) 18

Leitura de dados! A função raw_input vs. input() # Not run well with raw_input()!!! Try it with input() day = raw_input("introduce the day of the month: ") if day < 10: print "We are in the beginning of the month!" elif day > 20: print "We are in the ending of the month!" else: print "We are in the middle of the month!" Instrução condicional + Leitura de dados! Concluir os exercícios da folha Lab2.pdf e! Fazer exercícos da folha Lab3.pdf 19