Você está na página 1de 16

UNIVERSIDADE ZAMBEZE

Faculdade de Ciências e Tecnologia


Curso: Eng. Civil
Cadeira: Informática - II

Tema 005: Instruções de Controlo de Execuções


em C++

Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19


2

´As instruções de controle constituem o


mecanismo fundamental das linguagens de
programação, para que através delas se
possam exprimir algoritmos.
´Algoritmos de um processo implica que
algumas das acções a executar(primitivas de
acções), sejam condicionadas a testes sobre
expressões (expressões de controlo).

Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19


3 Expressões e Instruções Compostas
´Uma expressão converte-se numa instrução
quando terminada pelo caracter ponto e
virgula (;), em c++, o ponto e virgula é o
carácter terminador.
´Várias expressões, transformam-se numa
expressão composta quando associadas por
operador vírgula (”,”), as chavetas são usadas
para agrupar várias instruções numa instrução
composta, ou bloco que é sintaticamente
equivalente a uma única instrução.
´Uma instrução composta não necessita de
18/09/19

terminador “;” após as chavetas de fecho.


Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016
Instrução if-else
4 ´A sintaxe da instrução if-else em c++ toma a
forma geral:
´if ( teste )
´ { instrução 1; ... }
´ else // optional
´{ instrução 2; ... }

´A instrução if impõe a execução da (instrução


1) se a expressão do teste for verdadeiro, caso
contrário não executa esta instrução e passa a
executar a (instrução 2), isso caso a alternativa
else existir
Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19
5 Exemplo de if-else
´Vamos desenvolver um algoritmo que alerte
obre o nível de Combustível num deposito, no
qual deverá ser introduzido o valor da
capacidade do deposito, e a quantidade de
combustível existente. O sistema terá que
apresentar a informação “Combustível abaixo
de 20%,” se o mesmo estiver abaixo desta
percentagem e “Combustível Suficiente” caso
esteja acima dos 20%.

Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19


Operador condicional ternário (?:)

O operador condicional ternário é uma


forma compactada de exprimir uma
acção condicional if-else;

modulo_n = (n<0) ? -n: n;

if (n<0)
modulo_n=-n;
else modulo_n=n;
Iniciação à
linguagem C++
7 Instrução switch
´O uso de if...else pode se tornar um tanto
complicado quando existem muitas
alternativas. Para essas situações, C++ oferece a
instrução switch.
´ Switch é um teste de decisão multipla, que
numa sequência de instruções, decide apartir
de qual começa a execução.
´A execução começa, quando for encontrado um
valor de case conscidente com o valor da expressão
de teste.
Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19
Instrução de controlo de execução
Decisão múltipla - switch
Fluxograma Em C++

i == 0 TRUE

cout<<"zero";
FAL SE
switch( i ) {
case 0: cout<<“zero”; break;
i == 1 TRUE case 1: cout<<“um”; break;
cout<<"u m; case 2: cout<<“dois”; break;
FAL SE default: cout<<“outro”;
}

i == 2 TRUE

cout<<"d ois";
FAL SE

cout<<"o utro";

Iniciação à
linguagem C++
Quantos dias faltam até ao fim do mês?
#include<iostream.h>
void main() {
int dia, mes, a, numDias;
cout << "Dia -> "; cin >> dia;
cout << "Mes -> "; cin >> mes;
cout << "Ano -> "; cin >> a;
if ( mes > 0 && mes <= 12)
switch (mes) {
case 2 :
numDias = 28 + (a%400 == 0 || a%4 && a%100 != 0);
break;
case 4 : case 6 : case 9 : case 11:
numDias = 30; break;
default:
numDias = 31;
} else
numDias = 0; Iniciação à

if (dia > 0 && dia <= numDias)


linguagem C++
Instrução while
10
´ O loop while faz com que o programa repita uma seqüência de comandos
enquanto uma determinada condição for verdadeira.
´ A sintaxe da instrução while é a seguinte:
´ while(teste)
´ Instrução;

´ Caso o corpo do while contenha mais do que uma instrução, envovem-se


por chavetas para que se constituam numa instrução composta.
´ Ex:

Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19


11 Instrução do-while
´ Pode acontecer do corpo de um loop while nunca ser
executado, se a condição de teste nunca for
verdadeira. Muitas vezes, é desejável que o corpo do
loop seja executado no mínimo uma vez. Para isto,
usamos o loop do...while
´ A sintaxe da instrução do-while é:
´ do{ instrução}while(teste);
´ Exemplo:
´ i=1;
´ Do{cout<<“i=“<<I;
´ ++i}while(i<6)
Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19
Instrução for
12
´ Quando usamos o loop while, muitas vezes precisamos definir uma condição
inicial, testar essa condição para ver se continua sendo verdadeira e incrementar
ou alterar uma variável a cada passagem pelo loop.
´ Quando sabemos de antemão o número de vezes que o corpo do loop deverá
ser executado, podemos usar o loop for, ao invés de while.
´ Sintaxe:
´ for( inicializacao; condição; atualização) {instruções;}
´ Exemplo:

Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19


13 Instrução for aninhado
´ Podemos ter loops for aninhados, ou seja, o corpo de um loop pode
conter outro loop. O loop interno será́ executado por completo a cada
passagem pelo loop externo.

Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19


Instruções de transferência de controlo

break e continue
void main() {
char buf[80];

cout << "Escreve uma string : ";


cin.getline(buf, 80, '\n');

for(int i = 0; i < strlen(buf); ++i)


if(buf[i] != '@')
continue;
else {
cout << "Caracter '@' encontrado na posição " << i << endl;
break;
}

if ( i == strlen(buf) )
cout << "caracter '@' não encontrado!" << endl;

cout << “BYE” << endl;


}

Iniciação à
linguagem C++
Instruções de transferência de controlo
goto
#include <iostream.h>
#include <ctype.h>
void main() {
char ch; cout<<"O programa verifica se um inteiro e' capicua.\n";
do { unsigned long number, invNumber = 0;
cout <<"Escreva o inteiro - "; cin >> number;
while ( number ) {
int digit = (int) (number % 10);
if ( (number/=10) == invNumber ||
E´capicu
number == (invNumber = invNumber * 10 + digit)) {
a? cout << "Muito bem, o inteiro escrito";
goto endProgram;
}
}
cout<<"Nao e' capicua.\nQuer tentar de novo (S/N) ? ";
cin>>ch;
} while ( tolower(ch) == 's’ ); // Repetir até basta.
cout << "Por exemplo 12321";
endProgram:
cout << " e' capicua." << endl;
}

Iniciação à
linguagem C++
16

Muito obrigado pela atenção dispensada…!!!

2019
Elaborado por: Arsenio Carlos Pedro Cafuro Informatica-II 2016 18/09/19

Você também pode gostar