Komplexný program ktorý preskúša z matematických vzorcov

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategória: KMP (Klub mladých programátorov)

Autor: Rop
Program: Matematika.pas
Súbor exe: Matematika.exe

Komplexný program ktorý preskúša z matematických vzorcov.
{ MATEMATIKA.PAS                                  Copyright (c) Rop }
{ Komplexny program ktory preskusa z matematickych vzorcov.         }
{                                                                   }
{ Datum:26.04.2007                             http://www.trsek.com }
 
program rop;
uses crt;
var hodnota,hodnota2:integer;
    spravne,zle:real;
 
 
procedure menu1(var hodnota2:integer);
var key:char;
    i:integer;
    stlac:boolean;
begin
  clrscr;
  textcolor(green);
  writeln('Pytagorova veta');
  textcolor(white);
  writeln('Kruh a kruznica');
  writeln('Telesa');
  writeln('....................');
  writeln('Koniec');
      i:=1;
  repeat;
  key:=readkey;
  case ord(key) of
  0: begin
	key:=readkey;
	case ord(key) of
		75,72:
		 begin
		   clrscr;
		    if i>1 then dec(i);
			case i of
			1:
                         begin
                          textcolor(green);
                        writeln('Pytagorova veta');
                        textcolor(white);
                        writeln('Kruh a kruznica');
                        writeln('Telesa');
                        writeln('....................');
                        writeln('Koniec');
                           end;
                        2:
                         begin
                        writeln('Pytagorova veta');
                        textcolor(green);
                        writeln('Kruh a kruznica');
                        textcolor(white);
                        writeln('Telesa');
                        writeln('....................');
                        writeln('Koniec');
                           end;
                        3:
                         begin
                        writeln('Pytagorova veta');
                        writeln('Kruh a kruznica');
                        textcolor(green);
                        writeln('Telesa');
                        textcolor(white);
                        writeln('....................');
                        writeln('Koniec');
                           end;
                        4:
                        begin
                        writeln('Pytagorova veta');
                        writeln('Kruh a kruznica');
                        writeln('Telesa');
                        writeln('....................');
                        textcolor(green);
                        writeln('Koniec');
                        textcolor(white);
                        end;
                        end;
				end; {Sipka hore}
 
			77,80:
			     begin
			      clrscr;
				if i<4 then inc(i);
                                 case i of
			1:
                         begin
                          textcolor(green);
                        writeln('Pytagorova veta');
                        textcolor(white);
                        writeln('Kruh a kruznica');
                        writeln('Telesa');
                        writeln('....................');
                        writeln('Koniec');
                           end;
                        2:
                         begin
                        writeln('Pytagorova veta');
                        textcolor(green);
                        writeln('Kruh a kruznica');
                        textcolor(white);
                        writeln('Telesa');
                        writeln('....................');
                        writeln('Koniec');
                           end;
                        3:
                         begin
                        writeln('Pytagorova veta');
                        writeln('Kruh a kruznica');
                        textcolor(green);
                        writeln('Telesa');
                        textcolor(white);
                        writeln('....................');
                        writeln('Koniec');
                           end;
                        4:
                        begin
                        writeln('Pytagorova veta');
                        writeln('Kruh a kruznica');
                        writeln('Telesa');
                        writeln('....................');
                        textcolor(green);
                        writeln('Koniec');
                        textcolor(white);
                        end;
                        end;
				end; {Sipka dole}
				end;
         	end;
      		13: stlac:= TRUE; {Stlaceny ENTER}
    		end;
 
	until(stlac=true);
	  hodnota2:=i;
end;
 
 
procedure menu2(hodnota:integer; var hodnota2:integer);
var key:char;
    i:integer;
    stlac:boolean;
begin
  clrscr;
  textcolor(green);
  writeln('Vypocet prepony');
  textcolor(white);
  writeln('Vypocet odvesny');
  writeln('Vypocet odvesny a prepony');
  writeln('Spat');
  writeln('....................');
  writeln('Koniec');
  i:=1;
  repeat;
  key:=readkey;
  case ord(key) of
  0: begin
	key:=readkey;
	case ord(key) of
		75,72:
		 begin
		   clrscr;
		    if i>1 then dec(i);
			case i of
			1:
                         begin
                          clrscr;
                          textcolor(green);
                          writeln('Vypocet prepony');
                          textcolor(white);
                          writeln('Vypocet odvesny');
                          writeln('Vypocet odvesny a prepony');
                          writeln('Spat');
                          writeln('....................');
                          writeln('Koniec');;
                           end;
                          2:
                          begin
                           clrscr;
                           writeln('Vypocet prepony');
                           textcolor(green);
                           writeln('Vypocet odvesny');
                           textcolor(white);
                           writeln('Vypocet odvesny a prepony');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                          end;
                          3:
                          begin
                           clrscr;
                           writeln('Vypocet prepony');
                           writeln('Vypocet odvesny');
                           textcolor(green);
                           writeln('Vypocet odvesny a prepony');
                           textcolor(white);
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                          end;
 
                          4:
                          begin
                            clrscr;
                           writeln('Vypocet prepony');
                           writeln('Vypocet odvesny');
                           writeln('Vypocet odvesny a prepony');
                           textcolor(green);
                           writeln('Spat');
                           textcolor(white);
                           writeln('....................');
                           writeln('Koniec');
                          end;
                          5:
                          begin
                            clrscr;
                           writeln('Vypocet prepony');
                           writeln('Vypocet odvesny');
                           writeln('Vypocet odvesny a prepony');
                           writeln('Spat');
                           writeln('....................');
                           textcolor(green);
                           writeln('Koniec');
                           textcolor(white);
                          end;
                          end;
				end; {Sipka hore}
 
                          77,80:
			     begin
			      clrscr;
				if i<5 then inc(i);
                                 case i of
                                    1:
                         begin
                          clrscr;
                          textcolor(green);
                          writeln('Vypocet prepony');
                          textcolor(white);
                          writeln('Vypocet odvesny');
                          writeln('Vypocet odvesny a prepony');
                          writeln('Spat');
                          writeln('....................');
                          writeln('Koniec');;
                           end;
                          2:
                          begin
                           clrscr;
                           writeln('Vypocet prepony');
                           textcolor(green);
                           writeln('Vypocet odvesny');
                           textcolor(white);
                           writeln('Vypocet odvesny a prepony');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                          end;
                          3:
                          begin
                           clrscr;
                           writeln('Vypocet prepony');
                           writeln('Vypocet odvesny');
                           textcolor(green);
                           writeln('Vypocet odvesny a prepony');
                           textcolor(white);
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                          end;
 
                          4:
                          begin
                            clrscr;
                           writeln('Vypocet prepony');
                           writeln('Vypocet odvesny');
                           writeln('Vypocet odvesny a prepony');
                           textcolor(green);
                           writeln('Spat');
                           textcolor(white);
                           writeln('....................');
                           writeln('Koniec');
                          end;
                          5:
                          begin
                            clrscr;
                           writeln('Vypocet prepony');
                           writeln('Vypocet odvesny');
                           writeln('Vypocet odvesny a prepony');
                           writeln('Spat');
                           writeln('....................');
                           textcolor(green);
                           writeln('Koniec');
                           textcolor(white);
                          end;
                           end;
				end; {Sipka dole}
				end;
         	end;
      		13: stlac:= TRUE; {Stlaceny ENTER}
    		end;
 
	until(stlac=true);
	case i of
	1: hodnota2:=5;
	2: hodnota2:=6;
	3: hodnota2:=7;
	4: hodnota2:=9;
	5: hodnota2:=4;
 
         end;
 
end;
 
procedure menu3(hodnota:integer; var hodnota2:integer);
var key:char;
    i:integer;
    stlac:boolean;
begin
  clrscr;
  textcolor(green);
  writeln('Vypocet dlzky kruznice a obvodu kruhu');
  textcolor(white);
  writeln('Vypocet obluku kruznice');
  writeln('Vypocet kruhoveho vyseku');
  writeln('Vypocet obsahu kruhu');
  writeln('Spat');
  writeln('....................');
  writeln('Koniec');
  i:=1;
  repeat;
  key:=readkey;
  case ord(key) of
  0: begin
	key:=readkey;
	case ord(key) of
		75,72:
		 begin
		   clrscr;
		    if i>1 then dec(i);
			case i of
                         1:
                          begin
                           clrscr;
                           textcolor(green);
                           writeln('Vypocet dlzky kruznice a obvodu kruhu');
                           textcolor(white);
                           writeln('Vypocet obluku kruznice');
                           writeln('Vypocet kruhoveho vyseku');
                           writeln('Vypocet obsahu kruhu');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                          end;
                         2:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            textcolor(green);
                            writeln('Vypocet obluku kruznice');
                            textcolor(white);
                            writeln('Vypocet kruhoveho vyseku');
                            writeln('Vypocet obsahu kruhu');
                            writeln('Spat');
                            writeln('....................');
                            writeln('Koniec');
                          end;
                         3:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            textcolor(green);
                            writeln('Vypocet kruhoveho vyseku');
                            textcolor(white);
                            writeln('Vypocet obsahu kruhu');
                            writeln('Spat');
                            writeln('....................');
                            writeln('Koniec');
                          end;
                         4:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            writeln('Vypocet kruhoveho vyseku');
                            textcolor(green);
                            writeln('Vypocet obsahu kruhu');
                            textcolor(white);
                            writeln('Spat');
                            writeln('....................');
                            writeln('Koniec');
                          end;
 
                         5:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            writeln('Vypocet kruhoveho vyseku');
                            writeln('Vypocet obsahu kruhu');
                            textcolor(green);
                            writeln('Spat');
                            textcolor(white);
                            writeln('....................');
                            writeln('Koniec');
                           end;
                          6:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            writeln('Vypocet kruhoveho vyseku');
                            writeln('Vypocet obsahu kruhu');
                            writeln('Spat');
                            writeln('....................');
                            textcolor(green);
                            writeln('Koniec');
                            textcolor(white);
                           end;
                          end;
				end; {Sipka hore}
 
                          77,80:
			     begin
			      clrscr;
				if i<6 then inc(i);
                                 case i of
                                 1:
                          begin
                           clrscr;
                           textcolor(green);
                           writeln('Vypocet dlzky kruznice a obvodu kruhu');
                           textcolor(white);
                           writeln('Vypocet obluku kruznice');
                           writeln('Vypocet kruhoveho vyseku');
                           writeln('Vypocet obsahu kruhu');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                          end;
                         2:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            textcolor(green);
                            writeln('Vypocet obluku kruznice');
                            textcolor(white);
                            writeln('Vypocet kruhoveho vyseku');
                            writeln('Vypocet obsahu kruhu');
                            writeln('Spat');
                            writeln('....................');
                            writeln('Koniec');
                          end;
                         3:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            textcolor(green);
                            writeln('Vypocet kruhoveho vyseku');
                            textcolor(white);
                            writeln('Vypocet obsahu kruhu');
                            writeln('Spat');
                            writeln('....................');
                            writeln('Koniec');
                          end;
 
                         4:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            writeln('Vypocet kruhoveho vyseku');
                            textcolor(green);
                            writeln('Vypocet obsahu kruhu');
                            textcolor(white);
                            writeln('Spat');
                            writeln('....................');
                            writeln('Koniec');
                          end;
 
                         5:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            writeln('Vypocet kruhoveho vyseku');
                            writeln('Vypocet obsahu kruhu');
                            textcolor(green);
                            writeln('Spat');
                            textcolor(white);
                            writeln('....................');
                            writeln('Koniec');
                           end;
                         6:
                          begin
                            clrscr;
                            writeln('Vypocet dlzky kruznice a obvodu kruhu');
                            writeln('Vypocet obluku kruznice');
                            writeln('Vypocet kruhoveho vyseku');
                            writeln('Vypocet obsahu kruhu');
                            writeln('Spat');
                            writeln('....................');
                            textcolor(green);
                            writeln('Koniec');
                            textcolor(white);
                          end;
                          end;
				end; {Sipka dole}
				end;
         	end;
      		13: stlac:= TRUE; {Stlaceny ENTER}
    		end;
 
	until(stlac=true);
	case i of
	1: hodnota2:=10;
	2: hodnota2:=11;
	3: hodnota2:=12;
	4: hodnota2:=14;
	5: hodnota2:=9;
	6: hodnota2:=4;
	end;
	end;
 
 
 
procedure menu4(hodnota:integer; var hodnota2:integer);
var key:char;
    i:integer;
    stlac:boolean;
begin
  clrscr;
  textcolor(green);
  writeln('Vypocet objemu kocky');
  textcolor(white);
  writeln('Vypocet povrchu kocky');
  writeln('Vypocet objemu kvadra');
  writeln('Vypocet povrch kvadra');
  writeln('Vypocet objemu valca');
  writeln('Vypocet povrchu valca');
  writeln('Vypocet obejemu kuzela');
  writeln('Vypocet povrchu kuzela');
  writeln('Vypocet objemu gule');
  writeln('Vypocet gulovej plochy');
  writeln('Spat');
  writeln('....................');
  writeln('Koniec');
  i:=1;
  repeat;
  key:=readkey;
  case ord(key) of
  0: begin
	key:=readkey;
	case ord(key) of
		75,72:
		 begin
		   clrscr;
		    if i>1 then dec(i);
			case i of
			1:
			begin
                           clrscr;
                           textcolor(green);
                           writeln('Vypocet objemu kocky');
                           textcolor(white);
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         2:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           textcolor(green);
                           writeln('Vypocet povrchu kocky');
                           textcolor(white);
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         3:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           textcolor(green);
                           writeln('Vypocet objemu kvadra');
                           textcolor(white);
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         4:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           textcolor(green);
                           writeln('Vypocet povrch kvadra');
                           textcolor(white);
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         5:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           textcolor(green);
                           writeln('Vypocet objemu valca');
                           textcolor(white);
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         6:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           textcolor(green);
                           writeln('Vypocet povrchu valca');
                           textcolor(white);
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
 
                        7:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           textcolor(green);
                           writeln('Vypocet obejemu kuzela');
                           textcolor(white);
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         8:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           textcolor(green);
                           writeln('Vypocet povrchu kuzela');
                           textcolor(white);
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         9:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           textcolor(green);
                           writeln('Vypocet objemu gule');
                           textcolor(white);
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         10:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           textcolor(green);
                           writeln('Vypocet gulovej plochy');
                           textcolor(white);
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
 
                        11:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Vypocet povrchu a objemu telies');
                           textcolor(green);
                           writeln('Spat');
                           textcolor(white);
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         12:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           textcolor(green);
                           writeln('Koniec');
                           textcolor(white);
                         end;
                         end;
				end; {Sipka hore}
 
                          77,80:
			     begin
			      clrscr;
				if i<12 then inc(i);
                                 case i of
                                 1:
			begin
                           clrscr;
                           textcolor(green);
                           writeln('Vypocet objemu kocky');
                           textcolor(white);
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         2:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           textcolor(green);
                           writeln('Vypocet povrchu kocky');
                           textcolor(white);
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         3:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           textcolor(green);
                           writeln('Vypocet objemu kvadra');
                           textcolor(white);
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         4:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           textcolor(green);
                           writeln('Vypocet povrch kvadra');
                           textcolor(white);
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         5:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           textcolor(green);
                           writeln('Vypocet objemu valca');
                           textcolor(white);
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         6:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           textcolor(green);
                           writeln('Vypocet povrchu valca');
                           textcolor(white);
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
 
                         7:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           textcolor(green);
                           writeln('Vypocet obejemu kuzela');
                           textcolor(white);
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                        8:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           textcolor(green);
                           writeln('Vypocet povrchu kuzela');
                           textcolor(white);
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         9:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           textcolor(green);
                           writeln('Vypocet objemu gule');
                           textcolor(white);
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         10:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           textcolor(green);
                           writeln('Vypocet gulovej plochy');
                           textcolor(white);
                           writeln('Spat');
                           writeln('....................');
                           writeln('Koniec');
                         end;
 
                         11:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           textcolor(green);
                           writeln('Spat');
                           textcolor(white);
                           writeln('....................');
                           writeln('Koniec');
                         end;
                         12:
                         begin
                           clrscr;
                           writeln('Vypocet objemu kocky');
                           writeln('Vypocet povrchu kocky');
                           writeln('Vypocet objemu kvadra');
                           writeln('Vypocet povrch kvadra');
                           writeln('Vypocet objemu valca');
                           writeln('Vypocet povrchu valca');
                           writeln('Vypocet obejemu kuzela');
                           writeln('Vypocet povrchu kuzela');
                           writeln('Vypocet objemu gule');
                           writeln('Vypocet gulovej plochy');
                           writeln('Spat');
                           writeln('....................');
                           textcolor(green);
                           writeln('Koniec');
                           textcolor(white);
                         end;
                         end;
				end; {Sipka dole}
				end;
         	end;
      		13: stlac:= TRUE; {Stlaceny ENTER}
    		end;
 
	until(stlac=true);
	case i of
	1:hodnota2:=17;
	2:hodnota2:=18;
	3:hodnota2:=19;
	4:hodnota2:=20;
	5:hodnota2:=21;
	6:hodnota2:=22;
	7:hodnota2:=25;
	8:hodnota2:=26;
	9:hodnota2:=27;
	10:hodnota2:=28;
	11:hodnota2:=9;
	12:hodnota2:=4;
        end;
        end;
 
procedure prep(var spravne,zle:real);
    var d,g,s,tvojv:real;
        a,b,c,zaokruhlene:real;
        i,k:integer;
        skey,key:char;
        stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      a:=trunc(random(21));
      b:=trunc(random(21));
      until((a>0)and(b>0));
      d:=a;
      g:=b;
      a:=d*d;
      b:=g*g;
      s:=a+b;
      c:=sqrt (s);
 
      c:=c*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (c);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  c:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
      writeln('Vypocitajte preponu pravouhleho trojuholnika,ak dlzka odvesny je a=',d:0:2);
      writeln('a dlzka druhej odvesny je b=',g:0:2);
      write('Vysledok je ');
      readln(tvojv);
 
      repeat
      if tvojv=c then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<c) or (tvojv>c) then begin
      writeln('nespravne! spravny vysledok mal byt:',c:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
 
      until(stlac=true);
    end;
         end;{procedura na vypocet prepony}
 
        procedure odv(var spravne,zle:real);
    var d,g,s,tvojv:real;
        i,k:integer;
        a,b,c,zaokruhlene:real;
        skey,key:char;
        stlac:boolean;
        begin
          clrscr;
          write('Zadajte pocet prikladov:');
          read(k);
          spravne:=0;
          zle:=0;
          i:=0;
      for i:=1 to k do begin
        clrscr;
        repeat
      randomize;
      a:=trunc(20*random);
      c:=trunc(20*random);
      until((a>0)and(c>0));
      d:=a;
      g:=c;
      a:=d*d;
      c:=g*g;
      s:=a-c;
      b:=sqrt(s);
 
      b:=b*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (b);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  b:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
  writeln('Vypocitaj odvesnu provuhleho trojuhlika,ked pozname dlzku odvsny a=',d:0:2);
  writeln('a dlzku prepony c=',g:0:2);
  write('Vysledok je ');
        readln(tvojv);
 
      repeat
      if tvojv=b then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<b) or (tvojv>b) then begin
      writeln('nespravne! spravny vysledok mal byt:',b:0:2);
      zle:=zle+1;
      end;
 
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=True);
      end;
        end;{procedura na vypocet odvesny}
 
        procedure pad(var spravne,zle:real);
    var d,g,s,tvojv:real;
        a,b,c,zaokruhlene:real;
        i,k,l:integer;
        skey,key:char;
        stlac:boolean;
        begin
          clrscr;
          repeat
          clrscr;
          write('Zadajte pocet prikladov:');
          read(k);
          until(k>0);
          spravne:=0;
          zle:=0;
          for i:=1 to k do
          begin
          clrscr;
          randomize;
          l:=trunc(2*random);
          case l of
          1:
          begin
            repeat
      randomize;
      a:=trunc(20*random);
      b:=trunc(20*random);
      until((a>0)and(b>0));
      d:=a;
      g:=b;
      a:=d*d;
      b:=g*g;
      s:=a+b;
      c:=sqrt (s);
 
      c:=c*100;{ posunutie desatinej ciarky o dve miesta}
      zaokruhlene:=round (c);{samotne zaokruhlenie}
      zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
      c:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
      writeln('Vypocitajte preponu pravouhleho trojuholnika,ak dlzka odvesny je a=',d:0:2);
      writeln('a dlzka druhej odvesny je b=',g:0:2);
      write('Vysledok je ');
      readln(tvojv);
      repeat
      if tvojv=c then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<c) or (tvojv>c) then begin
      writeln('nespravne! spravny vysledok mal byt:',c:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
         end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
             until(stlac=true);
          end;
 
          2:
          begin
            repeat
      randomize;
      a:=trunc(random(20));
      c:=trunc(random(20));
      until((a>0)and(c>0));
      d:=a;
      g:=c;
      a:=d*d;
      c:=g*g;
      s:=a-c;
      b:=sqrt(s);
 
      b:=b*100;{ posunutie desatinej ciarky o dve miesta}
      zaokruhlene:=round (b);{samotne zaokruhlenie}
      zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
      b:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
  writeln('Vypocitaj odvesnu provuhleho trojuhlika,ked pozname dlzku odvsny a=',d:0:2);
  writeln('a dlzku prepony c=',g:0:2);
  write('Vysledok je ');
        readln(tvojv);
        repeat
      if tvojv=b then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<b) or (tvojv>b) then begin
      writeln('nespravne! spravny vysledok mal byt:',b:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
          until(stlac=True);
          end;
          end;{tato procedura sluzu nato aby program daval zmiesane priklady}
          end;
          end;
 
procedure obvod(spravne,zle:real);
 var r,o,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
   begin
          clrscr;
          repeat
          clrscr;
          write('Zadajte pocet prikladov:');
          read(k);
          until(k>0);
          spravne:=0;
          zle:=0;
          for i:=1 to k do
          begin
      clrscr;
        randomize;
        l:=trunc(2*random);
        case l of
        1: begin
        repeat;
        randomize;
        r:=trunc(20*random);
        until(r>0);
        o:=2*pi*r;
 
        o:=o*100;{posunutie desatinej ciarky}
        zaokruhlene:=round (o);{samotne zaokruhlenie}
        zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
        o:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte obvod kruhu, ak pozname polomer r=',r:0:0);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=o then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<o) or (tvojv>o) then begin
      writeln('nespravne! spravny vysledok mal byt:',o:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
 
     2:begin
        repeat;
        randomize;
        r:=trunc(20*random);
        until(r>0);
        o:=2*pi*r;
 
        o:=o*100;{posunutie desatinej ciarky}
        zaokruhlene:=round (o);{samotne zaokruhlenie}
        zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
        o:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte polomer kruhu, ak pozname obovod o=',o:0:0);
        write('Vysledok je ');
        readln(tvojv);
        repeat
      if tvojv=r then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<r) or (tvojv>r) then begin
      writeln('nespravne! spravny vysledok mal byt:',r:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
          until(stlac=True);
          end;
          end;
          end;
         end;{procedura na vypocet obvodu a polomeru kruhu}
 
procedure obluk(spravne,zle:real);
var o,r,uhol,tvojv,zaokruhlene:real;
     i,k,l:integer;
     skey,key:char;
     stlac:boolean;
begin
  clrscr;
  repeat;
  clrscr;
  write('Zadajte pocet prikladov:');
  read(k);
  until(k>0);
  spravne:=0;
  zle:=0;
  i:=0;
  for i:=1 to k do
  begin
  repeat;
  clrscr;
  randomize;
  r:=trunc(20*random);
  uhol:=trunc(360*random);
  until((r>0)and(uhol>0));
  o:=((2*Pi*r)/360)*uhol;
 
  o:=o*100;{posunutie desatinej ciarky}
  zaokruhlene:=round (o);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  o:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
  writeln('Vypocitajte velkost obluku kruznice ak pozaname polomer r=',r:0:0,' a velkost uhla ',uhol:0:0);
  write('Vysledok je ');
  readln(tvojv);
 
  repeat
      if tvojv=o then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<o) or (tvojv>o) then begin
      writeln('nespravne! spravny vysledok mal byt:',o:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
    until(stlac=true);
  end;
    end;{procedura na vypocet obluku kruznice}
 
 
procedure vysek(spravne,zle:real);
var s,r,uhol,tvojv,zaokruhlene:real;
     i,k,l:integer;
     skey,key:char;
     stlac:boolean;
begin
  clrscr;
  repeat;
  clrscr;
  write('Zadajte pocet prikladov:');
  read(k);
  until(k>0);
  spravne:=0;
  zle:=0;
  i:=0;
  for i:=1 to k do
  begin
  repeat;
  clrscr;
  randomize;
  r:=trunc(20*random);
  uhol:=trunc(360*random);
  until((r>0)and(uhol>0));
  s:=((pi*r*r)/360)*uhol;
 
  s:=s*100;{posunutie desatinej ciarky}
  zaokruhlene:=round (s);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  s:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
  writeln('Vypocitajte velkost obluku kruznice ak pozaname polomer r=',r:0:0,' a velkost uhla ',uhol);
  write('Vysledok je ');
  readln(tvojv);
 
  repeat
      if tvojv=s then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<s) or (tvojv>s) then begin
      writeln('nespravne! spravny vysledok mal byt:',s:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
    until(stlac=true);
    end;
end;{procedura na vzpocet kruhoveho vzseku}
 
procedure obsah(spravne,zle:real);
var s,r,tvojv,zaokruhlene:real;
     i,k,l:integer;
     skey,key:char;
     stlac:boolean;
   begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat;
      randomize;
      r:=trunc(20*random);
      until(r>0);
      s:=pi*r*r;
 
      s:=s*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (s);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  s:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte obejem ihlana,ak pozname polomer r=',r:0:2,' a vysku v=');
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=s then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<s) or (tvojv>s) then begin
      writeln('nespravne! spravny vysledok mal byt:',s:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet objemu ihlana}
 
procedure vkocka(spravne,zle:real);
var a,v,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      a:=trunc(30*random);
      until(a>0);
      v:=a*a*a;
 
      v:=v*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (v);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  v:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte objem kocky,ak dlzka strany je a=',a:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=v then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<v) or (tvojv>v) then begin
      writeln('nespravne! spravny vysledok mal byt:',v:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet objemu kocky}
 
         procedure skocka(spravne,zle:real);
var a,s,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      a:=trunc(30*random);
      until(a>0);
      s:=6*a*a;
 
      s:=s*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (s);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  s:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte povrch kocky,ak dlzka strany je a=',a:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=s then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<s) or (tvojv>s) then begin
      writeln('nespravne! spravny vysledok mal byt:',s:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet povrchu kocky}
 
procedure vkvadra(spravne,zle:real);
var a,b,c,v,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      a:=trunc(30*random);
      b:=trunc(30*random);
      c:=trunc(30*random);
      until((a>0)and(b>0)and(c>0));
      v:=a*b*c;
 
      v:=v*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (v);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  v:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte objem kvadra,ak dlzky stran su a=',a:0:2);
        writeln('                                           b=',b:0:2);
        writeln('                                           c=',c:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=v then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<v) or (tvojv>v) then begin
      writeln('nespravne! spravny vysledok mal byt:',v:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet objemu kvadra}
 
procedure skvadra(spravne,zle:real);
var a,b,c,s,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      a:=trunc(30*random);
      b:=trunc(30*random);
      c:=trunc(30*random);
      until((a>0)and(b>0)and(c>0));
      s:=2*((a*b)+(b*c)+(a*c));
 
      s:=s*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (s);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  s:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte povrch kvadra,ak dlzky stran su a=',a:0:2);
        writeln('                                           b=',b:0:2);
        writeln('                                           c=',c:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=s then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<s) or (tvojv>s) then begin
      writeln('nespravne! spravny vysledok mal byt:',s:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet povrchu kvadra}
 
procedure vvalca(spravne,zle:real);
var w,v,r,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      r:=trunc(30*random);
      w:=trunc(30*random);
      until((r>0)and(w>0));
      v:=pi*r*r*w;
 
      v:=v*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (v);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  v:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte objem valca,ak poname polomer r=',r:0:2,' a vysku v=',w:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=v then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<v) or (tvojv>v) then begin
      writeln('nespravne! spravny vysledok mal byt:',v:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet obejemu valca}
 
         procedure svalca(spravne,zle:real);
var w,s,r,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      r:=trunc(30*random);
      w:=trunc(30*random);
      until((r>0)and(w>0));
      s:=2*pi*r*r+2*pi*r*w;
 
      s:=s*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (s);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  s:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte povrch valca,ak pozname polomer r=',r:0:2,' a vysku v=',w:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=s then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<s) or (tvojv>s) then begin
      writeln('nespravne! spravny vysledok mal byt:',s:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet povrchu valca}
 
procedure vihlana(spravne,zle:real);
var v,a,b,w,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
      begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      a:=trunc(30*random);
      b:=trunc(30*random);
      w:=trunc(30*random);
      until((a>0)and(w>0)and(b>0));
      v:=((a*b)*w)/3;
 
      v:=v*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (v);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  v:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte obejem ihlana,ak pozname strany a=',a:0:2,', b=',b:0:2,' a vysku v=',w:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=v then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<v) or (tvojv>v) then begin
      writeln('nespravne! spravny vysledok mal byt:',v:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet objemu ihlana}
 
procedure vkuzel(spravne,zle:real);
var v,r,w,tvojv,zaokruhlene:real;
    i,k,l:integer;
    skey,key:char;
    stlac:boolean;
    begin
      clrscr;
      repeat
      clrscr;
      write('Zadajte pocet prikladov:');
      read(k);
      until(k>0);
      spravne:=0;
      zle:=0;
      i:=0;
      for i:=1 to k do
      begin
      clrscr;
      repeat
      randomize;
      r:=trunc(30*random);
      w:=trunc(30*random);
      until((r>0)and(w>0));
      v:=(pi*r*r*w)/3;
 
      v:=v*100;{ posunutie desatinej ciarky o dve miesta}
  zaokruhlene:=round (v);{samotne zaokruhlenie}
  zaokruhlene:=zaokruhlene/100;{posunutie desatinej ciarky naspat}
  v:=zaokruhlene;{tato cast programu mi zabezpecuje zaokruhlenie vysledku}
 
        writeln('Vypocitajte obejem ihlana,ak pozname polomer r=',r:0:2,' a vysku v=',w:0:2);
        write('Vysledok je ');
        readln(tvojv);
 
        repeat
      if tvojv=v then
      begin
        writeln('dobre');
        spravne:=spravne+1;
      end;
      if (tvojv<v) or (tvojv>v) then begin
      writeln('nespravne! spravny vysledok mal byt:',v:0:2);
      zle:=zle+1;
      end;
 
      writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
 
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
 
      until(stlac=true);
    end;
         end;{procedura na vypocet objemu kuzela}
 
 
        procedure vyhodnotenie(spravne,zle:real);
        var suma,priemer:real;
            key:char;
            stlac:boolean;
        begin
          clrscr;
          suma:=0;
          if spravne=0 then
          begin
            suma:=spravne+zle;
            writeln('Celkovo vypocitanych ',suma:0:0);
            writeln('Spravne vypocitane   ',spravne:0:0);
            writeln('Zle vypocitane       ',zle:0:0);
            writeln('Percentualne         0%');
           end;
          If zle=0 then
          begin
            suma:=spravne+zle;
            writeln('Celkovo vypocitanych ',suma:0:0);
            writeln('Spravne vypocitane   ',spravne:0:0);
            writeln('Zle vypocitane       ',zle:0:0);
            writeln('Percentualne         100%');
           end;
          if (Spravne>0)and(zle>0)then begin
        suma:=spravne+zle;
        priemer:=(suma/spravne)*100;
        writeln('Celkovo vypocitanych ',suma:0:0);
        writeln('Spravne vypocitane   ',spravne:0:0);
        writeln('Zle vypocitane       ',zle:0:0);
        writeln('Percento             ',priemer:0:2,'%');
               end;
 
        writeln('stlac ENTER');
      key:=readkey;
      case ord(key) of
           13: begin
              stlac:=true;
           end;
    end;{tato cast programu zabezpeci ze sa program zastavi na dobu, dokim nebude staceny ENTER}
    menu1(hodnota2);
    end;{tato procedura sluzi na vyhodnocenie vypocitanych prikladov}
 
procedure hodnotenie(hodnota2:integer);
begin
case hodnota2 of
 1:
  begin
    menu2(hodnota,hodnota2);
    hodnotenie(hodnota2);
  end;
 
 2:
  begin
   menu3(hodnota,hodnota2);
   hodnotenie(hodnota2);
 end;
 
3:
 begin
   menu4(hodnota,hodnota2);
   hodnotenie(hodnota2);
 end;
 
 4:
  begin
     exit;
 end;
 
5:
 begin
    prep(spravne,zle);
    vyhodnotenie(spravne,zle);
    menu1(hodnota2);
    hodnotenie(hodnota2);
 end;
 
 6:
  begin
   odv(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
    hodnotenie(hodnota2);
 end;
 
 7:
  begin
    pad(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
 end;
 
 8:
  begin
     hodnotenie(hodnota2);
 end;
 
 9:
  begin
   menu1(hodnota2);
   hodnotenie(hodnota2);
 end;
 
 10:
   begin
     obvod(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   11:
   begin
     obluk(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   12:
   begin
     vysek(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   14:
   begin
     obsah(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   17:
   begin
     vkocka(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   18:
   begin
     skocka(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   19:
   begin
     vkvadra(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   20:
   begin
     skvadra(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   21:
   begin
     vvalca(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   22:
   begin
     svalca(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   23:
   begin
     vihlana(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
   25:
   begin
     vkuzel(spravne,zle);
     vyhodnotenie(spravne,zle);
     menu1(hodnota2);
     hodnotenie(hodnota2);
   end;
 
 
  end;
  end;
 
procedure Start;
begin
menu1(hodnota2);
hodnotenie(hodnota2);
end;{procedura s ktorou to vsetko zacalo}
 
begin
  start;
end.