pascal help

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
BlinDy
Začátečník
Začátečník
Uživatelský avatar
Registrován: 02. čer 2005
Bydliště: Uherské Hradiště/ Brno
Kontaktovat uživatele:

pascal help

Příspěvek od BlinDy »

zdravím... mám takovou otázku.. nenapsal by mi někod z hlavy, nebo mě na to aspon nekdo nenavedl jak bych mohl v pascalu udelat neco takoveho??

dejme tomu ze mam program napr nejakeho autobazaru.. dam zadat auto (zadam udaje x,y,z) a potom mam hledacky na veci x,y,z a podle toho to najde auto... jak by se dalo udelat zebych zadal SPZku a pak stacilo do hledani zadat napr 3 cisla a vyhledalo by to celou SPZ??? jakoze zadat jen cast hledaneho vyrazu...

snad se to z toho da pochopit :) diky
Zivan
Začátečník
Začátečník
Registrován: 30. čer 2005
Bydliště: Brno
Kontaktovat uživatele:

Re: pascal help

Příspěvek od Zivan »

Neco jako, ze mas udaje v TXT souboru, zadas zacatek SPZ a pak staci jen nacist soubor a najit prvni (nebo vsechny) stejne zacinajici SPZ?

A to porovnani je prece jednoduche. Vezmes prvni SPZ a porovnas prvni znak, kdyz sedi, tak druhy znak...atd. az do velikosti toho zadaneho zacatku. Kdyz neco nesedi, tak jdes na dalsi SPZ, kdyz vse sedi a vycerpal jsi pocet zadanych znaku, tak mas spravnou SPZ a vypises ji. A pak bud koncis s vyhledavanim nebo pokracujes na dalsi SPZ, podle toho jestli hledas vsechny nebo jen jednu.

A ted uz staci jen projit to, co jste ve skole urcite delali a naprogramovat to :)
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: pascal help

Příspěvek od bubanek »

V čem máš ty údaje uložené? Record předpokládám...
A máš to v nějakém souboru nebo pole recordů nebo nějaký seznam?
BlinDy
Začátečník
Začátečník
Uživatelský avatar
Registrován: 02. čer 2005
Bydliště: Uherské Hradiště/ Brno
Kontaktovat uživatele:

Re: pascal help

Příspěvek od BlinDy »

bubanek píše:V čem máš ty údaje uložené? Record předpokládám...
A máš to v nějakém souboru nebo pole recordů nebo nějaký seznam?
ou pomalu na me :) jsem zacatecnik :)) na zacatku programu mam napsane "type xx=record " takze to asi bude record :P
a potom tu druhou otazku opravdu netusim :) jak to poznam?? :P dystak sz at tady ze sebe nedelam verejne blbca :P
Zivan píše:
A to porovnani je prece jednoduche. Vezmes prvni SPZ a porovnas prvni znak, kdyz sedi, tak druhy znak...atd. az do velikosti toho zadaneho zacatku. Kdyz neco nesedi, tak jdes na dalsi SPZ, kdyz vse sedi a vycerpal jsi pocet zadanych znaku, tak mas spravnou SPZ a vypises ji. A pak bud koncis s vyhledavanim nebo pokracujes na dalsi SPZ, podle toho jestli hledas vsechny nebo jen jednu.
hmmmm zkusime uvidime :) diky
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: pascal help

Příspěvek od bubanek »

Jestli máš nějaký kousek toho programu tak ho sem dej.
BlinDy
Začátečník
Začátečník
Uživatelský avatar
Registrován: 02. čer 2005
Bydliště: Uherské Hradiště/ Brno
Kontaktovat uživatele:

Re: pascal help

Příspěvek od BlinDy »

Kód: Vybrat vše

program auticka;
uses crt;
type auta=record  typ,znacka,barva,stav:string; rokvyroby,rychlost,cena: integer; end;
var  seznam: file of auta;
     auto:auta;
     volba:char;
function  RES:boolean;
          var temp: boolean;
          begin
          temp:=false;
          readln(volba);
          repeat
          if upcase(volba) in ['A','N']
                           then temp:=true;
          until temp=true;
          if upcase(volba)='A'
             then RES:=true
             else RES:=false; end;
pak uz nasleduji jen procedury pro pridavani a vypisy atd... toto je zacatek
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: pascal help

Příspěvek od bubanek »

Pokud by byla SPZ uložená jako string tak bys mohl mít takovouto proceduru:
(ale musel bys urpavit hlavičku)

Kód: Vybrat vše

type auta=record  typ,znacka,barva,stav,spz:string; rokvyroby,rychlost,cena: integer; end;
       soubor=file of auta;
var  seznam: soubor;
     auto:auta;
     volba:char;

Kód: Vybrat vše

procedure foo(var seznam:soubor);
var i:integer;
     spz,s:string;
begin
  writeln('Zadej SPZ k hledání');
  readln(s); 
  while not eof(seznam) do begin
    read(seznam,auto);
    spz:=auto.spz;
    if (spz[1] = s[1]) and (spz[2] = s[2]) and (spz[3] = s[3]) then writeln(spz);
  end;
end;
Je to asi napsané prasácky, ale nemám teď náladu to řešit, navíc pochybuju že váš učitel vyžaduje efektivní programování :oops:
Zivan
Začátečník
Začátečník
Registrován: 30. čer 2005
Bydliště: Brno
Kontaktovat uživatele:

Re: pascal help

Příspěvek od Zivan »

No ten IF bych urcite nahradil cyklem. Tenhle kod predpoklada, ze zadas presne 3 znaky z SPZ :)

Po napsani doporucuji poradne otestovat, ze to funguje spravne.

Ja bych nechal autora tvorit podle sebe a pomoct mu s problemy, na ktere v prubehu narazi.
HP Elitebook 845 G8 (Ryzen 5650U, 32GB RAM, WD SN570 1TB, 14" fullHD IPS) + HP USB-C G5 Essential + 29" LG 29UM65 + 22" Eizo S2202W
BlinDy
Začátečník
Začátečník
Uživatelský avatar
Registrován: 02. čer 2005
Bydliště: Uherské Hradiště/ Brno
Kontaktovat uživatele:

Re: pascal help

Příspěvek od BlinDy »

mno jelikoz uz tento rok dodelavam jen abych musel a asi uz to nebudu delat protoze me to nebavi tak moc dekuju za napsani :P zkusim to :) diky moc vsem :)
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Re: pascal help

Příspěvek od bubanek »

Zivan: Na cyklus si to může klidně upravit sám, tohle je jenom pro představu.
Navíc nevidím důvod mu to nenapsat, já to taky většinou pochopím až když to vidím hotové a touhle cestou se učím.
Odpovědět

Zpět na „Programování a web“