Desenvolvimento de Jogos e Entretenimento Digital

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO À COMPUTAÇÃO
Advertisements

Funções em C Prof. Fabiano Utiyama.
Software Básico Entrada/Saída Capítulo 2 Mitsuo Takaki
Capitulo 6: Entrada e Saída
gerador de código intermediário
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
CPU: Controle e processamento
INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Prof. Diogo Souza.
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Entrada e Saída Introdução.
Arquitetura de Computadores
LABORATÓRIO DE PROGRAMAÇÃO
Arquitetura de Computadores
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Introdução à Informática
Algoritmos Escher.
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Esquema básico do hardware
LINGUAGEM ESTRUTURADA TURBO C
INTRODUÇÃO À COMPUTAÇÃO
INTRODUÇÃO À PROGRAMAÇÃO
Programação I Caderno de Exercícios Nome.
Arquitetura de Computadores
Arquitetura de Computadores
Conceitos básicos Algoritmo Usado para a solução de problemas
Introdução a Computação e Cálculo Numérico
PROGRAMAÇÃO I UNIDADE 1.
Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Introdução à Arquitetura e Organização.
Introdução a Computação e Cálculo Numérico
Estrutura de dados, pseudocódigo
Linguagem C++ - Introdução
Unidade Central de Processamento UCP
PCI- Introdução à Computação
Introdução a Programação
Desenvolvimento de Jogos e Entretenimento Digital
Sistemas Operacionais I
Laboratório I Mateus Raeder Material baseado nos originais da
Organização de um computador
Linguagem de programação
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
Introdução à Informática Profa. Regiane Klidzio
Geração de Código aula-12-geração-de-código.pdf.
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Sistemas Operacionais
Introdução à INFORMÁTICA
Sistemas Operacionais Sistema Computacional Professora: Michelle Nery.
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS
Algoritmos e Programação MC102
Introdução à Computação Componentes Básicos dos Computadores
Linguagem Técnica de Programação
SISTEMAS DE INFORMAÇÃO
Arquitetura de Computadores
Arquitetura de Microcomputadores
Algoritmo É uma descrição seqüencial ordenada dos passos que devem ser executados de forma lógica e clara, com a finalidade de facilitar a resolução de.
Introdução à Programação
Arquitetura de computadores
Introdução à Computação
Sistemas Operacionais IV – Gerenciamento de E/S
Algoritmo e Estrutura de Dados I Introdução ao conceito de algoritmo Márcia Marra
Apresentação Objetivo: –Apresentação e revisão de conceitos básicos –Discussão da noção de algoritmo –Escopo da linguagem de programação –Exercício com.
ARQUITETURA DE VON NEUMANN
Sistemas Operacionais Arquitetura de Computadores
Microcontroladores.
Algoritmos e Programação Aula 01 Computadores e seus componentes.
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
CESAC Prof.: Jadiel Mestre. Introdução à Informática.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Transcrição da apresentação:

Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula1: Revisão de conceitos básicos Professor: Sandro Rigo

Roteiro Apresentação Conceitos básicos (revisão) Discussão: Algoritmo Arquitetura de Von Neuman Discussão: Algoritmo Linguagem de programação variáveis, expressões Exercícios

Apresentação Objetivo: Apresentação e revisão de conceitos básicos Discussão da noção de algoritmo Escopo da linguagem de programação Exercício com mapa conceitual Exercícios com variáveis e expressões

Conceitos básicos Arquitetura de Von Neumann: Entrada Processamento Teclado, mouse, joystick, .... Processamento UCP/CPU (Unidade Central de Processamento) (Placas específicas de entrada e saída) Memória Secundária (discos), Principal (RAM) Saída Vídeo, impressora, ...

Conceitos básicos Arquitetura de Von Neumann: ou arquitetura de fluxo de controle A Memória armazena sempre um conjunto de instruções no formato conhecido como “linguagem de máquina” A CPU realiza ininterruptamente seu ciclo de operação Busca de instruções na memória Decodificação de instruções Execução de instruções Uso de “registradores internos” para manter o estado Local de memória a ler Valores temporários gerados

Conceitos básicos Outras arquiteturas : arquitetura de fluxo de dados A Memória armazena um conjunto de instruções no formato conhecido como “tokens” Operação, operandos, destino Não existe controle da memória a ser lida A execução das instruções (tokens) ocorre quando os operandos estiverem disponíveis

Conceitos básicos Outros recursos: placas de entrada e saída Componentes específicos para a solução de problemas em determinadas áreas Computação gráfica: “renderização” Implementação mais eficiente Liberação do processador para outras tarefas

Conceitos básicos Outros recursos: Multiprocessamento Eletrônica embarcada Componentes de entrada de dados

Conceitos básicos Memória ......... CPU Interface de entrada e saída HD

Conceitos básicos Algoritmo Usado para a solução de problemas Descrito em diversos formalismos Seqüência de processos encadeados Formas de mapeamento dos dados envolvidos Cooperação, comparação, melhorias Independente de linguagem Dependente de recursos

Algoritmo Algoritmo Exemplo: leitura do livro “X” Ir até a biblioteca Acessar a lista de localização de títulos Procurar o título “X” Anotar o número da estante Caminhar até a estante Retirar o livro da estante Caminhar até o espaço de leitura Ler o livro

Algoritmo Algoritmo Exemplo: receita de pão Obter os ingredientes Misturar os ingredientes e fazer a massa Aguardar o crescimento da massa Colocar no forno por 35 minutos Retirar do forno

Algoritmo Algoritmo Exemplo: receita de pão Obter farinha (2 xícaras) Obter ovos (2 ovos) Obter leite (1 xícara) Obter fermento (1 colher de sopa) Misturar os ingredientes e fazer a massa Aguardar o crescimento da massa Colocar no forno por 35 minutos Retirar do forno

Algoritmo Algoritmo Diversidade: ordenação Ordenação por inserção direta Ordenação por seleção direta Ordenação por inserção através de incrementos decrescentes Ordenação por árvores Ordenação por particionamento Ordenação polifásica Bubble sort Shellsort Quicksort Mergesort Radix sort Algoritmos de ordenação paralela .............

Algoritmo Algoritmo Diversidade: ordenação, busca, .... Performance: comparação entre resultados obtidos Requisitos: mais memória, mais processamento Etapas, ou pré-processamento (dividir para conquistar)

Linguagem de programação Implementação de algoritmos Tradução em código executável (fonte => objeto => executável) Processo de tradução: dependente de máquina Java Padrões (C ANSI) Compartilhamento de “módulos” ou procedimentos Adequação: velocidade, sintaxe, requisitos

Linguagem de programação Comandos Palavras-chave de uma linguagem associadas a implementações específicas Variáveis Recursos de armazenamento de valores que podem ser modificados durante a execução de programas Constantes Recursos para armazenamento de valores estáticos durante a execução de programas

Linguagem de programação Programas Seqüência de comandos de uma linguagem, em formato padronizado, que permite a implementação de algoritmos Fonte: descrição original, em formato texto, pelo programador Executável: descrição na linguagem de máquina do processador em que deve ser executado Objeto: formato intermediário, usadopara composição de código com diversos módulos

Linguagem de programação Programas Exemplo: #include <stdio.h> /* impressão de uma mensagem simples */ main() { printf(“\n Mensagem inicial em c! \n”); return 0; }

Linguagem de programação Tipos de dados Numéricos Lógicos Texto Expressões Conjunto de operadores e valores ou variáveis, utilizado para a implementação de cálculos

Linguagem de programação Expressões Exemplo: média Variável 1 -> valor da primeira prova (v1) Variável 2 -> valor da segunda prova (v2) Variável média -> média aritmética das duas (v1 e v2) Operadores: atribuição soma e divisão media = (v1 + v2) / 2;

Linguagem de programação Expressões Operadores Aritméticos Lógicos Atribuição

{ Introdução Algoritmo => linguagem de programação C++ Cout<< endl<<“Resultado: “ <<valor<<endl; Exibir o resultado C printf(“\nResultado: %d\n”,valor); ASSEMBLY valor dw 00 mens db 13,10,“Resultado:” res db 0000 db “$” ....... ;conversão de valor/ASCII ........ mov ah,9 mov dx, offset mens Int 21h PHP echo(“\nResultado: “.$valor.”\n”); Mapeamento para a linguagem de programação PASCAL write(“Resultado: “); Writeln(valor); Python print “\nResultado:” print valor

Introdução Implementação de programas No Visual C++: File New File Save Build compile Build build .exe disco Editor de texto Gera arquivo fonte (.cpp) Compilador Lê arquivo fonte (.cpp) Gera arquivo objeto Editor de ligação (linker) Lê arquivo objeto, Lê arquivos de bibliotecas Gera arquivo executável

Introdução Implementação de programas No Visual C++: File New File Save Build compile Build build .exe

Introdução No Visual C++: File New File Save Build compile LZ ø+A2L k .drectve b $  .debug$S „ †   H B.CRT$XCU – ¢  @ 0À.text = À ý %   P`.rdata  = @0@.debug$S N N œ  HB.text Ö ° †# ¨$   P`.text$x  D% W%  P`.xdata$x ` u% Õ%  @@@.debug$S  & '( HB.text N Ÿ( í( )   P`.debug$S ± ) È)  HB.text * Ü) *  P`.debug$S Ž * š*  HB.text 5 ®* ã* ÷*   P`.debug$S w H B-defaultlib:libcpd -defaultlib:LIBCD -defaultlib:OLDNAMES -editandcontinue -include:___pfnBkCheck  J ptrdiff_t  __exString  exception u size_t y _s__CatchableType ! wchar_t 6 _TypeDescriptor J FILE f _PMFN p va_list@ + D + X  \  k  o  ƒ P ‡ P œ     ¯ § ³ § á  å     F   š  U‹ìƒì@SVW}À¹ ¸ÌÌÌÌó«h h è ƒÄ3À_^[ƒÄ@;ìè ‹å]à     # 1  5 !     *  ,  Bem vindo Introdução No Visual C++: File New File Save Build compile Build build .exe // teste in C++ #include <iostream> int main() { std::cout << "Bem vindo C++!\n"; return 0; }

Exercícios Exercícios Mapa conceitual Variáveis Expressões Algoritmos

Material e recursos Bibliografia Terada, Routo. Desenvolvimento de Algoritmos e Estruturas de Dados. São Paulo: McGraw-Hill, 1991. Lee, Richard C.. Tepfenhart, William M.. Paschoa, Celso Roberto (trad.). UML e C++: Guia Prático de Desenvolvimento Orientado a Objeto. São Paulo: Makron, 2001. Wirth, Niklaus. Lee, Cheng Mei (trad.). Algoritmos e Estruturas de Dados. Rio de Janeiro: LTC, 1989-1999. Szwarcfiter, Jayme Luiz. Markenzon, Lilian. Estruturas de Dados e seus Algoritmos. 2. ed. Rio de Janeiro: Livros Técnicos e Científicos, 1994. Preiss, Bruno R.. Gouvêa, Elizabeth Ferreira (trad.). Estruturas de Dados e Algoritmos: Padrões de Projetos Orientados a Objetos com Java. Rio de Janeiro: Campus, 2000.