![Page 1: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/1.jpg)
Desenvolvimento de Jogos e Entretenimento
Digital
Oficina temática: Algoritmos e Programação
Aula 2: Introdução ao C++
Professor: Sandro Rigo
![Page 2: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/2.jpg)
Roteiro
Introdução Estrutura de programas em C++
Variáveis e tipos de dados Comandos Estruturas de controle e seleção
Uso de vetores Exercícios
![Page 3: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/3.jpg)
Introdução
Algoritmo Sintaxe (livre) para a descrição de soluções
![Page 4: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/4.jpg)
Introdução
Algoritmo Sintaxe (livre) para a descrição de soluções Definição de variáveis e estruturas de dados
![Page 5: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/5.jpg)
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
![Page 6: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/6.jpg)
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
![Page 7: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/7.jpg)
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
![Page 8: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/8.jpg)
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
![Page 9: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/9.jpg)
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
Permite declaração de variáveis
![Page 10: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/10.jpg)
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
Permite declaração de variáveis Permite definições de blocos de comandos
![Page 11: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/11.jpg)
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
Permite declaração de variáveis Permite definições de blocos de comandos Permite organização de funções e módulos
![Page 12: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/12.jpg)
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
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
![Page 13: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/13.jpg)
Introdução
Algoritmo => linguagem de programação
Exibir o resultado
C printf(“\nResultado: %d\n”,valor);
Mapeamento paraa linguagem de programação
C++ Cout<< endl<<“Resultado: “ <<valor<<endl;
PHP echo(“\nResultado: “.$valor.”\n”);
PASCAL write(“Resultado: “);Writeln(valor);
ASSEMBLYvalor dw 00mens db 13,10,“Resultado:”res db 0000 db “$”.......;conversão de valor/ASCII........mov ah,9mov dx, offset mensInt 21h
Pythonprint “\nResultado:”print valor
{
![Page 14: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/14.jpg)
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)
![Page 15: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/15.jpg)
Introdução
Alguns conceitos compartilhados
Definir o número de valoresRepetir
Ler o valor da notaSomar valor lido a valor total
média = valor total / número de valoresExibir média
....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;...
![Page 16: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/16.jpg)
Introdução
Implementação de programas
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 bibliotecasGera arquivo executável
No Visual C++:
-File New-File Save-Build compile-Build build .exe
![Page 17: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/17.jpg)
Introdução
Implementação de programas
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 bibliotecasGera arquivo executável
No Visual C++:
-File New-File Save-Build compile-Build build .exe
![Page 18: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/18.jpg)
Introdução
Implementação de programas
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 bibliotecasGera arquivo executável
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; }
LZ ø+A2L k .drectve b $ .debug$S „ † H B.CRT$XCU – ¢ @ 0À.text = À ý % P`.rdata = @[email protected]$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
![Page 19: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/19.jpg)
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)
![Page 20: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/20.jpg)
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;
}
![Page 21: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/21.jpg)
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
![Page 22: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/22.jpg)
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 utilizadasint main(){
// trecho do programa principal//.......return 0;
}//definições de rotinas auxiliares
![Page 23: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/23.jpg)
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)
![Page 24: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/24.jpg)
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”
![Page 25: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/25.jpg)
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>
![Page 26: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/26.jpg)
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âmetrosInício e fim delimitados por chaves ( “{“ e “}” )
![Page 27: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/27.jpg)
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>;
![Page 28: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/28.jpg)
Estrutura de programas em C++
Variáveis
//declaração:int a, b;char c;float d;int e;
Memória:Endereço| Conteúdo------------------------------100 | a 101 | a 102 | b103 | b104 | c105 | d106 | d107 | d108 | d109 | d110 | e111 | e112 |113 |114 |
Inteiro (int): 2 bytesCaractere (char): 1 bytePonto flutuante (float): 4 bytes
![Page 29: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/29.jpg)
Estrutura de programas em C++
Variáveis
//declaração:int a, b;char c;float d;int e;
Memória:Endereço| Conteúdo------------------------------100 | 00 101 | 00102 | 00103 | 01104 | 33 (“!”)105 | d106 | d107 | d108 | d109 | d110 | 00111 | 02112 |113 |114 |
Inteiro (int): 2 bytesCaractere (char): 1 bytePonto flutuante (float): 4 bytes
Exemplo de uso:
a = 0;b = 1;c = “!”;e = 2;
}
}
}
}
CaractereCódigo ASCII
![Page 30: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/30.jpg)
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>};
![Page 31: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/31.jpg)
Estrutura de programas em C++
Variáveis
//declaração:int a[2], b;char c[4];
Memória:Endereço| Conteúdo------------------------------100 | 00 101 | 01102 | 00103 | 02104 | 00105 | 10106 | 79 (“O”)107 | 105 (“i”)108 | 33 (“!”)109 | 63 (“?”)Inteiro (int): 2 bytes
Caractere (char): 1 byte
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 <<endl;cout<< a[0];
}
}
}
Oi!??0012FF781
![Page 32: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/32.jpg)
Estrutura de programas em C++
Variáveis Tamanhos de alguns tipos de dadosTipo Tamanho Valores possíveisunsigned char1 byte 0 - 255char 1 byte -128 - 127unsigned int 2 bytes 0 – 65535int 2 bytes -35768 – 32767float 4 bytes 3.4E-38 – 3.4e+38double 8 bytes 1.7E-308 – 1.7E+308
![Page 33: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/33.jpg)
Estrutura de programas em C++
VariáveisTipo Tamanho Valores possíveis
unsigned char1 byte 0 - 255
Programador
Uso de memória
Forma de representação
Exemplo:Binário Decimal 00 0
01 1 10 2 11 3100 4 (3bits) ou 0 (2bits)
![Page 34: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/34.jpg)
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 “}”)
![Page 35: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/35.jpg)
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);
![Page 36: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/36.jpg)
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
![Page 37: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/37.jpg)
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)
![Page 38: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/38.jpg)
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{ <comandos>}
if (<condição>){ <comandos>} else if (condição){ <comandos>} else if (condição){ <comandos>}
![Page 39: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/39.jpg)
Estrutura de programas em C++
Comandos Expressões: operadores relacionais e de
igualdadeEstrutura de seleção: if - else
Exemplo:
if (valor == 15){
cout <, “valor igual a quinze!”;
}
![Page 40: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/40.jpg)
Estrutura de programas em C++
Comandos Expressões: operadores relacionais e de
igualdadeEstrutura de seleção: if - else
Exemplo:
if (nota >= 70){
cout << “Aprovado!”;
} else{
cout << “Reprovado!”;
}
![Page 41: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/41.jpg)
Estrutura de programas em C++
ComandosEstrutura de seleção: if - else
Exemplo:
if (nota >= 70){
cout << “Aprovado!”;
} else if (nota >=60){
cout << “Em recuperação!”;
} else {
cout << “Reprovado!”;
}
![Page 42: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/42.jpg)
Estrutura de programas em C++
ComandosEstrutura de seleção: if - else
Exemplo:
if (nota >= 70){
cout << “Aprovado!”;
} else if (nota >=60){
cout << “Em recuperação!”;
} else {
cout << “Reprovado!”;
}
Nota >=70
“Aprovado”
Sim
Não
...
Nota >=60
“Recuperação”
fim
Sim
Não
“Reprovado”
![Page 43: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/43.jpg)
Estrutura de programas em C++
Comandos Estrutura de repetição: whileFormato geral:
while ( <condição> ){<comandos>
}
Exemplo:cin >> nro; contador = 0;while ( nro < valor_maximo){
nro = nro + 1; contador = contador + 1;
}
![Page 44: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/44.jpg)
Estrutura de programas em C++
Comandos Estrutura de repetição: whileFormato 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úmero < máximo
Incrementa número
Incrementa contador
fim Sim
Não
Leitura de número
![Page 45: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/45.jpg)
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;
}
![Page 46: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/46.jpg)
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
Contador < 30
Obtém letra
Incrementa contador
fim Sim
Não
![Page 47: Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 2: Introdução ao C++ Professor: Sandro Rigo](https://reader036.vdocuments.net/reader036/viewer/2022062512/552fc153497959413d8e3dce/html5/thumbnails/47.jpg)
Exercícios
Mapa conceitual Variáveis Expressões Algoritmos (cálculo de médias)