wstep do prog inst 3

program lab3_1;

{$mode objfpc}{$H+}

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Classes

{ you can add units after this };

const N=4 ;

type Tliczba=array[0..N-1] of 0..9;

var A,B,C:TLiczba;

i:integer;

function dod(a, b :Tliczba):Tliczba;

var suma,poz:integer;

begin

poz:=0;

for i:=0 to n-1 do

begin

suma:=A[i]+B[i]+poz;

if suma > 9 then

begin

suma:=suma-10;

poz:=1;

end

else poz:=0;

Result[i]:=suma;

end;

end;

function Pisz(c :TLiczba):Tliczba;

begin

for i:=N-1 downto 0 do write(C[i],' ');

end;

function CzytajA:TLiczba;

begin

for i:=0 to N-1 do

readln(Result[i]);

end;

function CzytajB:TLiczba;

begin

for i:=0 to N-1 do

readln(Result[i]);

end;

begin

Pisz( dod(CzytajA, CzytajB));

readln;

end.

program lab3_2;

{$mode objfpc}{$H+}

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Classes

{ you can add units after this };

var

s,Xs:single;

r,Xr:real;

x,Xx:extended;

{$IFDEF WINDOWS}{$R lab3_2.rc}{$ENDIF}

begin

s:=1; Xs:=(s/2);

while Xs<>0 do

begin

s:=Xs;

Xs:=s/2;

end;

r:=1; Xr:=r/2;

while Xr<>0 do

begin

r:=Xr;

Xr:=r/2;

end;

X:=1; Xx:=x/2;

while Xx<>0 do

begin

X:=Xx;

Xx:=x/2;

end;

writeln(s,r,x);

readln;

end.

program DuzeZnaki;

{$APPTYPE CONSOLE}

uses

SysUtils;

const

H = 5;

type

TZnak = array[1..H] of string;

TWzorZn = array ['A'..'Z'] of TZnak;

const

WzorZn :TWzorZn =(

(

(

‘ ## ‘,

‘# # ‘,

‘# # ‘,

‘#### ‘,

‘# # ‘

), (
………. Do Z

)

);

var

s :string;

a,b :integer;

begin

writeln('napis (duze litery):');

readln(s);

for a:=1 to length(s) do

if (((s[a]) < ('A')) OR ((s[a]) > ('Z'))) then s:='';

if s<>'' then

for b:=1 to H do

begin

for a:=1 to length(s) do

write(WzorZN[s[a],b]);

writeln('');

end;

write('Nacisnij ENTER...'); readln;

end.

program lab3_4;

{$mode objfpc}{$H+}

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Classes

{ you can add units after this };

var a : integer;

function silnia(x : integer) : integer;

begin

if x=1 then silnia:=1

else silnia:=x*silnia(x-1);

end;

{$IFDEF WINDOWS}{$R lab3_4.rc}{$ENDIF}

begin

write('podaj liczbe: '); readln(a);

writeln('silnia wynosi: ', silnia(a));

readln;

end.

program lab3_5;

{$mode objfpc}{$H+}

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Classes

{ you can add units after this };

var rzymska :string;

function cyfra(cyfra_rzymska:char):longint;

begin

case cyfra_rzymska of

'I','i' : Result:=1;

'V','v' : Result:=5;

'X','x' : Result:=10;

'L','l' : Result:=50;

'C','c' : Result:=100;

'D','d' : Result:=500;

'M','m' : Result:=1000;

else Result:=0;

end;

end;

function rzymska2arabska(liczba_rzymska:string):longint;

var i,akt,pop,wynik :LongInt;

begin

wynik:=0;

pop:=0;

for i:=length(liczba_rzymska) downto 1 do begin

akt:=cyfra(liczba_rzymska[i]);

if (akt=0) then writeln('Niepoprawna liczba!!!!');

if pop > akt then wynik:=wynik-akt

else wynik:=wynik+akt;

pop:=akt;

end;

Result:=wynik;

end;

{$IFDEF WINDOWS}{$R lab3_5.rc}{$ENDIF}

begin

write('Podaj liczbe rzymska:');

Readln(rzymska);

writeln(rzymska2arabska(rzymska));

readln;

end.

program lab3_6;

{$mode objfpc}{$H+}

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Classes

{ you can add units after this };

type

TMiesiac=1..12;

TDzien =1..31;

TDzTyg =0..6;

const dt:array[0..6]of string[12]=('Niedziela','Poniedzialek','Wtorek', 'Sroda','Czwartek','Piatek','Sobota');

function przestepny(rok:longint):boolean;

begin

przestepny:=false;

if ((rok mod 400)=0) or (((rok mod 4)=0) and ((rok mod 100)<>0))

then przestepny:=true;

end;

function dni_mies(m:TMiesiac):TDzien;

begin

case m of

1,3,5,7,8,10,12 :Result:=31;

2 :Result:=28 ;

else Result:=30;

end;

end;

function dni_tyg(DzTyg:TdzTyg):string;

begin

case DzTyg of

0 : dni_tyg:='Niedziela';

1 : dni_tyg:='Poniedzialek';

2 : dni_tyg:='Wtorek';

3 : dni_tyg:='Sroda';

4 : dni_tyg:='Czwartek';

5 : dni_tyg:='Piatek';

6 : dni_tyg:='Sobota';

end;

End;

var r,dni,i :longint;

d: TDzien;

m:TMiesiac;

DzTyg: TDzTyg;

{$IFDEF WINDOWS}{$R lab3_6.rc}{$ENDIF}

begin

write('podaj rok=');readln(r);

write('podaj miesiac=');readln(m);

write('podaj dzien=');readln(d);

dni:=d;

for i:=1 to m-1 do dni:=dni+dni_mies(i);

if przestepny(r)and(m>2) then dni:=dni+1;

for i:=1800 to r-1 do if (przestepny(i)) then dni:=dni+366

else dni:=dni+365;

DzTyg:=(dni+2) mod 7;

writeln('To: ',dni_tyg(DzTyg));

readln;

end.


Wyszukiwarka

Podobne podstrony:
pradygmaty prog, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
Wstęp do psychopatologii zaburzenia osobowosci materiały
Tajemnica ludzkiej psychiki wstep do psychologii
Wstęp do Kulturoznawstwa 6 7
Wstęp do informatyki z architekturą systemów kompuerowych, Wstęp
Wstęp do XHTML
MTR 2009 Wstep do mechatr cz 3 (2)
recenzja filmu, pedagogika, semestr I, wstęp do pedagogiki, inne
Wstęp do teorii tłumaczeń 31.05.2010, moczulski
NORMATYWIZM PRAWNICZY, Sem. 1, Wstęp do prawoznawstwa
Przedmiot i metody historii sztuki, ODK, wstęp do historii sztuki
literaturoznawstwo - kolokwium p. Dębska-Kossakowska, Kulturoznawstwo UŚ, Semestr I, Wstęp do litera
test z przedmiotu wstep do nauki o panstwie i prawie (1), testy, wstęp
rozdział 10 Tożsamość indywidualna i zbiorowa, Wstęp do filozofii współczesnej A.Nogal
TEORIE WZROSTU GOSPODARCZEGO, Prawo, Wstęp do ekonomii i przedsiębiorczości, MAKROEKONOMIA

więcej podobnych podstron