Desenvolvimento de Jogos e Entretenimento Digital

Slides:



Advertisements
Apresentações semelhantes
Técnicas de Programação II Revisão TP1 Parte2
Advertisements

ESTRUTURA DE DADOS EXERCÍCIOS e MATRIZES
Construção de Algoritmos AULA 07
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
ENGENHARIA CIVIL COMPUTAÇÃO APLICADA Aula 12
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
Programação para Engenharia I
LABORATÓRIO DE PROGRAMAÇÃO
Lógica reconfigurável por hardware
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
INTRODUÇÃO À PROGRAMAÇÃO
Introdução à Programação Pascal - Começando Prof. Filipo Studzinski Perotto 2009.
Tópicos Preliminares na Linguagem C
Universidade Federal do Espírito Santo
Estrutura de Repetição
Curso de Programação em C++
PROGRAMAÇÃO ou LINGUAGEM C?
Linguagem C Estruturas de Seleção.
Prof. Msc. Raul Paradeda Aula 3 Fundamentos
Algoritmos e Programação
Planejador de Manutenção Módulo I
Fundamentos de Programação Estruturada – Turma A 1º Período CSTA - UTP
Rodrigo Cristiano Silva
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Introdução a Banco de Dados com exercícios de aplicação
Desenvolvimento de Jogos e Entretenimento Digital
Revisão /*======================================================*/
Aula prática 6 Vetores e Matrizes
Aula prática 7 Strings Monitoria de Introdução à Programação
Aula prática 13 Orientação a Objetos – C++ Parte 1
Aula prática 4 Laços Monitoria de Introdução à Programação
Introdução à Programação Estruturas de Repetição
Lógica reconfigurável por hardware
Material Didático Proposto
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Construção de Algoritmos AULA 03
Linguagem de Programação II
Linguagem de Programação II
Linguagem C++ - Introdução
Alocação Dinâmica de Memória
Programação II Estruturas de Dados Aula 02 - continuação
Desenvolvimento de Jogos e Entretenimento Digital
Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 8: Array Professores: Sandro Rigo Túlio Bender.
Linguagem de programação
Introdução à Programação de Computadores
Algoritmo e Programação
02/08/2011 Professor Leomir J. Borba- –
Roteiro Jogo de adivinhação Tarefa Desafio Algoritmo do jogo
Lógica Estruturada Aplicada
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Orientação a Objetos: herança Professor: Sandro Rigo.
3. Introdução à Linguagem C
Aula prática 7 Strings Monitoria de Introdução à Programação
PROGRAMAÇÃO ou LINGUAGEM C?
Regras de escopo Escopo: trecho de codificação no qual o identificador possui significado Escopo de função: identificador válido dentro do trecho de uma.
Estruturas Revisando: tipos de dados simples
Desenvolvimento de Jogos e Entretenimento Digital
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Professor: Sandro Rigo.
Introdução à Programação
PowerPoint Aula-4 Exercício de Fixação.
Programação Computacional Aula 9: Meu primeiro programa em C
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
Aula prática 7 Strings Monitoria de Introdução à Programação.
Fernando Célio.  Revisão da aula anterior  Dev-C++  Função printf( )
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Aula prática 7 Strings Monitoria de Introdução à Programação.
Fundamentos de Programação
Transcrição da apresentação:

Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo

Roteiro Introdução Estrutura de programas em C++ Uso de vetores Variáveis e tipos de dados Comandos Estruturas de controle e seleção Uso de vetores Exercícios

Introdução Algoritmo Sintaxe (livre) para a descrição de soluções

Introdução Algoritmo Sintaxe (livre) para a descrição de soluções Definição de variáveis e estruturas de dados

Introdução Algoritmo Sintaxe (livre) para a descrição de soluções Definição de variáveis e estruturas de dados Organização em blocos de operações

Introdução Algoritmo Sintaxe (livre) para a descrição de soluções Definição de variáveis e estruturas de dados Organização em blocos de operações Mapeamento para linguagem de programação

Introdução Algoritmo Sintaxe (livre) para a descrição de soluções Definição de variáveis e estruturas de dados Organização em blocos de operações Mapeamento para linguagem de programação Validade: planejamento, teste, comunicação

Introdução Linguagem de programação Possui sintaxe própria e rígida Conjunto de palavras reservadas Bibliotecas padrão de funções Ambiente de desenvolvimento

Introdução Linguagem de programação Permite declaração de variáveis Possui sintaxe própria e rígida Conjunto de palavras reservadas Bibliotecas padrão de funções Ambiente de desenvolvimento Permite declaração de variáveis

Introdução Linguagem de programação Permite declaração de variáveis Possui sintaxe própria e rígida Conjunto de palavras reservadas Bibliotecas padrão de funções Ambiente de desenvolvimento Permite declaração de variáveis Permite definições de blocos de comandos

Introdução Linguagem de programação Permite declaração de variáveis Possui sintaxe própria e rígida Conjunto de palavras reservadas Bibliotecas padrão de funções Ambiente de desenvolvimento Permite declaração de variáveis Permite definições de blocos de comandos Permite organização de funções e módulos

Introdução Linguagem de programação Permite declaração de variáveis Possui sintaxe própria e rígida Conjunto de palavras reservadas Bibliotecas padrão de funções Ambiente de desenvolvimento Permite declaração de variáveis Permite definições de blocos de comandos Permite organização de funções e módulos Utilizada para a implementação de algoritmos

{ 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 Alguns conceitos compartilhados Variáveis Tipos de dados (e estruturas de dados) (inteiro, caractere, ponto flutuante, lógico, ....) Comandos ( e blocos de comandos ) Rotinas (e módulos)

Introdução Alguns conceitos compartilhados .... cout << “Número de alunos: “; cin >> nro_alunos; ... while (contador < nro_alunos){ cout << “Nota: “; cin >> valor; total=total + valor; contador ++; } ..... media = total / nro_alunos; cout << “Média : ” << media; Definir o número de valores Repetir Ler o valor da nota Somar valor lido a valor total média = valor total / número de valores Exibir média

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 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 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 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 // teste in C++ #include <iostream> int main() { std::cout << "Bem vindo C++!\n"; return 0; }

Estrutura de programas em C++ Conceitos básicos Código fonte Bibliotecas de recursos Compilação e ligação Estrutura geral Cabeçalho: comentários, bibliotecas e definições Bloco principal (em geral: int main() ) Blocos auxiliares (classes, rotinas ou funções)

Estrutura de programas em C++ Exemplo de estrutura geral #include <stdio.h> /* impressão de uma mensagem simples */ int main() { printf(“\n Mensagem inicial em c! \n”); return 0; }

Estrutura de programas em C++ Exemplo de estrutura geral #include <stdio.h> /* impressão de uma mensagem simples */ int main() { printf(“\n Mensagem inicial em c! \n”); return 0; } Biblioteca utilizada linha de comentário Bloco principal

Estrutura de programas em C++ Outro exemplo de estrutura geral /* Nome: imprime.cpp */ /* Autor: Sandro Rigo */ /* Data de criação: 18/09/2004 */ /* Descrição: teste simples de impressão... */ // bibliotecas básicas : entrada e saída #include <stdio.h> // protótipos de rotinas ou classes utilizadas // estruturas de dados e variáveis // definições utilizadas int main() { // trecho do programa principal //....... return 0; } //definições de rotinas auxiliares

Estrutura de programas em C++ Inclusão de bibliotecas Indicação de módulos a serem utilizados Uso da diretiva “#include” (para o pré-processador) Formato geral: #include <nome> (busca arquivo ”nome” no diretório padrão) #include “nome” (busca arquivo ”nome” no diretório atual)

Estrutura de programas em C++ Inclusão de bibliotecas Exemplos //para suporte em operações de e/s de “streams” #include <iostream> // para inclusão de biblioteca particular #include “minha_biblioteca.h”

Estrutura de programas em C++ Inclusão de bibliotecas Lista completa (Standard C++ Library Reference) (a ser vista durante o curso) <algorithm> · <bitset> · <complex> · <deque> · <exception> · <fstream> · <functional> · <iomanip> · <ios> · <iosfwd> · <iostream> · <istream> · <iterator> · <limits> · <list> · <locale> · <map> · <memory> · <numeric> · <ostream> · <queue> · <set> · <sstream> · <stack> · <stdexcept> · <streambuf> · <string> · <strstream> · <utility> · <valarray> · <vector> <cassert> · <cctype> · <cerrno>· <cfloat> · <ciso646> · <climits> · <clocale> · <cmath> · <csetjmp> · <csignal> · <cstdarg> · <cstddef> · <cstdio> · <cstdlib> · <cstring> · <ctime> · <cwchar> · <iso646.h> · <wchar.h>

Estrutura de programas em C++ Bloco de código Bloco principal Indica um nome (main, _tmain) Indica um tipo de dado de retorno (int) Pode receber parâmetros Início e fim delimitados por chaves ( “{“ e “}” )

Estrutura de programas em C++ Variáveis Posições de memória referenciadas no programa Declaradas com nome e tipo de dados Opcionalmente recebem valor inicial Exemplos: int valor; // variável do tipo inteiro com nome “valor” Int total = 0; // variável “total”, inicializada com “0” Formato geral: <tipo> <nome>; <tipo> <nome> = <valor inicial>; <tipo> <nome>, <nome2>, ... <nome_n>; <tipo> <nome> =<valorinicial>, <nome2> =<valorinicial2>;

Estrutura de programas em C++ Variáveis Memória: Endereço| Conteúdo ------------------------------ | a | b | c | d | e | //declaração: int a, b; char c; float d; int e; Inteiro (int): 2 bytes Caractere (char): 1 byte Ponto flutuante (float): 4 bytes

Estrutura de programas em C++ Variáveis Memória: Endereço| Conteúdo ------------------------------ | 00 | 01 | 33 (“!”) | d | 02 | Exemplo de uso: a = 0; b = 1; c = “!”; e = 2; //declaração: int a, b; char c; float d; int e; } } } Inteiro (int): 2 bytes Caractere (char): 1 byte Ponto flutuante (float): 4 bytes } Caractere Código ASCII

Estrutura de programas em C++ Variáveis Vetores: estrutura unidimensional Declaradas com nome e tipo de dados Opcionalmente recebem valor inicial Adicionalmente recebem número de elementos Exemplos: int valor[10]; // vetor (tipo inteiro) com nome “valor” e 10 elementos Int total[3] = {0, 1, 2}; // vetor (tipo inteiro) com nome “total” e inicializado com os valores “0”, “1”, “2” Formato geral: <tipo> <nome> [ <tamanho> ]; <tipo> <nome> [ <tamanho> ] = { <valor>, <valor1>, ...<valorN>};

Estrutura de programas em C++ Variáveis Memória: Endereço| Conteúdo ------------------------------ | 00 | 01 | 02 | 10 | 79 (“O”) | 105 (“i”) | 33 (“!”) | 63 (“?”) Exemplo de uso: a[0] = 1; a[1] = 2; b = 10; c[0] = ‘O’; c[1] = ‘i’; c[2] = ‘!’; c[3] = ‘?’; cout<< c; cout<< c[3]; cout <<endl; cout<< a; cout<< a[0]; //declaração: int a[2], b; char c[4]; } } } Inteiro (int): 2 bytes Caractere (char): 1 byte Oi!?? 0012FF78 1

Estrutura de programas em C++ Variáveis Tamanhos de alguns tipos de dados Tipo Tamanho Valores possíveis unsigned char 1 byte 0 - 255 char 1 byte -128 - 127 unsigned int 2 bytes 0 – 65535 int 2 bytes -35768 – 32767 float 4 bytes 3.4E-38 – 3.4e+38 double 8 bytes 1.7E-308 – 1.7E+308

Estrutura de programas em C++ Variáveis Tipo Tamanho Valores possíveis unsigned char 1 byte 0 - 255 Forma de representação Programador Uso de memória Exemplo:Binário Decimal 00 0 01 1 10 2 11 3 100 4 (3bits) ou 0 (2bits)

Estrutura de programas em C++ Comandos Sempre terminam com ponto e vírgula (“;”) Podem ser colocados na mesma linha Exemplos: cout << “mensagem!”; count << “mensagem !”; cin >> valor; Agrupados em blocos com chaves (“{“ e “}”)

Estrutura de programas em C++ Comandos Expressões: atribuição Permite armazenar em uma variável um resultado de uma expressão Formato geral: <variável> = <expressão>; Exemplo: a = 10; b = 5; b = a + (5 * b);

Estrutura de programas em C++ Comandos Expressões: operadores aritméticos Resumo: Adição + Subtração - Multiplicação * Divisão / Módulo % Exemplos: a = 10; b = a % 5; b = a + (5 * b); m = (a + b + c) / 3; Y = m * x + b; Precedência: () mais interno, esq. para dir. */% da esquerda para direita +- do esquerda para direita

Estrutura de programas em C++ Comandos Expressões: operadores relacionais e de igualdade Resumo: Igualdade >, <, >=, <= (maior, menor, maior ou igual, menor ou igual) Relacionais ==, != (igual, diferente) Exemplos: (a > b) (a maior que b) (b != a) (b diferente de a) (a <= b) (a menor ou igual a b)

Estrutura de programas em C++ Comandos Expressões: operadores relacionais e de igualdade Estrutura de seleção: if - else Formato geral: if (<condição>){ <comandos> } if (<condição>){ <comandos> } else{ } if (<condição>){ <comandos> } else if (condição){ }

Estrutura de programas em C++ Comandos Expressões: operadores relacionais e de igualdade Estrutura de seleção: if - else Exemplo: if (valor == 15){ cout <, “valor igual a quinze!”; }

Estrutura de programas em C++ Comandos Expressões: operadores relacionais e de igualdade Estrutura de seleção: if - else Exemplo: if (nota >= 70){ cout << “Aprovado!”; } else{ cout << “Reprovado!”; }

Estrutura de programas em C++ Comandos Estrutura de seleção: if - else Exemplo: if (nota >= 70){ cout << “Aprovado!”; } else if (nota >=60){ cout << “Em recuperação!”; } else { cout << “Reprovado!”; }

Estrutura de programas em C++ ... Comandos Estrutura de seleção: if - else Exemplo: if (nota >= 70){ cout << “Aprovado!”; } else if (nota >=60){ cout << “Em recuperação!”; } else { cout << “Reprovado!”; } Não Nota >=70 Sim “Aprovado” Não Nota >=60 Sim “Reprovado” “Recuperação” fim

Estrutura de programas em C++ Comandos Estrutura de repetição: while Formato geral: while ( <condição> ){ <comandos> } Exemplo: cin >> nro; contador = 0; while ( nro < valor_maximo){ nro = nro + 1; contador = contador + 1;

Estrutura de programas em C++ Leitura de número Comandos Estrutura de repetição: while Formato geral: while ( <condição> ){ <comandos> } Exemplo: cin >> nro; contador = 0; while ( nro < valor_maximo){ nro = nro + 1; contador = contador + 1; Inicialização de contador Não número < máximo Sim fim Incrementa número Incrementa contador

Uso de vetores Declaração Definição de tipo, nome e tamanho Opcional: inicialização de valores Indexação: início sempre em zero Exemplos char letras[30], c; int i=0; while (i<30){ cout<<“digite uma letra:”; cin>>c; letras[i] = c; i = i + 1; }

Uso de vetores Declaração Definição de tipo, nome e tamanho Opcional: inicialização de valores Indexação: início sempre em zero Exemplos char letras[30], c; int i=0; while (i<30){ cout<<“digite uma letra:”; cin>>c; letras[i] = c; i = i + 1; } Inicializa contador Não Contador < 30 Sim fim Obtém letra Incrementa contador

Exercícios Mapa conceitual Variáveis Expressões Algoritmos (cálculo de médias)