Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Claudio Cesar de Oliveira Cordeiro 001 claudio_cesar_cordeiro@yahoo.com.br Seg, 21/10/13 Capítulo 03 Estruturas de Controle Linguagem de Programação C++ 1 Prof. Claudio Cesar de Oliveira Cordeiro 002 claudio_cesar_cordeiro@yahoo.com.br Desafio para Nerds da Estácio! Qual o valor que será mostrado na tela no bloco de comandos de um programa C++ abaixo: cout << endl << endl; cout << 11/2; cout << 11.0/2; cout << endl; ? Ter, 25/08/13 2 Estruturas de Controle 003 claudio_cesar_cordeiro@yahoo.com.br Nest em Inglês significa ninho (de passarinho etc.) Nested, aninhado! Linguagem de Programação C++ ► Estrutura Condicional if ... else ► Estrutura if... else if... else ... ► Estrutura if ... else Aninhada, Encadeada ou Nested ► Estruturas de Controle ► Loop for... ► Loop do while... ► Estrutura de Escolha switch... ► Case ► Break ► Default Estruturas de Controle 3 004 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle do C++ Estrutura de Controle Condicional if... else... if... else if... else... Estruturas de Controle 005 claudio_cesar_cordeiro@yahoo.com.br É possível o incremento ficar fora do loop e dentro do bloco de comandos. Linguagem de Programação C++ if (condição) { Comandos executados caso condição verdadeira; } else { Comandos executado caso condição falsa; } Como funciona: Os comandos entre { ... } imediatamente após a condição (comandos do bloco do if) serão executados caso a condição especificada seja verdadeira. Caso contrário, quando a condição for falsa, os comandos entre { ... } imediatamente após o else (comandos do bloco do else) serão executados . Estrutura de Controle Condicional if ... else O parâmetro: ► A condição pode ser uma expressão qualquer. Por exemplo x <= 10, ((x >0) && (x <=10)), opcao = ‘S’, etc. Estruturas de Controle 006 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 01 – Par ou Ímpar? Escrever um programa que verifica se o número é par ou ímpar. Use a Função Módulo e a Estrutura de Controle Condicional if ... else. Estruturas de Controle 007 claudio_cesar_cordeiro@yahoo.com.br Listagem completa , comentada e detalhada do programa no SIA! Linguagem de Programação C++ Exemplo 01 – Listagem sem comentários #include <iostream> using namespace std; int main (); int main () { int numero=0,resto=0; cin >> numero; resto = numero % 2; if (resto == 0) { cout << endl << "Numero " << numero << " eh par!"; } else { cout << endl << "Numero " << numero << " eh impar!"; } cout << endl << endl; system ("pause"); return 0; } Estruturas de Controle 008 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Outra forma de escrever if ... else #include <iostream> using namespace std; int main (); int main () { int numero=0,resto=0; cin >> numero; resto = numero % 2; if (resto == 0) { cout << endl << "Numero " << numero << " eh par!"; } else { cout << endl << "Numero " << numero << " eh impar!"; } cout << endl << endl; system ("pause"); return 0; } ATENÇÃO! NOTE QUE NÃO EXISTE O PONTO E VÍRGULA NO FINAL DA COMPARAÇÃO, ANTES DO INÍCIO DE BLOCOS DE COMANDO DA CONDIÇÃO TRUE! Estruturas de Controle 009 claudio_cesar_cordeiro@yahoo.com.br Listagem completa , comentadCa e detalhada do programa no SIA! Linguagem de Programação C++ Atenção!!! Apesar do else ser opcional ... #include <iostream> using namespace std; int main (); int main () { int numero=0,resto=0; cin >> numero; resto = numero % 2; if (resto == 0) { cout << endl << "Numero " << numero << " eh par!"; } //else { cout << endl << "Numero " << numero << " eh impar!"; } cout << endl << endl; system ("pause"); return 0; } Veja o resultado!! Cadê o else que tava aqui? (Ele tá, mas não tá! ) Estruturas de Controle 010 claudio_cesar_cordeiro@yahoo.com.br Outras linguagens usam if ... then... else. No C++ o then está subentendido Linguagem de Programação C++ Estrutura Condicional if ... else if if (condição_1) { Comandos se condição_1 verdadeira; } else if (condição_2) { Comandos se condição_2 verdadeira; } else if (condição_3) { Comandos se condição_3 verdadeira; } else { Comandos caso nenhuma condição verdadeira; } Estruturas de Controle 011 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 02 – Usando if ... else if... else Escrever um programa C++, usando if... else if... que verifica se o número é: Menor ou igual a 50 Maior que 50 e menor ou igual a 100 Maior que 100 e menor ou igual a 200 Maior que 200 Estruturas de Controle 012 claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação C++ Operadores Lógicos claudio_cesar_cordeiro@yahoo.com.br . . Circuito Lógico OR (OU) Circuito Lógico AND (E) 013 Linguagem de Programação C++ Circuito Lógico AND (E) claudio_cesar_cordeiro@yahoo.com.br . Circuito Lógico AND No circuito AND (E) a saída só será TRUE quando TODAS as entradas forem TRUE, simultaneamente. 014 Linguagem de Programação C++ claudio_cesar_cordeiro@yahoo.com.br . . Circuito Lógico OR (OU) No circuito OR (OU) se PELO MENOS UMA ENTRADA FOR TRUE, a saída será TRUE. A saída só será FALSE quando TODAS as entradas forem FALSE, simultaneamente. Circuito Lógico OR 015 Linguagem de Programação C++ 15 016 claudio_cesar_cordeiro@yahoo.com.br . . Circuito Lógico OR (OU) Circuito Lógico AND (E) Linguagem de Programação C++ 017 claudio_cesar_cordeiro@yahoo.com.br Outras linguagens usam if ... then... else. No C++ não temos o then ! Linguagem de Programação C++ Exemplo 02 – Condicional if... else if... else #include <iostream> using namespace std; #include <conio.h> int main () { int teste; cin >> teste; if (teste <= 50) { cout << "O numero que voce digitou eh menor ou igual que 50.\n"; } else if ((teste > 50) && (teste <= 100)) { cout << "O numero digitado eh maior que 50 e menor ou igual a 100.\n"; } else if ((teste > 100) && (teste <= 200)) //Operador Lógico AND (&&) { cout << "O numero digitado eh maior que 100 e menor ou igual a 200.\n"; } else { cout << "O numero digitado eh maior que 200\n"; } return 0; } Estruturas de Controle 018 claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação C++ Modelagem de Tipo Casting 019 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 03 – Par ou Ímpar Sem %! Escrever um programa que verifica se o número é par ou ímpar, sem usar a Função Módulo (%). Estruturas de Controle 020 claudio_cesar_cordeiro@yahoo.com.br As variáveis foram declaradas como tipo inteiro, mas divisão de inteiros em C++... Linguagem de Programação C++ Exemplo 03 – Verifica se par/ímpar sem usar % #include <iostream> using namespace std; int main (); int main () { int numero=0,resto=0; cin >> numero; resto = ((float)numero/2 - numero/2) * 2; if (resto == 0) { cout << endl << "Numero " << numero << " eh par!"; } else{ cout << endl << "Numero " << numero << " eh impar!"; } cout << endl << endl; system ("pause"); return 0; } Note o comando C++ abaixo: ((float)numero/2 – numero/2) * 2; Ele retorna o Resto da Divisão Inteira, sem usarmos a Função Módulo! E a expressão (float)numero/2 faz a Modelagem de Tipo no C++, chamada de Type Cast ou Casting. Estruturas de Controle Na divisão decimal da matemática, sabemos que 11/2 = 5.5. A parte inteira é 5 é Função INTeiro de (10/2) e a parte fracionária 0.5 é FRAC = (11/2) – INT(11/2). Assim sendo, o RESTO = FRAC * DIVISOR (neste caso 2). 021 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 04 – Dobro do Par – Quadrado do Ímpar Escrever um programa usando if ... else que verifica se o número é par ou ímpar. Se for par e maior do que 10, calcule seu dobro. Se for ímpar e maior ou igual a 5, calcule seu quadrado. ATENÇÃO! Proibido usar Operadores Lógicos AND e/ou OR. Estruturas de Controle 022 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 04 – Dobro do Par – Quadrado do Ímpar Estruturas de Controle 023 claudio_cesar_cordeiro@yahoo.com.br Os números entre colchetes representam o número da linha na listagem. Linguagem de Programação C++ Estrutura if ... else do Exemplo 04 Estruturas de Controle 024 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 04 – Listagem Resumida – Parte 1/2 #include <iostream> using namespace std; #include <math.h> int main (); int main () { int numero=0,resto=0; cin >> numero; resto = numero % 2; if (resto == 0) { cout << endl << "Numero " << numero << " eh par!" << endl; if (numero > 10) { cout << "Como o numero " << numero << " eh par <= 10, seu dobro eh = " << numero*2; } else { cout << "Como numero " << numero << " <= 10, nao sera dobrado."; } } //Fim do bloco de comandos da condição TRUE do primeiro if Estruturas de Controle 025 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 04 – Listagem Resumida – Parte 2/2 else //Else do primeio if na linha 34 { if (resto != 0) //Não precisa desta linha. E redundante! Deixei para ficar claro { cout << endl << "Numero " << numero << " eh impar!" << endl; if (numero >= 5) { cout << "Como o numero " << numero << " eh impar >= 5, seu quadrado eh = " << pow(numero,2); } else { cout << "Como numero " << numero << " < 5, nao sera elevado ao quadrado." << endl; } } } //Fim do bloco de comandos da condição FALSE do primeiro if cout << endl << endl; system ("pause"); return 0; } Estruturas de Controle 026 claudio_cesar_cordeiro@yahoo.com.br É possível o incremento ficar fora do loop e dentro do bloco de comandos. Estruturas de Controle Linguagem de Programação C++ Estruturas de Controle do C++ Estrutura de Controle Loop for... 027 claudio_cesar_cordeiro@yahoo.com.br É possível o incremento ficar fora do loop e dentro do bloco de comandos. Linguagem de Programação C++ Estrutura de Controle Loop for ... for (variável de iniciação; condição; atualização da variável) { Comandos do loop; } Como funciona: Os comandos entre { } serão executados enquanto a condição especificada for verdadeira. Quando a condição for falsa, o loop é interrompido e a execução do programa continua após o fecha chave (}). Os parâmetros: ► A variável de iniciação pode ser uma declaração e atribuição de variável (int x = 1) ou uma variável já existente. ► A condição pode ser uma expressão como usamos no if ... else. Por exemplo x <= 10, ((x >0) && (x <=10)) etc. ► Atualização da variável normalmente é seu incremento ou decremento. Estruturas de Controle 028 claudio_cesar_cordeiro@yahoo.com.br É possível o incremento ficar fora do loop e dentro do bloco de comandos. Estruturas de Controle Linguagem de Programação C++ Estruturas de Controle do C++ Incremento e Decremento 029 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Exemplos formatos do for ... for (x = 0; x < 10; x++) { cout << x; } for (x = 1; x <= 100; x++) { cout << (1+(rand() % 100)) ; } for (contador inicial; contador final; contador- -) { Comandos do loop; //countdown } for (contador inicial; contador final; - -contador) { Comandos do loop; //countdown } Pós-incremento Pós-decremento Pré-decremento Pós-incremento Estruturas de Controle 030 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Operadores de Incremento do C++ Esta notação simplificada (shortcut – atalho) facilita em muito a digitação dos códigos, mas precisamos nos lembrar do que significa. Muito usada na expressão de incremento do loop for ... Sinal de Atribuição!!! Exemplo 05 – Gerar Números Aleatórios Escrever um programa usando o loop for ... e a função rand() para gerar números aleatórios de 0 a 32767. 031 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Depois de executar o programa três vezes, obtemos os mesmos números! Como pode ser se estamos usando rand()? 032 claudio_cesar_cordeiro@yahoo.com.br Gerador mantém mesmos resultados para efeito de debugging. Linguagem de Programação C++ Estruturas de Controle 033 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 05 – Listagem Resumida #include <iostream> using namespace std; int main (); int main () { int qte=0, soma=0, contador=0,numero=0; cout << "Entre a quantidade de numeros a serem gerados ...: "; cin >> qte; for (contador=1;contador<=qte;contador++) { numero = rand(); soma++; cout << "aleatorio " << soma << "....: " << numero << endl; } cout << endl << endl; system ("pause"); return 0; } Estruturas de Controle 034 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 06 – Gerar Números Realmente Randômicos Alterar o programa e incluir o comando srand() para gerar números realmente aleatórios, ou randômicos, de 0 a 32767. Estruturas de Controle Depois de executar o programa três vezes, obtemos resultados diferentes. 035 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle 036 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 06 – Listagem Resumida #include <iostream> using namespace std; #include <time.h> int main (); int main () { int qte=0, soma=0, contador=0,numero=0; cout << "Entre a quantidade de numeros a serem gerados ...: "; cin >> qte; srand(time(NULL)); for (contador=1;contador<=qte;contador++) { numero = rand(); soma++; cout << "aleatorio " << soma << "....: " << numero << endl; } cout << endl << endl; system ("pause"); return 0; } Estruturas de Controle 037 claudio_cesar_cordeiro@yahoo.com.br Estruturas de Controle Linguagem de Programação C++ Estruturas de Controle do C++ Estrutura de Controle Loop while... 038 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Estrutura de Controle Loop while... while (condição) { Comandos do loop; } Atenção! ► O loop while não tem suas próprias variáveis de controle interno. Cabe ao programador alterar a variável de controle dentro do loop, caso contrário poderemos criar um loop infinito e o programa nunca terminar! Assim, devemos: 1º - Definir uma variável e atribuir valor inicial a ela antes de entrar no loop e, 2º- Modificá-la dentro do loop para que seja criada uma situação de saída do loop. É possível entrarmos num loop infinito e se não tivermos salvo o programa... só reset na máquina, em alguns casos! Como funciona: Os comandos entre { } serão executados enquanto a condição especificada for verdadeira. Quando a condição for falsa, o loop é interrompido e a execução do programa continua normalmente após o fecha chave (}). Estruturas de Controle 039 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estrutura de Controle Loop while ... Estruturas de Controle int contador = 1; while (contador <= 100) { cout << contador << “ “; contador++; } 040 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estrutura de Controle Loop while ... int contador = 100; while (contador > 0) { cout << contador << “ ” ; contador- -; } Estruturas de Controle 041 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Outros formatos do while ... while (contador++ < valor ou expressão) { Comandos do loop; } Pós-incremento Pré-incremento Pós-decremento Pré-decremento while (++contador < valor ou expressão) { Comandos do loop; } while (contador- - < valor ou expressão) { Comandos do loop; } while (contador- - < valor ou expressão) { Comandos do loop; } Estruturas de Controle . 042 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Escrever um programa usando o loop while para gerar uma faixa progressiva de números inteiros, fornecida pelo operador. Exemplo 07 – Gerando Faixa de Números com while Estruturas de Controle Exemplo 07 – Execução 043 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 07 – Listagem Resumida - Loop while #include <iostream> using namespace std; #include <conio.h> int main (); int main () { int inicial=0,final=0,contador=0; cout << endl; cout << "Imprimindo na Tela Faixa de Numeros" << endl; cout << "===================================" << endl << endl << endl; cout << "Entre o primeiro numero ............: "; cin >> inicial; cout << endl << "Entre o primeiro numero ............: "; cin >> final; cout << endl; contador = inicial; while (contador <= final) { cout << contador << " "; contador++; } cout << endl << endl; cout << "Pressione qualquer tecla para terminar o programa."; getch(); return 0; } 044 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle 045 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Melhorar o programa anterior usando outro loop while para checar a entrada do operador, prevenindo-se contra valor inicial maior que valor final. Exemplo 08 – Checar opções de entrada Estruturas de Controle Exemplo 08 – Execução – Checando entrada dados! 046 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Foi usado um outro loop while para verificar se valor inicial menor do que o final Exemplo 08 – Execução. Aqui OK! Inicial < Final 047 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle 048 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 08 – Listagem Resumida - Parte 1/2 #include <iostream> using namespace std; int main (); int main () {int inicial=0,final=0,contador=0; cout << endl; cout << "Programa para contagem progressiva (faixa) usando while" << endl; cout << "=================================================" << endl << endl << endl; cout << "Digite o numero inicial da contagem progressiva .....: "; cin >> inicial; cout << endl << "Digite o numero inicial da contagem progressiva .....: "; cin >> final; while (final <= inicial) { cout << endl<< "Voce entrou numero final menor ou igual que o inicial!“ << endl; cout << endl << "Novamente..." << endl; cout << endl << "Digite o numero inicial da contagem progressiva .....: "; cin >> inicial; cout << endl << "Digite o numero final da contagem progressiva .......: "; cin >> final; } Estruturas de Controle 049 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Exemplo 08 – Listagem Resumida - Parte 2/2 cout << endl; contador = inicial; cout << endl << "Resultado" << endl; cout << "=========" << endl; while (contador <= final) { cout << contador << " "; contador++; } cout << "!" << endl << endl; cout << "Pressione qualquer tecla para terminar o programa!"; getch(); return 0; } Estruturas de Controle 050 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Escrever um programa C++ pra contagem regressiva de um número entrado pelo operador até 1, usando o loop while. Exemplo 09 – Countdown! 9.. 8.. 7.. 6.. 5.. 4.. 3.. 2.. 1! 051 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 09 – Execução 052 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 09 – Listagem Resumida #include <iostream> using namespace std; #include <conio.h> int main (); int main () { int numero=0,contador=0; cout << endl; cout << "Programa para contagem regressiva usando while" << endl; cout << "==============================================" << endl << endl; cout <<"Digite o numero inicial da contagem regressiva .....: "; cin >> numero; cout << endl; contador = numero; while (contador > 0) { cout << " " << contador; contador--; } cout << endl << endl; cout << "Pressione qualquer tecla para terminar o programa!"; getch(); return 0; } OK! OK! 053 claudio_cesar_cordeiro@yahoo.com.br Estruturas de Controle Linguagem de Programação C++ Estruturas de Controle do C++ Estrutura de Controle Loop do while... . 054 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Estrutura de Controle Loop while... do ... { Comandos do loop; } while (condição); Atenção! ► O loop do while também não tem suas próprias variáveis de controle interno. Cabe ao programador alterar a variável de controle dentro do loop, caso contrário poderemos criar um loop infinito e o programa nunca terminar! Assim, devemos: 1º - Definir uma variável e atribuir valor inicial a ela antes de entrar no loop e, 2º - Modificá-la dentro do loop para que seja criada uma situação de saída do loop. Note primeiro os comandos são executados depois é que será feito o check da condição. Como funciona: Os comandos entre { } são executados até que condição especificada no comando while, após o bloco de comandos do loop, seja verdadeira. Quando a condição for falsa, o loop é interrompido e a execução do programa continua normalmente após o fecha chave (}). Estruturas de Controle OK! Ponto e vírgula!!! . 055 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Reescrever o programa do Exemplo 07 usando o loop do while para gerar uma faixa progressiva de números inteiros, fornecida pelo operador. Exemplo 10 – Faixa de Números com do while 056 claudio_cesar_cordeiro@yahoo.com.br Exatamente como no loop while. Linguagem de Programação C++ Estruturas de Controle Exemplo 10 – Execução 057 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 10 – Listagem Resumida #include <iostream> using namespace std; #include <conio.h>int main (); int main () { int inicial=0,final=0,contador=0; cout << endl; cout << "Imprimindo na Tela Faixa de Numeros" << endl; cout << "===================================" << endl << endl << endl; cout << "Entre o primeiro numero ............: "; cin >> inicial; cout << endl << "Entre o primeiro numero ............: "; cin >> final; cout << endl; contador = inicial; do { cout << contador << " "; contador++; } while (contador <= final); cout << endl << endl; cout << "Pressione qualquer tecla para terminar o programa."; getch(); return 0; } OK! Todo bloco do loop numa única linha horizontal + ponto e vírgula no final!!! 058 claudio_cesar_cordeiro@yahoo.com.br Estruturas de Controle Linguagem de Programação C++ Estruturas de Controle do C++ Estrutura de Desvio switch... case... break... default... . 059 claudio_cesar_cordeiro@yahoo.com.br Variável é número inteiro (1, 2, ..., n) ou constante tipo caractere (a, b, c, ..., n) Linguagem de Programação C++ Estrutura de Controle switch... switch (variável) { case valor1_: Comandos caso variável igual ao valor_1; break; case valor_2: Comandos caso variável igual ao valor_2; break; case valor_3: Comandos caso variável igual ao valor_3; break; ... case valor_n: Comandos caso variável igual ao valor_n; break; default: comandos; } Estruturas de Controle 060 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estrutura de Controle switch... Como funciona: Usado para tomada de decisão de uma única variável contra uma lista de opções, como num menu. Quando o valor da variável coincide com o valor da lista, associada a um comando case, as instruções abaixo dele são executadas até encontrar um comando break. A partir daí o programa para de verificar os próximos case e o a execução do programa continua após o fim da estrutura do switch. A busca para uma associação verdadeira continua até ao último case. Se chegar neste ponto e nenhuma associação for encontrada, então os comandos após a instrução default serão executadas, switch termina e o programa continua sua execução após o mesmo. O switch é muito usado para fazer escolha num menu de opções, evitando o uso de if ... if else ... else que á mais complexo. O comando default é opcional, e neste caso, se nenhuma associação for encontrada o switch não executará nenhuma ação. Estruturas de Controle 061 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Reescrever o programa do Exemplo 07 usando o loop do while para gerar uma faixa progressiva de números inteiros, fornecida pelo operador. Exemplo 10 – Faixa de Números com do while 062 claudio_cesar_cordeiro@yahoo.com.br Exatamente como no loop while. Linguagem de Programação C++ Estruturas de Controle Exemplo 10 – Execução 063 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 10 – Listagem Resumida #include <iostream> using namespace std; #include <conio.h> int main (); int main () { int inicial=0,final=0,contador=0; cout << endl; cout << "Imprimindo na Tela Faixa de Numeros" << endl; cout << "===================================" << endl << endl << endl; cout << "Entre o primeiro numero ............: "; cin >> inicial; cout << endl << "Entre o primeiro numero ............: "; cin >> final; cout << endl; contador = inicial; do { cout << contador << " "; contador++; } while (contador <= final); cout << endl << endl; cout << "Pressione qualquer tecla para terminar o programa."; getch(); return 0; } OK! Todo bloco do loop numa única linha horizontal + ponto e vírgula no final!!! 064 claudio_cesar_cordeiro@yahoo.com.br Biblioteca math.h necessária para várias funções matemáticas. Linguagem de Programação C++ Estruturas de Controle Escrever um programa que realiza várias operações matemáticas (quadrado, cubo, potência, fatorial, raiz quadrada e M_PI) usando a estrutura switch...case...break...default Exemplo 11 – switch 065 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 11 – Execução 066 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 11 – Listagem Resumida – Parte 1/4 #include <iostream> using namespace std; #include <conio.h> #include <math.h> int main (); int main () { int x=0,y=0,opcao=0,fat=0,contador=1,fatorial=1; float quad=0,cubo=0,pot=0,raizquad=0; cout << endl; cout << "Operacoes Matematicas Usando Estrutura \"switch\"" << endl; cout << "==============================================" << endl << endl; cout << endl; cout << "|==================================================|" << endl << "|Menu de Operacoes Matematicas - Escolha uma opcao |" << endl << "|==================================================|" << endl << "|Quadrado do Primeiro Numero x ................. 1 |" << endl << "|Cubo do Segundo Numero y ...................... 2 |" << endl << "|Potencia: x elevado a y ....................... 3 |" << endl << "|Fatorial de x ................................. 4 |" << endl << "|Raiz Quadradada de y .......................... 5 |" << endl << "|Primeiro Numero x multiplicado por PI ......... 6 |" << endl << "|==================================================|" << endl << endl; 067 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 11 – Listagem Resumida – Parte 2/4 cout << "Entre o primeiro numero x ......................: "; cin >> x; cout << endl << "Entre o segundo numero y........................: "; cin >> y; cout << endl << "Entre opcao desejada (numero entre 1 e 6) ......: "; cin >> opcao; //---------- Início da estrutura switch ---------------------------------------- switch (opcao) { case 1: quad = pow (x,2); cout << endl << "O quadrado de " << x << " eh = " << quad << endl; break; case 2: cubo = pow (y,3); cout << endl << "O cubo de " << y << " eh = " << cubo << endl; break; 068 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 11 – Listagem Resumida – Parte 3/4 case 3: pot = pow (x,y); cout << endl << "A potencia de " << x << " elevado a " << y << " eh = " << pot << endl; break; case 4: contador =1; //----- Note o calculo do fatorial feito num loop do ... while (condição) ------ do { fatorial = fatorial * contador; contador++;} while (contador <= x); fat = fatorial; cout << endl << "O fatorial de " << x << " eh = " << fat << endl; break; case 5: raizquad = sqrt(y); cout << endl << "O quadrado de " << y << " eh = " << raizquad << endl; break; 069 claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação C++ Estruturas de Controle Exemplo 11 – Listagem Resumida – Parte 4/4 case 6: cout << endl << "Numero " << x << " multiplicado por PI eh igual a " << x * M_PI; break; default: cout << endl << "Opcao com valor nao definido no menu" << endl; } cout << endl << endl; cout << "Pressione qualquer tecla para terminar o programa."; getch(); return 0; } Bibliografia Referências Bibliográficas e Sites Visitados 070 claudio_cesar_cordeiro@yahoo.com.br . Snaith, Paul. C++ Para Leigos – Passo a Passo. Editora Ciência Moderna Ltda, 1999 Bueno, André Duarte. Programação Orientada a Objeto com C++ -. Editora Novatec Ltda, 2003 Montenegro, Fernando e Pacheco, Roberto. Orientaçãoa Objetos em C++. Editora Ciência Moderna Ltda, 1994 Manzano, José Augusto e Oliveira, Jayr Figueiredo – Algoritmos – lógica para Desenvolvimento de Programação – Editora Érica – São Paulo – 1996 Apostila de Dev-C++ , Educação Online, visitado em 30/03/2012 http://www.educaonline.eng.br/UNISANTA/HTML/DOWNLOAD/APOSTILAS/apostila%20de%20dev.pdf A Linguagem de Programação C++ - Apostila de Enrique Camargo Trevelin – FEIS – UNESP – Visitado em Qui, 03/05/12 - http://www.dee.feis.unesp.br/graduacao/disciplinas/langcpp/index.php?pagina=home http://www.mspc.eng.br/info/cpp_oper_10.shtml http://msdn.microsoft.com/pt-br/library/8e4x783s(v=vs.90).aspx http://pt.wikipedia.org/wiki/Operadores_em_C_e_C%2B%2B#Operadores_aritm.C3.A9ticos http://pt.wikibooks.org/wiki/Programar_em_C Wikipedia, http://wikipedia.org, visitado em Dom, 06/504/12. http://pt.wikipedia.org/wiki/Operadores_em_C_e_C%2B%2B http://www.tiexpert.net/programacao/c/math.php http://www.cprogramming.com/tutorial/c/lesson3.html http://www.cplusplus.com/articles/EywTURfi/ http://pt.wikiversity.org/wiki/Curso_de_C%2B%2B/Operadores http://msdn.microsoft.com/pt-br/library/8e4x783s(v=vs.90).aspx http://en.cppreference.com/w/ http://www.java2s.com/Code/Cpp/Console/CatalogConsole.htm http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1048380213&id=1043284385 http://www.digitalmars.com/rtl/conio.html Linguagem de Programação C++ 70
Compartilhar