Estrutura de programas em C++

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

description

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). - PowerPoint PPT Presentation

Transcript of Estrutura de programas em C++

Page 1: Estrutura de programas em C++

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 2: Estrutura de programas em C++

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 3: Estrutura de programas em C++

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 4: Estrutura de programas em C++

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 5: Estrutura de programas em C++

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 6: Estrutura de programas em C++

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 7: Estrutura de programas em C++

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 8: Estrutura de programas em C++

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

Page 9: Estrutura de programas em C++

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 10: Estrutura de programas em C++

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 11: Estrutura de programas em C++

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 12: Estrutura de programas em C++

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 13: Estrutura de programas em C++

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 14: Estrutura de programas em C++

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 15: Estrutura de programas em C++

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 16: Estrutura de programas em C++

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 17: Estrutura de programas em C++

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 18: Estrutura de programas em C++

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 19: Estrutura de programas em C++

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

Page 20: Estrutura de programas em C++

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 21: Estrutura de programas em C++

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 22: Estrutura de programas em C++

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 23: Estrutura de programas em C++

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 24: Estrutura de programas em C++

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 25: Estrutura de programas em C++

Estrutura de programas em C++

• Variáveis– Tamanhos de alguns tipos de dadosTipo Tamanho Valores possíveisunsigned char 1 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 26: Estrutura de programas em C++

Estrutura de programas em C++

• VariáveisTipo Tamanho Valores possíveis

unsigned char 1 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 27: Estrutura de programas em C++

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 28: Estrutura de programas em C++

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 29: Estrutura de programas em C++

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 30: Estrutura de programas em C++

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 31: Estrutura de programas em C++

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 32: Estrutura de programas em C++

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

}

Page 33: Estrutura de programas em C++

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

}

Page 34: Estrutura de programas em C++

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

}

Page 35: Estrutura de programas em C++

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

}

Nota >=70

“Aprovado”

Sim

Não

...

Nota >=60

“Recuperação”

fim

Sim

Não

“Reprovado”

Page 36: Estrutura de programas em C++

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 37: Estrutura de programas em C++

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 38: Estrutura de programas em C++

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 39: Estrutura de programas em C++

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