Asignación y aritmética en Delphi
Un cobrador de autobús lleva la cuenta de quienes suben y parte una tarifa en dólares y centavos.
program AssignmentOps;
uses SysUtils;
var
Riders, Boarding, Fare, Dollars, Cents: Integer;
begin
Riders := 12; // := stores a value
Boarding := 5;
Riders := Riders + Boarding; // Delphi has no += operator
Inc(Riders, 3); // Inc adds, Dec subtracts
Dec(Riders);
Fare := 275;
Dollars := Fare div 100; // div is integer division
Cents := Fare mod 100; // mod is the leftover remainder
WriteLn(Format('riders on board: %d', [Riders]));
WriteLn(Format('fare of %d cents is %d dollars %d cents',
[Fare, Dollars, Cents]));
end.
Cómo funciona
Riders := Riders + Boarding;hace las veces del operador+=que Delphi no tiene.Inc(Riders, 3)suma tres yDec(Riders)devuelve uno.Fare div 100es la división entera yFare mod 100es el resto que queda.
Palabras clave y builtins usados aquí
DecFormatIncIntegerWriteLnbegindivendmodprogramusesvar
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 564
- Tokens
- 103
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 77 segundos.
Paso 3 de 3 en Programas y variables; paso 3 de 27 en Fundamentos del lenguaje.