The Wayback Machine - https://web.archive.org/web/20080311092032/http://mpulko.tripod.com:80/pascal/
mpulko.tripod.com

Menu

Programi/download
· MooLAN
· Alifatske spojine
· FileSplit
· Anketa
· Aditivi E

Tutoriali/primeri
· C++
· JavaScript
· Linux in bash skripte
· VBA makri
· Shockwave igre
· java
· pascal/delphi
· php
· Hacking

Igre
· Kviz
· Ladjice
· IQ test
· Barvni test

Povezave/linki
· Linux
· VBA makri
· Povezave name
· wappy.to/mpulko

· Domov



pascal / delphi

Dinamično povezan seznam - realnih števil


// deklaracija elementa seznama
type kazalec=^element;
element=record
  vrednost: real;
  naslednji: kazalec;
end;

var
  prvi: kazalec=nil;  // kazalec na prvi element v seznamu
  zadnji: kazalec=nil;  // kazalec na zadnji element v seznamu
  temp: kazalec;  // pomožni kazalec

begin
  // vstavi novi element na začetek seznama
  new(temp);
  temp^.vrednost:=1.1;
  temp^.naslednji:=prvi;
  prvi:=temp;

  // vstavi novi element na konec seznama
  if zadnji=nil then  // če  je to prvi element seznama
  begin
    new(temp);
    temp^.vrednost:=1.2;
    temp^.naslednji:=prvi;
    prvi:=temp;
    zadnji:=temp;
  end
  else  // drugače
  begin
    new(temp);
    temp^.vrednost:=1.2;
    temp^.naslednji:=nil;
    zadnji^.naslednji:=temp;
    zadnji:=temp;
  end;

  // pregled vseh vrednosti seznama
  temp:=prvi;
  while temp<>nil do  // ponavljaj dokler ne pridemo do zadnjega elementa (nil)
  begin
    writeln(temp^.vrednost);  // izpisi posamezni element
    temp:=temp^.naslednji;  // naslednji element
  end;

  // zbrisi vse elemente
  while prvi<>nil do  // ponavljaj dokler ne pridemo do zadnjega elementa (nil)
  begin
    temp:=prvi;
    prvi:=temp^.naslednji;
    dispose(temp);   // izbriši element
  end;
end.


Matrike - seštevanje dveh matrik dimenzije (4x4)

type matrika=array[1..4, 1..4] of real;

var
  m1, m2, m3: matrika;

procedure sestej(a: matrika; b: matrika; var c: matrika);  // a, b:vh. par. c:izh. parameter
var i, j: integer;
begin
  for i:=1 to 4 do
  begin
    for j:=1 to 4 do
	begin
	  c[i, j]:=a[i, j]+b[i, j];
	end;
  end;
end;

procedure izpisi(m: matrika);
var i, j: integer;
begin
  for i:=1 to 4 do
  begin
    for j:=1 to 4 do
	begin
	  write(m[i, j], '    ');
	end;
	writeln;
  end;
end;

// glavni program
begin
  sestej (m1, m2, m3);  // sestej matriki m1 in m2 - rezultat v m3
  izpisi(m3);  // izpiši rezultat
end.


Textovne datoteke

var
  f: textfile;
  s: string;

begin
  // pisanje v text datoteko
  assignfile(f, 'ime_datoteke.txt');  // ime datoteke v katero bomo pisali
  rewrite(f);    // pisemo od zacetka (če želimo dodajati - namesto rewrite uporabimo append
  writeln(f, 'bla bla');
  closefile(f);  // zapremo datoteko

  // branje iz text datoteke
  assignfile(f, 'ime_datoteke.txt');  // ime datoteke s katere bomo brali
  reset(f);
  while not eof(f) do  // beremo toliko časa dokler ne pridemo do konca datoteke
  begin
    readln(f,s);  // v s shrani eno vrstico iz datoteke
  end;
  closefile(f);  // zapremo datoteko
end.


Binarne datoteke

type oseba=record
  ime: string[40];
  starost: integer;
end;

var
  a, b: oseba;
  f: file of oseba;

begin
  // pisanje v binarno datoteko
  assignfile(f, 'ime_datoteke.dat');  // ime datoteke v katero bomo pisali
  rewrite(f);  // pišemo od začetka (če želimo dadajati - namesto rewrite uporabimo append
  a.ime:='Janez';
  a.starost:=10;
  write(f, a);
  closefile(f);  // zapremo datoteko

  // branje iz binarne datoteke
  assignfile(f, 'ime_datoteke.dat');  // ime datoteke s katere bomo brali
  reset(f);
  while not eof(f) do  // beremo toliko časa dokler ne pridemo do konca datoteke
  begin
    read(f, b);  //  v b shranimo en zapis iz datoteke
  end;
  closefile(f);  // zapremo datoteko
end.