Introduo
Desde o incio de sua existncia o homem procurou criar mquinas que o auxiliassem em seu trabalho, diminuindo esforo e economizando tempo.
Dentre essas mquinas, o computador vem se mostrando uma das mais versteis, rpidas e seguras.
O computador pode auxili-lo em qualquer tarefa.
O computador no independente, no criativo e nem inteligente, precisa receber instrues nos mnimos detalhes para executar uma determinada tarefa.
O computador s consegue armazenar dados em disco, imprimir relatrios, gerar grficos, realizar clculos, entre outras funes, por meio de programas.
Programas de computador
Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento de dados devemos escrever um programa ou vrios programas interligados. Para que o computador compreenda e execute esse programa, deve-se escrev-lo usando uma linguagem que tanto o computador quanto o criador de software entendam, ou seja, deve-se utilizar uma linguagem de programao.
Anlise: Nesta etapa estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os dados de sada. Algoritmo: utilizado para descrever o problema com suas solues.
Linguagem de programao
Linguagem de programao uma notao para escrever programas, atravs dos quais podemos nos comunicar com o hardware e dar assim as ordens adequadas para a realizao de um determinado processo. Uma linguagem vem definida por uma gramtica ou conjunto de regras que se aplicam a uma alfabeto constitudo pelo conjunto de smbolos utilizados.
Linguagem de Mquina
a nica que o computador entende diretamente. Utiliza o alfabeto binrio que consta dos smbolos 0 e 1. Foi a primeira linguagem utilizada na programao de computadores.
01011010011000000100000000000000 Para facilitar a leitura de instrues de linguagem de mquina, comum escrev-las separando em conjuntos de 4 bits:
Temos:
Os 8 primeiros bits indicam o cdigo da operao de soma. Os 4 seguintes o local onde ser feita a soma. E os demais bits indicam o endereo de um dos operandos a serem utilizados na soma.
A linguagem de montador a primeira tentativa de se substituir a linguagem de mquina por outra mais prxima quela utilizada pelo ser humano. Nesta linguagem, cada instruo equivale a uma instruo em linguagem de mquina. Exemplo: ADD 6, J [instruo em linguagem de montagem]
Conseguir independncia em relao mquina. Aproximar-se da linguagem humana para que o programa possa ser escrito e lido de uma maneira mais simples. Incluir rotinas de uso freqente como as rotinas de entrada e sada, funes matemticas, etc.
Pascal C / C++ Fortran Javascript Perl Visual Basic Java ML Haskel Existem atualmente diversas linguagens de alto nvel.
Compilador e Interpretador
Para exemplificar melhor, seja a seguinte comparao: quando uma pessoa precisa se comunicar com algum que fale uma lngua por ela desconhecida, podem-se utilizar dois caminhos:
Utilizar um intrprete que faa a interpretao (traduo) de cada frase que for dita.
INTERPRETADOR
Solicitar a um tradutor que converta, ou compile, todo o texto a ser dito (programa fonte) para um outro, na lngua desejada (programa executvel).
COMPILADOR
Quando queremos desenvolver um programa utilizamos uma linguagem de programao. As linguagens de programao, portanto, so mtodos criados para facilitar a nossa comunicao com o computador. Ao desenvolver um programa, em uma linguagem de programao qualquer, o programador gera um cdigo que denominado de cdigo fonte. Quando o compilador executado para compilar o cdigo criado pelo programador, gerado um outro cdigo, em linguagem de mquina, denominado de cdigo objeto. O cdigo objeto que executado pelo processador.
Linguagem Fonte
Compilador
Linguagem Objeto
A Linguagem C++
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a dcada de1980 com o objetivo de melhorar a linguagem de programao C, mantendo a compatibilidade com esta linguagem. C foi uma proposta de uso genrico, era rpido e tambm portvel para diversas plataformas. Novas caractersticas No C++ foram adicionadas novas caractersticas, como funes virtuais, sobrecarga de operadores e funes, referncias, constantes, controle de memria pelo usurio, melhorias na checagem de tipo e estilo de comentrio de uma linha (//). A primeira verso comercial da linguagem C++ foi lanada em outubro de 1985.
C++ to eficiente e portvel quanto C, sendo desenvolvida para ser uma linguagem com tipos de dados estticos. C++ desenvolvido para ser o quanto mais compatvel com C possvel, fornecendo transies simples para cdigo C. C++ desenvolvido para suportar mltiplos paradigmas de programao, principalmente a programao estruturada e a programao orientada a objetos, possibilitando mltiplas maneiras de resolver um mesmo problema. C++ desenvolvido para fornecer ao programador mltiplas escolhas, mesmo que seja possvel ao programador escolher a opo errada.
Grande parte dos programas da Microsoft. Sistemas Operacionais como o Windows, Apple OS X, BeOS, Solaris e Symbian. Bancos de dados como SQL e MySQL. Aplicaes Web, como a mquina de busca Google e o sistema de comrcio virtual da Amazon. Aplicaes grficas como os programas da Adobe (Photoshop, Illustrator), Maya e AutoCAD. Jogos em geral, como o Doom III.
Possibilidade em programao de alto e baixo nvel. Alta flexibilidade, portabilidade e consistncia. Compatilidade com C, resultando em vasta base de cdigos. Adequado para grandes projetos. Ampla disponibilidade e suporte, devido principalmente grande base de desenvolvedores. No est sob o domnio de uma empresa. Padronizao pela ISO. Grandes possibilidades para a metaprogramao e programao genrica.
Compiladores de C++
Existem muitos compiladores de C++ no mercado. Os mais famosos so os softwares da Borland e da Microsoft. No entanto, existem vrias opes de compiladores freeware, como o Dev-C++. O Dev-C++ um compilador freeware das linguagens C, C++ e C#. uma opo muito interessante, pois de fcil utilizao e aprendizado para usurios novos e possui muitos recursos avanados para usurios experientes. A verso mais recente do DevC++ pode ser baixada atravs do endereo http://www.bloodshed.net/dev/devcpp.html.
Interface do DEV-C++
As quatro primeiras linhas so o cabealho do programa. Todo programa deve ter um cabealho desse tipo para definir quais as bibliotecas ele utilizar. Bibliotecas so arquivos que normalmente so instalados juntos com o compilador e que possuem os comandos e funes pertencentes linguagem. O cabealho #include<> serve para indicar ao compilador todas as bibliotecas que este programa utilizar. O #include <iostream> serve para incluir a biblioteca iostream em nossos programas. Esta biblioteca contm as principais funes, comandos e classes de entrada e sada de C++, necessrias para realizar programas que, por exemplo, recebam dados via teclado e enviem dados via monitor.
As linhas 2,3 e 4 do cabealho so um aviso ao compilador que estaremos utilizando os comandos e funes padro de C++. Em C++ podemos criar vrias bibliotecas para serem utilizveis em vrios programas. Cada uma dessas bibliotecas contm comandos, classes e funes prprias, e para evitar confuses e problemas com os nomes destes comandos, utilizamos o cabealho using std ...; para definir qual o campo de nomes que estamos utilizando. Portanto, sempre que utilizamos um comando prprio de C++, o compilador reconhecer automaticamente este comando como sendo pertencente biblioteca padro de C++.
Funo main
Tudo o que acontece durante a execuo do programa est contido dentro de uma funo principal, chamada main: int main ( ) Todos os comandos executados pelo programa esto contidos entre as chaves { } da funo main. Um programa pode ter mais de uma funo, mas indispensvel que todos os programas possuam a funo main.
Funo system
A linha system(PAUSE > null) uma chamada de funo prpria de C++. A funo system( ) recebe argumentos como o PAUSE que na verdade so comandos para o sistema operacional. Neste caso, ela recebe o comando PAUSE > null para pausar a execuo do programa at que o usurio aperte uma tecla qualquer. Utilizamos este recurso para que a tela do programa no seja terminada automaticamente pelo sistema, impedindo que vejamos os resultados do programa.
Comando return
O comando return 0 a resposta da funo main para o sistema. Quase toda funo retorna um valor para o sistema ou programa que a chamou, por exemplo, uma funo pode retornar o resultado de uma operao matemtica executada por ela. No caso da funo main, ela retorna um valor para o sistema operacional que executou o programa. Esse valor interpretado pelo sistema como uma mensagem indicando se o programa foi executado corretamente ou no. Um valor de retorno 0 indica que o programa foi executado sem problemas; qualquer outro valor de retorno indica problemas. Quando o programa executado at o fim, ele retorna 0 ao sistema operacional, indicando que ele foi executado e terminado corretamente. Quando o programa encontra algum erro ou terminado antes da hora, ele retorna um valor qualquer ao sistema, indicando erro durante a execuo.
Introduo
A linguagem C++ possui uma tima biblioteca de classes relacionadas ao controle de entrada e sadas de dados. A classe cout serve para exibir valores - seja o valor de uma varivel ou uma frase enquanto que cin serve para armazenar valores recebidos atravs do teclado em variveis.
Utilizao de cout
cout exibe valores na tela. A sintaxe utilizada : cout << <valor, string, varivel, etc>; Utilizamos cout em conjunto com o operador de insero <<. O operador << indica ao comando cout que um dado deve ser exibido na tela, alm de identificar automaticamente qual o tipo deste dado e como ele deve ser formatado para exibio na tela. Assim, no precisamos informar cout que estamos enviando um inteiro, um real ou uma string: o operador << se encarrega desta identificao, bastando para o operador indicar o nome da varivel. Podemos utilizar o operador de insero vrias vezes na mesma chamada de cout. Por exemplo: cout << O valor da varivel X : << X; A linha de comando acima exibe dois valores: a string O valor da varivel X : e o valor davarivel X. Podemos repetir o operador de insero quantas vezes precisarmos na mesma linha de cout.
Utilizao de cin
Utilizamos o comando cin para obter valores do usurio atravs do teclado. A sintaxe utilizada a seguinte: cin >> variavel_destino; Assim como cout, cin utiliza um operador (nesse caso, o operador de extrao >> ) para identificar o tipo de varivel onde o valor ser armazenado e encontrar o endereo de memria correto. Na maioria dos casos, o comando cin cobre nossas necessidades de entrada de dados via teclado.
Nomes de variveis s podem conter letras do alfabeto, nmeros e o caracter underscore _. No podem comear com um nmero. Nomes que comecem com um ou dois caracteres underscore (_ e __) so reservados para a implementao interna do programa e seu uso extremamente desaconselhado. O compilador no acusa erro quando criamos variveis desse jeito, mas o programa criado se comportar de forma inesperada. No possvel utilizar palavras reservadas da linguagem C++. Tambm no possvel criar uma varivel que tenha o mesmo nome de um funo, mesmo que essa funo tenha sido criada pelo programador ou seja uma funo de biblioteca. C++ diferencia letras maisculas e minsculas em nomes de variveis,ou seja, count, Count e COUNT so trs nomes de variveis distintos. C++ no estabelece limites para o nmero de caracteres em um nome de varivel, e todos os caracteres so significantes.
Na linguagem C++ existem palavras que so de uso reservado, ou seja, que possuem funes especficas na linguagem de programao e no podem ser utilizadas para outro fim, como por exemplo, ser usada como nome de varivel. Por exemplo, a palavra reservada for serve para chamar um lao de repetio, e no pode ser utilizada como nome de uma varivel. importante notar que a linguagem C++ diferencia letras maisculas e minsculas, ou seja, char uma palavra reservada de C++ mas CHAR ou ChAr no . Entretanto, normalmente desaconselha-se o uso dessa diferenciao por atrapalhar a legibilidade do cdigo. Reforando o que j foi mencionado, as palavras reservadas s iro executar os comandos que lhes foram designados.
asm auto bool break case catch char class const const_ cast Continue default Delete do
double Dynamic_c ast else enum explicit export extern false float for friend goto if
inline int long mutable namespace new operator private protected public register reinterpret_cast Return short
signed sizeof static static_cast struct switch template this throw true try typedef typeid typename
Tipos de Dados
Quando um programa escrito em qualquer linguagem de programao necessrio a definio de algumas variveis. Variveis so instncias em que sero armazenados valores utilizados durante a execuo de programas. Estas variveis podem ser modificadas para suportar diferentes tipos de dados. Os principais tipos de dados utilizados em C++ podem ser divididos em variveis inteiras e reais.
Variveis inteiras servem para armazenar nmeros inteiros, sem partes fracionrias. O principal tipo de varivel inteira em C++ o int. Alm dele, existem os tipos char, short e long, cada um deles caracterizado por um tamanho em bits diferente. Estes tipos podem ser modificados pelo prefixo unsigned, que determina que a varivel em questo s ter valores positivos, liberando o bit de sinal e aumentando a capacidade de armazenamento da varivel (por default, todas as variveis inteiras e reais declaradas em C++ so signed, ou seja, possuem um bit de sinal e podem ser tanto positivas como negativas).
Tipos de variveis inteiras em C++ Tipo Tamanho (em bits) Intervalo Char 8 -128 a 127 unsigned char 8 0 a 255 Int 16 -32768 a 32767 unsigned int 16 0 a 65535 Short 16 -32768 a 32767 unsigned short 16 0 a 65535 Long 32 - 2147483648 a 2147483647 unsigned long 32 0 a 4294967295
Variveis reais servem para armazenar nmeros que possuem partes fracionrias. Existem duas maneiras de representar nmeros fracionrios em C++. A primeira, a mais simples, utilizar o ponto para separar as partes inteiras e fracionrias. Por exemplo: 0.00098 1.2145 3.1461 8.0 Mesmo no caso de um nmero com parte fracionria igual a zero, a utilizao do ponto assegura que este nmero seja considerado um nmero de ponto flutuante por C++.
A segunda maneira utilizar a notao cientfica E. Por exemplo : 3.45E7 significa 3.45 multiplicado por 10 elevado stima potncia (10.000.000). Essa notao bastante til para representar nmeros realmente grandes ou realmente pequenos. A notao E assegura que o nmero seja armazenado em formato de ponto flutuante. Alguns exemplos:
2.52E8 = 2.52 x 100.000.000 = 252.000.000 -3.2E3 = -3.2 x 1000 = -3200 23E-4 = 23 x 0.0001 = 0.0023
Assim como os inteiros, os nmeros reais em C++ podem ser representados por 3 tipos de variveis com diferentes intervalos. So elas: float, double e long double. Float o tipo de varivel real natural, aquela com a qual o sistema trabalha com maior naturalidade. Double e long double so teis quando queremos trabalhar com intervalos de nmeros reais realmente grandes. Utilizamos nmeros reais geralmente para expressar preciso atravs do nmero de casas decimais, ento podemos dizer que uma varivel float menos precisa que uma varivel double, assim como uma varivel double menos precisa que long double.
Definio de Variveis
As variveis devem ser declaradas, ou seja, devem ser definidos nome, tipo e algumas vezes seu valor inicial. As variveis so classificadas em variveis locais e globais. Variveis globais so aquelas declaradas fora do escopo das funes. Variveis locais so aquelas declaradas no incio de um bloco e seus escopos esto restritos aos blocos em que foram declaradas. A declarao de variveis locais deve obrigatoriamente ser a primeira parte de um bloco, ou seja, deve vir logo aps um caractere de abre chaves, '{'; e no deve ser intercalada com instrues ou comandos.
Declarao de Variveis
Para declarar uma varivel somente obrigatrio declarar seu tipo e nome: <tipo> <nome>; Por exemplo: int exemplo; Alm disso, caso seja necessrio, podemos declarar um valor a esta varivel no momento de sua declarao, e tambm adicionar um prefixo a ela, da seguinte forma: <prefixo> <tipo> <nome> = <valor>; Por exemplo: unsigned int exemplo = 12;
Definio de Constantes
O conceito de constantes em linguagens de programao atribuir um certo valor constante a um nome, e quando este nome for referenciado dentro do cdigo do programa, ser utilizado nas operaes o valor atribudo a este nome. Exemplo: se for definida a constante PI com o valor 3,1415926536, quando for encontrado no cdigo o nome PI, ser utilizado em seu lugar o valor 3,1415926536. Em C++ , utilizamos o prefixo const associado a um tipo, um nome e um valor para definir uma constante. Assim: const <tipo> <nome> = <valor>; Por exemplo: const int eterna = 256; No exemplo acima, definimos uma constante inteira de nome eterna que possui o valor numrico 256. importante notar que devemos declarar a constante e lhe atribuir um valor na mesma linha de comando. No podemos criar uma constante e lhe atribuir um valor posteriormente.
A linguagem C++ fornece constantes caractere mais barra invertida especiais,teis para caracteres que no so facilmente inseridos atravs do teclado ou de strings. Usa-se um cdigo de barra invertida exatamente da mesma maneira como usa qualquer outro caractere. Por exemplo: cout << Este um teste\n; Esse fragmento de cdigo imprime este um teste na tela, seguido de uma nova linha.
Operadores
Operadores
Um operador um smbolo que diz ao compilador para realizar manipulaes matemticas e lgicas especficas. A linguagem C++ possui trs classes gerais de operadores:
Operador de atribuio
O operador = atribui um valor ou resultado de uma expresso contida a sua direita para a varivel especificada a sua esquerda. Exemplos:
O ltimo exemplo interessante por mostrar que possvel associar vrios operadores de atribuio em sequncia, fazendo com que todas as variveis envolvidas tenham o mesmo valor especificado.
Operadores Aritmticos
So aqueles que operam sobre nmeros e expresses, resultando valores numricos. Operador Ao + soma subtrao * multiplicao / diviso % mdulo da diviso (resto da diviso inteira) sinal negativo (operador unrio)
Operam sobre expresses, resultando valores lgicos de verdadeiro ou falso. Ao Operador Igualdade == Diferena != Maior que > Menor que < Menor ou igual <= Maior ou igual >=
No existem os operadores relacionais: =<, => e <>. No confunda a atribuio (=) com a comparao (==).
Operadores Lgicos
Operam sobre expresses, resultando valores lgicos de verdadeiro ou falso. Operador Ao && operao AND || operao OR ! operador de negao
Operadores combinados
A expresso var = var op expr pode ser representado: var op = expr Onde op pode ser qualquer operador aritmtico Exemplo de aplicao: i+= 2; // equivalente a: i = i + 2 j-= 3; // equivalente a: j = j 3 j*=4; // equivalente a: j = j * 4 j/=2; // equivalente a: j = j / 2
Operadores de Pr e Ps-Incremento
Operadores de pr e ps-incremento so aqueles usados quando necessrio incrementar ou decrementar um determinado valor. As operaes abaixo podem ser representadas assim: i = i + 1; pode ser representado por i = ++i; ou ++i; i = i 1; pode ser representado por i = --i; ou --i; z = a; a = a + 1; pode ser representado por z = a++; z = a; a = a 1; pode ser representado por z = a--; a = a + 1; z = a; pode ser representado por z = ++a; a = a - 1; z = a; pode ser representado por z = --a;
Estrutura if
Estrutura de seleo if
Utilizamos a estrutura if quando desejamos que o programa teste uma ou mais condies e execute um ou outro comando de acordo com o resultado deste teste. A sintaxe de if a seguinte: if (condio) { comandos; } else { comandos; }
Estrutura de seleo if
A estrutura if testar a condio expressa entre parnteses. Caso a condio seja verdadeira, os comandos declarados entre as chaves sero executados. A declarao else opcional: podemos utiliz-la para determinar um conjunto de comandos que sero executados caso a condio testada seja falsa. Note que somente um dos conjuntos de comandos ser executado, nunca os dois: caso a condio seja verdadeira, o bloco pertencente a if ser executado; caso a condio falhe, o bloco pertencente a else ser executado.
Exemplo Estrutura if
O programa abaixo ilustra de maneira simples o uso da declarao if-else, obtendo um nmero do usurio e verificando se este valor maior ou igual a 50. #include <iostream> using namespace std;
int main() { int teste; cout<<"Digite um numero qualquer:\n"; cin>> teste; if (teste > 50) { cout<<"O numero que voce digitou maior que 50"; } else { cout<<"O numero que voce digitou menor que 50"; } system("PAUSE > null"); return 0;
}
Estrutura if aninhada
possvel tambm aninhar ifs, ou seja, fazer uma declarao if dentro de outra declarao if anterior. Este um mtodo muito til em programao, mas preciso tomar cuidado ao utiliz-lo para saber qual bloco else pertence qual if. Em C++, o else ligado ao if mais prximo dentro do mesmo bloco de cdigo que j no tenha uma declarao else associada a ele. Para se certificar de que estamos aninhando os ifs e elses corretamente, utilizamos chaves para delimitar os diferentes blocos.
Note que a segunda declarao if est totalmente contida pelas chaves da primeira declarao if. Utilizou-se chaves em todas os blocos de comando, para melhor separar as condies dos blocos de comandos. Note o uso da tabulao para separar visualmente os diferentes blocos e declaraes: poderamos escrever todo o cdigo sem usar tabulao, alinhando todas as linhas esquerda, mas isto dificultaria a identificao das diferentes declaraes.
Encadeamento if else if
Utilizamos a variao If Else If quando desejamos que o programa teste vrias condies em sequncia, at encontrar uma que seja verdadeira. Sua sintaxe muito parecida com a declarao if simples. Cada bloco else if dever testar uma condio diferente. O programa testar todas as condies na sequncia, de cima para baixo, at encontrar uma condio verdadeira. Quando isto acontece, os comandos pertencentes ao bloco verdadeiro sero executados enquanto todos os outros blocos do encadeamento so ignorados. Caso nenhuma condio else if seja verdadeira, executa-se o bloco de comandos pertencente ao else final. Note que o else opcional: Se o else final no estiver presente e todas as outras condies forem falsas, ento nenhuma ao ser realizada.
Estrutura if else if
if (condio) { comandos; } else if (condio) { comandos; } else if (condio) { comandos; } else { comandos; }
Estrutura while
Uma forma de lao de repetio a declarao while. Ao encontrar um lao while, o programa testa a condio especificada. Se a condio for verdadeira, efetuar os comandos contidos no lao. Quando a condio se torna falsa, o lao termina e o programa passa para o prximo comando. A sintaxe da declarao while a seguinte: while (condio) { comandos; } O argumento entre os parnteses a condio a ser testada: caso a condio nunca mude e seja sempre verdadeira, estaremos criando um lao infinito. Assim, cabe ao programador inserir uma varivel de controle no lao while para evitar que isso ocorra. Isso pode ser feito declarando-se e inicializando-se uma varivel antes do lao while, testando esta varivel de controle no lao while e finalmente modificando esta varivel (incrementando-a ou decrementando-a) aps a execuo dos comandos necessrios.
Estrutura for
Estrutura for
Utiliza-se a declarao for para realizar tarefas repetitivas dentro de um programa, como somar todos os elementos de uma matriz ou exibir na tela uma sequncia grande de valores. A declarao for tem o seguinte formato: for ( valor_inicial; condio_testada; valor_incremento) { comandos; } A declarao for o que chamamos de lao ou loop em programao: um conjunto de comandos que sero executados repetidamente at que uma determinada condio falhe e termine o lao. Em for, determinamos o nmero de repeties desejadas atravs de uma varivel de controle que ser modificada pelos argumentos da declarao for. valor_inicial refere-se atribuio de um valor inicial para a varivel de controle, por exemplo: controle = 0; condio_testada uma expresso qualquer contendo a varivel de controle, que ser testada continuamente. Enquanto a condio for verdadeira, os comandos dentro do lao for sero executados. Quando a condio falhar, o lao termina e o programa continua seu fluxo normal. Por exemplo, controle < 30; uma expresso vlida, que testa se a varivel controle menor do que 30. valor_incremento uma expresso que incrementar a varivel de controle sempre que a condio testada anteriormente for verdadeira. Por exemplo, controle = controle + 1 ou mais simplesmente controle++ Os comandos entre as chaves sero executados sempre que a condio testada for verdadeira, e se repetiro at que a condio se torne falsa e o lao termine.
A varivel controle comea com valor 0. O lao for testa o valor da varivel continuamente, sempre determinando se ele menor do que 30. Sempre que o valor da varivel for menor que 30 (condio verdadeira), a varivel de controle incrementada de 1 e os comandos entre as chaves so executados. Quando a varivel controle for maior do que 30 (condio falsa), o lao termina e o programa volta a ser executado normalmente. O comando for extremamente flexvel. Podemos atribuir qualquer valor que quisermos varivel de controle, e tambm podemos increment-la (ou decrement-la da forma que desejarmos). No exemplo do prximo slide, utilizamos o lao for de forma inversa ao exemplo anterior: a varivel de controle comea em 60 e vai sendo decrementada de 2 a cada repetio.
Estrutura do while
Estrutura do while
A declarao do while muitssimo parecida com a declarao while, com uma nica diferena fundamental: o teste condicional feito aps a execuo dos comandos pertencentes ao lao. Veja a sintaxe do lao do while: do { comandos; } while ( condio); Note a inverso da ordem: primeiro temos a declarao do seguida do corpo do lao, contendo os comandos serem executados entre as chaves. Aps o smbolo fechachaves, temos a declarao while e a expresso que ser testada. Os comandos entre as chaves sero executados at que a condio torne-se falsa. Porm, lembre-se que a condio s ser testada aps a execuo dos comandos dentro do lao, ao contrrio dos laos que vimos anteriormente que antes testavam uma condio para depois executar qualquer comando.
Exemplo do while
int main() { int controle = 1; do { cout<<"Esta frase foi escrita "<<controle<<" vezes!\n"; controle++; } while (controle <= 20); system("PAUSE > null"); return 0; }
Referncias
DEITEL, P. D.; DEITEL, M. J. C++ como programar. So Paulo: Prentice Hall, 2006. TREVELIN, Enrique Camargo. Apostila da Linguagem de Programao C++. Jul, 2007. Unesp, So Paulo, 2007.