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;
}
//---------------------------------------------------------------------------
|
HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO |