Program Čísla a kružnice

Do tejto sekcie môžte pridávať vaše otázky a problémy, ktoré máte pri programovaní v Lazaruse.

Program Čísla a kružnice

Poslaťod Aďa » Pon 16. Apr 2012 14:52:30

Keďže ste na poslednej hodine viacerí chýbali, odporúčam Vám pozrieť si tento program, v ktorom máte zhrnuté všetky príkazy, ktoré sme doteraz preberali.

Tento program Vám po zadaní štvorciferného čísla zobrazí kružnicu a číslo, ktoré ste zadali napíše naopak + vygeneruje sám jedno štvorciferné číslo.

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls;

type

{ TForm1 }

TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure Label2Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;

var
Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.Label2Click(Sender: TObject);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
var I,X,Cislo1,Cislo2,Prevratene,Cislo3,Cifra,Sucet :Integer;
begin
Randomize;
Cislo1:=0;
Cislo2:=StrToInt(Edit1.Text);
Prevratene:=0;
Sucet:=0;
Image1.Canvas.Brush.Color:=clWhite;

//Generovanie náhodného 4-ciferného čísla
for I:=1 to 4 do
Begin
X:=Random(9)+1;
Cislo1:=10*Cislo1+X;
end;
Image1.Canvas.TextOut(10,140,'Vygeneroval som číslo : '+IntToStr(Cislo1));

//Vytvorenie prevráteného 4-ciferného čísla zo vstupného riadku
for I:=1 to 4 do
Begin
Prevratene:=Prevratene*10+Cislo2 mod 10;
Cislo2:=Cislo2 div 10;
end;
Image1.Canvas.TextOut(10,160,'Tvoje prevrátené číslo je: '+IntToStr(Prevratene));

//Vytvorenie nového prevráteného 8-ciferného čísla
Cislo3:=Cislo1*10000+Prevratene;
Image1.Canvas.TextOut(10,180,'Nové číslo je: '+IntToStr(Cislo3));

//Vypočítame ciferný súčet nového 8-ciferného čísla
for I:=1 to 8 do
Begin
Cifra:=Cislo3 mod 10;
Cislo3:=Cislo3 div 10;
Sucet:=Sucet+Cifra;
end;
Image1.Canvas.TextOut(10,200,'Ciferný súčet nového čísla je: '+IntToStr(Sucet));

//Nakreslenie sústredných kružníc
for I:=1 to (Sucet mod 7) do
Begin
Image1.Canvas.Brush.Color:=RGBToColor(Random(255), Random(255), Random(255));
Image1.Canvas.Ellipse(10+I*10,10+I*10,130-I*10,130-I*10);
end;
end;

procedure TForm1.Label3Click(Sender: TObject);
begin

end;

initialization
{$I Unit1.lrs}

end.
Obrázok užívateľa
Aďa
Administrátor
 
Príspevky: 62
Registrovaný: Uto 14. Feb 2012 18:29:57

Späť na Programovanie v Lazaruse

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

cron