A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de Jogos e Entretenimento Digital

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Jogos e Entretenimento Digital"— Transcrição da apresentação:

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

2 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

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

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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 { 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

14 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)

15 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

16 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

17 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

18 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  = N N œ  HB.text Ö ° †# ¨$   P`.text$x  D% W%  P`.xdata$x ` u% Õ%   & '( HB.text N Ÿ( í( )   P`.debug$S ± ) È)  HB.text * Ü) *  P`.debug$S Ž * š*  HB.text ®* ã* ÷*   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 + D + X  \  k  o  ƒ P ‡ P œ     ¯ § ³ § á  å     F   š  ¸ÌÌÌÌó«h h è ‹å]à     #  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; }

19 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)

20 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; }

21 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

22 Estrutura de programas em C++
Outro exemplo de estrutura geral /* Nome: imprime.cpp */ /* Autor: Sandro Rigo */ /* Data de criação: 18/09/ */ /* 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

23 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)

24 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”

25 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>

26 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 “}” )

27 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>;

28 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

29 Estrutura de programas em C++
Variáveis Memória: Endereço| Conteúdo | 00 | 01 | (“!”) | 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

30 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>};

31 Estrutura de programas em C++
Variáveis Memória: Endereço| Conteúdo | 00 | 01 | 02 | 10 | (“O”) | (“i”) | (“!”) | (“?”) 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

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

33 Estrutura de programas em C++
Variáveis Tipo Tamanho Valores possíveis unsigned char 1 byte 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)

34 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 “}”)

35 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);

36 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

37 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)

38 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){ }

39 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!”; }

40 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!”; }

41 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!”; }

42 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

43 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;

44 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

45 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; }

46 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

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


Carregar ppt "Desenvolvimento de Jogos e Entretenimento Digital"

Apresentações semelhantes


Anúncios Google