nValor com nAlvo. Caso tenha digitado o valor 5, surge o primeiro loop com a seguinte questao: 1 e menor ou igual a 5? Como a resposta e true, verdadeira, o loop continua.Antes de multiplicar, o programa imprime os valores de nAcumulador e nValor, ambos igual a 1.Feito isto, o programa multiplica nAcumulador por nValor e atribui o resultado da multiplicacao para nAcumulador, que passa de 1 para 2.Em seguida, o loop recomeca com a seguinte pergunta: 2 e menor ou igual a 5? Como a resposta ainda e true, verdadeira, o loop continua.O loop continua ate que nValor chegue a 6, deixando de ser menor ou igual a 5 digitado pelo usuario.Desta forma, o controle passa para a primeira declaracao feita apos a chave de fechamento } e imprime o resultado final.Caso usuario digite 0, o controle vai direto para a instrucao apos a chave de fechamento } e o loop nao sera executado nenhuma vez. Isto por que, nValor e menor ou igual a 0 e a declaracao foi falsa. Para interromper um loop em execucao, o C++ oferece dois comandos de controle:Break: sai imediatamente do interior do loop.Continue: retorna o controle para o inicio do loop.Vamos ver os dois exemplos em um programa que multiplica valores positivos fornecidos pelo usurario, ate que seja digitado um numero negativo. O programa ignora zero.------------------------------------------------------------------------------------------------------------#include<cstdio>#include<cstdlib>#include<iostream>using namespace std;int main(int nNumberofArgs, char* pszArgs[]){ cout <<"Programa para multiplicar os numeros digitados\n\n" <<"Para parar o programa, digite um numero negativo\n\n" <<"O programa iguinora zero\n\n" << endl; int nProduto = 1; while(true) { int nValor; cout << "Digie o numero para multiplicar: "; cin >> nValor; if(nValor < 0) { cout << "Saindo. Tchau!\n\n" << endl; break; } if(nValor == 0) { cout << "O programa iguinora zero. Por gentileza, digite um numero positivo.\n\n" << endl; continue; } //Multiplicando e imprimindo o resultado no console. cout << nProduto << " * " << nValor; nProduto *= nValor; cout << " igual " << nProduto << endl; } system("PAUSE");return 0;}------------------------------------------------------------------------------------------------------------O programa comeca com o valor inicial de 1 no produto. Depois, avalia a expressao logica true. Como true e verdadeiro, o programa entra no loop e continua solicitando ao usuario outro numero para multiplicacao.Caso um valor negativo seja digitado, o programa envia a frase de despedida antes de executar o break, que passa o controle para fora do loop.Caso o valor digitado seja zero, o programa notifica o usuario e retorna o controle para continue assim, o usuario pode continuar digitando.Loops Aninhados.O corpo de um loop ponde conter outro loop que e conhecido como nested loops ou loop alinhado.O lopo alinhado deve executar totalmente atraves do loop externo.Vamos escrever um programa que utiliza o loop alinhado para criar uma tabela de multiplicacao.Cada posicao da tabela sera apenas a fileira de numero, vezes a coluna de numero.------------------------------------------------------------------------------------------------------------#include<cstdio>#include<cstdlib>#include<iostream>using namespace std;int main(int nNumberofArgs, char* pszArgs[]){ //Mostrando a coluna int nColuna = 0; cout << " "; while(nColuna < 0) { cout.width(2); //Setando uma constante para imprimir no console dois caracteres ou dois digitos. cout << nColuna << " "; // Agora, imprimindo