O loop for


Retornando à idéia de que poderíamos comparar os laços com uma roda-gigante, o laço for funcionaria do seguinte modo: O aparelho começaria a girar e cada volta seria registrada num contador (ou catraca). Quando o aparelho atingisse o número de voltas determinado no controlador da catraca (na condição), o aparelho automaticamente se desligaria.


Isso significa que quando possuímos prévio conhecimento acerca do número de vezes que um loop deverá ser executado (ver while), a melhor opção será o laço for.


A sintaxe do for é um cabeçalho onde encontramos o valor inicial, a condição e a atualização separados por ponto e vírgula dentro de um par de parênteses, antecedendo o corpo do laço que contém os comandos da instrução:


for( valor inicial; condição; atualização)

comando;


Geralmente o valor inicial, também conhecido como inicialização, é uma instrução de atribuição a uma variável (geralmente inteira), que será executado apenas uma vez no início do loop.


A condição é uma instrução que é avaliada sempre que o loop inicia ou reinicia. Se o valor retornado pela condição for verdadeiro (ver while), as instruções do corpo do laço são executadas; caso contrário, se falsa, a execução do programa sai do loop e vai para a instrução seguinte.


A atualização contém a instrução de acordo com que a variável será alterada cada vez que o loop repetir. Geralmente a variável será incrementada. exemplo:


for(int i = 0; i < 100; i++);


O corpo do loop contém as instruções que serão processadas a cada giro do laço.

//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include <math.h> // biblioteca para floor
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
/*função para arredondar casas decimais*/
double Arredonda(double valor, int casas_dec);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
/*variável para receber os números inteiros*/
AnsiString a = InputBox("Caixa de Valores", "Digite um Valor", "");

/*variável para guardar o número de casas decimais*/
AnsiString b = InputBox("Caixa de casas decimais", "Digite as casas decimais", "");

/*chama a função que arredonda casas decimais, atribuindo o valor retornado a b*/
b = Arredonda(StrToFloat(a), StrToInt(b));

/*exibe o valor retornado, já com as casas decimais arredondadas*/
ShowMessage(b);
}
//---------------------------------------------------------------------------

double Arredonda(double valor, int casas_dec)
{
int i = 1;

/* j será incrementada até o número de casas decimais*/
for(int j = 1; j <= casas_dec; j++)
i*= 10; // o mesmo que: i = i * 10;

// floor é uma função matemática usada para arredondar cifras
return floor(valor * i + 0.5) / i;
}

//---------------------------------------------------------------------------

anterior

índice

próxima



HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO