pascal
- Shorty
- Začátečník

-
- Registrován: 09. lis 2005
- Bydliště: Čejč
pascal
mohl by mi nekdo pomoci s timto programem v pascalu?
vytvor nekolik lekci, udelejte body, umoznete zkouset jak anglicka tak ceska slovicka.Pripravene lekce budou v textovem souboru.
dik za rady a navrhy!
vytvor nekolik lekci, udelejte body, umoznete zkouset jak anglicka tak ceska slovicka.Pripravene lekce budou v textovem souboru.
dik za rady a navrhy!
MB:Gigabyte MA790X-UD3P, CPU:Phenom X3 720 BE 2.8 GHz, RAM:Kingston HyperX 4GB Black Edition 1066MHz, GK:Sapphire 4870 1GB Vapor-X 750/3600 MHz, HDD:Seagate 320GB AAKS, PSU:Seasonic Energy Knight 500W, FAN:2x NexusD12SL, LCD: 22" Philips 220CW9FB
- Shorty
- Začátečník

-
- Registrován: 09. lis 2005
- Bydliště: Čejč
- pavel.minarik
- Středně pokročilý

- Registrován: 03. čer 2003
- Bydliště: Brno
- Kontaktovat uživatele:
- Lukfi
- Mírně pokročilý

- Registrován: 04. črc 2005
- Bydliště: Praha
- Kontaktovat uživatele:
Tak, základní kostra bude asi taková že tam bude nějaký menu a podle zvolené možnosti to bude vykonávat daný kód - tohle se dělá pomocí
pro ukončení to bude buď v repeat cyklu s podmínkou until a=něco nebo na nějakou volbu dáš příkaz halt.
s těmi soubory ti ale nepomůžu, jestli máš učebnici na pascal (tu od computer press) tak se podívej, tam je to docela hezky vysvětlené.[/code]
Kód: Vybrat vše
case a of
1: begin
end;
2: begin
end;
s těmi soubory ti ale nepomůžu, jestli máš učebnici na pascal (tu od computer press) tak se podívej, tam je to docela hezky vysvětlené.[/code]
Výkaly prosím umisťujte do záchodové mísy a nikoliv diskuzního fóra.
- Shorty
- Začátečník

-
- Registrován: 09. lis 2005
- Bydliště: Čejč
no dik za rady ale to ze mam zacit beginem a pouzit na vyber lekci case of vim taky...
spis mi de o to v jakem poradi to sepsat, nebo jakym zpusobem...
vim ze se asi nikomu nebude chtit tady napsat hotovy program, ale nevim jak to nastrukturovat...
spis mi de o to v jakem poradi to sepsat, nebo jakym zpusobem...
vim ze se asi nikomu nebude chtit tady napsat hotovy program, ale nevim jak to nastrukturovat...
MB:Gigabyte MA790X-UD3P, CPU:Phenom X3 720 BE 2.8 GHz, RAM:Kingston HyperX 4GB Black Edition 1066MHz, GK:Sapphire 4870 1GB Vapor-X 750/3600 MHz, HDD:Seagate 320GB AAKS, PSU:Seasonic Energy Knight 500W, FAN:2x NexusD12SL, LCD: 22" Philips 220CW9FB
- Lukfi
- Mírně pokročilý

- Registrován: 04. črc 2005
- Bydliště: Praha
- Kontaktovat uživatele:
- Zivan
- Začátečník

-
- Registrován: 30. čer 2005
- Bydliště: Brno
- Kontaktovat uživatele:
No je to urcite nejaka skolni uloha, ale z toho popisu nikdo nic nepochopi.
Vytvor nekolik lekci. Umoznete zkouset anglicka i ceska slovicka.
To ma byt preklad? Doplnovani do vet? Nebo jen tak nahodne zkouset slovicka?
Udelejte body
Bud je to preklep a ma byt "udelujte" nebo se maji pri spusteni udelat na obrazovce barevne body?
Vytvor nekolik lekci. Umoznete zkouset anglicka i ceska slovicka.
To ma byt preklad? Doplnovani do vet? Nebo jen tak nahodne zkouset slovicka?
Udelejte body
Bud je to preklep a ma byt "udelujte" nebo se maji pri spusteni udelat na obrazovce barevne body?
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
- zombux
- Odborník PCT

- Registrován: 05. čer 2003
- Bydliště: sluníčkář a havloid z pražské lumpenkavárny
- VasekB
- Začátečník

-
- Registrován: 12. bře 2005
1- nactes soubor se slovicky: CZ do jednoho pole a (treba) EN do druheho pole
2- zobrazis na obrazovce (podle predchoziho vyberu, ktery jde kdykoliv zmenit) CZ slovicko a cekas na zadani EN verze od uzivatele.
3- pokud je zobrazene CZ = uzivatelem zadane EN, dostane +1 bod, jinak -1bod
4- pokud vycerpa vsechna slovicka ze souboru 1_lekce, nacti soubor 2_lekce, ....
5- zpet na bod 2
v pascalu se na prochazeni pole krasne daji pouzit Pointry (ukazatele) /a rekl bych, ze to je zamer zadani/
2- zobrazis na obrazovce (podle predchoziho vyberu, ktery jde kdykoliv zmenit) CZ slovicko a cekas na zadani EN verze od uzivatele.
3- pokud je zobrazene CZ = uzivatelem zadane EN, dostane +1 bod, jinak -1bod
4- pokud vycerpa vsechna slovicka ze souboru 1_lekce, nacti soubor 2_lekce, ....
5- zpet na bod 2
v pascalu se na prochazeni pole krasne daji pouzit Pointry (ukazatele) /a rekl bych, ze to je zamer zadani/
- Lukfi
- Mírně pokročilý

- Registrován: 04. črc 2005
- Bydliště: Praha
- Kontaktovat uživatele:
- VasekB
- Začátečník

-
- Registrován: 12. bře 2005
no, ucil jsem se pascal pred 10lety a pouzival pak asi 3roky... ted uz si moc nepamatuju. na ukazku koukni treba sem:
http://www.learn-programming.za.net/pro ... arn13.html
princip je takovy, ze je to vlastne promena, ktera muze mit vic vlastnosti.
treba si nadefinujes, ze promena "Polozka" je typu pointer a ze ma vlastnosti DATA, PREDCHOZI, DALSI.
nactes si soubor a prochazis jednotive radky v souboru a cpes je do DATA. do PREDCHOZI nacpes odkaz na predchozi Polozku a do dalsi tu co bude dalsi (nejdriv je to prazdne, ale pak kdyz prolejzas jednotlive Polozky, abys to vypsal, tak si to samo pamatuje co je dalsi).
funkcne je to prakticky podobne typu Array(), jenze v Array kdyz si oindexujes prvky, ktere tam nacpes (treba 1-10) a chces tam doprostred neco pridat, tak to musis cele prepocitat a preindexovat, coz je pri vic datech problem. u pointru to neni problem. proste se podivas, kam ukazuje pointer promene PREDCHOZI a DALSI a nacpes mezi ne novou hodnotu.
nekde mam svuj stary program, co jsem na toto tema delal. bylo to taky seznam casopisu. zkusim ho vyhrabat a poslu ti to
http://www.learn-programming.za.net/pro ... arn13.html
princip je takovy, ze je to vlastne promena, ktera muze mit vic vlastnosti.
treba si nadefinujes, ze promena "Polozka" je typu pointer a ze ma vlastnosti DATA, PREDCHOZI, DALSI.
nactes si soubor a prochazis jednotive radky v souboru a cpes je do DATA. do PREDCHOZI nacpes odkaz na predchozi Polozku a do dalsi tu co bude dalsi (nejdriv je to prazdne, ale pak kdyz prolejzas jednotlive Polozky, abys to vypsal, tak si to samo pamatuje co je dalsi).
funkcne je to prakticky podobne typu Array(), jenze v Array kdyz si oindexujes prvky, ktere tam nacpes (treba 1-10) a chces tam doprostred neco pridat, tak to musis cele prepocitat a preindexovat, coz je pri vic datech problem. u pointru to neni problem. proste se podivas, kam ukazuje pointer promene PREDCHOZI a DALSI a nacpes mezi ne novou hodnotu.
nekde mam svuj stary program, co jsem na toto tema delal. bylo to taky seznam casopisu. zkusim ho vyhrabat a poslu ti to
- Lukfi
- Mírně pokročilý

- Registrován: 04. črc 2005
- Bydliště: Praha
- Kontaktovat uživatele:
- Shorty
- Začátečník

-
- Registrován: 09. lis 2005
- Bydliště: Čejč
dik za rady!dneska se do toho pustim... jinak pointry sme se taky neucili, takze skoda. podle toho co o nich ctu by se asi hodily do toho programu...zkusim se s tim nejak poprat a dam pak info jak to slo;)VasekB píše:1- nactes soubor se slovicky: CZ do jednoho pole a (treba) EN do druheho pole
2- zobrazis na obrazovce (podle predchoziho vyberu, ktery jde kdykoliv zmenit) CZ slovicko a cekas na zadani EN verze od uzivatele.
3- pokud je zobrazene CZ = uzivatelem zadane EN, dostane +1 bod, jinak -1bod
4- pokud vycerpa vsechna slovicka ze souboru 1_lekce, nacti soubor 2_lekce, ....
5- zpet na bod 2
v pascalu se na prochazeni pole krasne daji pouzit Pointry (ukazatele) /a rekl bych, ze to je zamer zadani/
MB:Gigabyte MA790X-UD3P, CPU:Phenom X3 720 BE 2.8 GHz, RAM:Kingston HyperX 4GB Black Edition 1066MHz, GK:Sapphire 4870 1GB Vapor-X 750/3600 MHz, HDD:Seagate 320GB AAKS, PSU:Seasonic Energy Knight 500W, FAN:2x NexusD12SL, LCD: 22" Philips 220CW9FB
- VasekB
- Začátečník

-
- Registrován: 12. bře 2005
- Lukfi
- Mírně pokročilý

- Registrován: 04. črc 2005
- Bydliště: Praha
- Kontaktovat uživatele:
- VasekB
- Začátečník

-
- Registrován: 12. bře 2005
Lukfi> aha.. hodil jsem to nekam shortymu, tebe jsem si nevsimnul, ze mas take zajem ;o))
http://home.tiscali.cz/~cz707702/AMRA.zip
http://home.tiscali.cz/~cz707702/AMRA.zip
- Lukfi
- Mírně pokročilý

- Registrován: 04. črc 2005
- Bydliště: Praha
- Kontaktovat uživatele:
- Shorty
- Začátečník

-
- Registrován: 09. lis 2005
- Bydliště: Čejč
tak tady je muj vysledek snazeni... ma to jeste nejake mouchy,je to mozna neprehledne ale neni to snad nejhorsi...
(*zaverecny program*)
program slovicka;
uses crt;
var f,fi:text;
jaz,s,x,spravna,soubor,jaz_s,ukoncit:string;
i,kolikata,body,pocet_radku,konec,pocatek,jak,lekce:integer;
odpoved: char;
otazka:array[1..5] of string;
pocet_otazek: real;
begin
writeln('Vtejte v programu zkouseni slovicek');
writeln('------------------------------------');
writeln(' CHCETE VYZKOUSET Z ');
writeln(' 1) cestiny do anglictiny ');
writeln(' nebo ');
writeln(' 2) anglictiny do cestiny ');
writeln('------------------------------------');
writeln('I Zvolte prosm svou volbu cislem I');
writeln('------------------------------------');
writeln('Vytvoril : Petr Turzik');
writeln('');
write('->>');
read(jak);
case jak of
1: begin jaz:='CA'; jaz_s:='anglicky'; end;
2: begin jaz:='AC'; jaz_s:='cesky'; end;
else begin write('Opakujte prosim zadani, volba neexistuje:'); read(jak); end
end;
clrscr;
write('Zvolte lekci(1-5):');
read(lekce);
clrscr;
case lekce of
1: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_1.txt';
2: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_2.txt';
3: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_3.txt';
4: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_4.txt';
5: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_5.txt';
else
begin write('Opakujte prosim zadani, lekce neexistuje:'); read(lekce); end
end;
(*nabourame soubor*)
assign(f,soubor);
assign(fi,soubor);
reset(f);
reset(fi);
(*zjistime pocet otazek*)
repeat
readln(fi,x);
pocet_radku:=pocet_radku+1;
until eof(fi);
pocet_otazek:=pocet_radku/5;
kolikata:=1;
pocatek:=1;
konec:=5;
repeat
begin
if(kolikata>1) then
begin
pocatek:=pocatek+5;
konec:=konec+5;
end;
writeln('Otazka cislo:',kolikata,'/',pocet_otazek:0:0,' Zatim bodu:',body,'z',pocet_otazek:0:0);
for i:=1 to 5 do
begin
readln(f,s);
otazka:=s;
end;
writeln('');
writeln('Jak se ',jaz_s,' rekne ',otazka[1],'?');
writeln('--------------');
writeln('a)',otazka[2]);
writeln('b)',otazka[3]);
writeln('c)',otazka[4]);
odpoved:=readkey;
spravna:=otazka[5];
case odpoved of
'a': odpoved:='a';
'b': odpoved:='b';
'c': odpoved:='c';
else
begin
write('Opakujte prosim zadani, tato moznost neexistuje:');
odpoved:=readkey;
end
end;
if odpoved=spravna then
begin
writeln('dobre');
body:=body+1;
kolikata:=kolikata+1;
clrscr;
end
else
begin
writeln('spatne');
kolikata:=kolikata+1;
clrscr;
end;
end;
until kolikata=(pocet_otazek)+1;
if kolikata<=(pocet_otazek)+1 then
begin
clrscr;
writeln('-----------------------');
writeln('I Ziskali jste ',body,' bodu I');
writeln('-----------------------');
readln;
end;
close(f);
close(fi);
readln;
clrscr;
end.
(*zaverecny program*)
program slovicka;
uses crt;
var f,fi:text;
jaz,s,x,spravna,soubor,jaz_s,ukoncit:string;
i,kolikata,body,pocet_radku,konec,pocatek,jak,lekce:integer;
odpoved: char;
otazka:array[1..5] of string;
pocet_otazek: real;
begin
writeln('Vtejte v programu zkouseni slovicek');
writeln('------------------------------------');
writeln(' CHCETE VYZKOUSET Z ');
writeln(' 1) cestiny do anglictiny ');
writeln(' nebo ');
writeln(' 2) anglictiny do cestiny ');
writeln('------------------------------------');
writeln('I Zvolte prosm svou volbu cislem I');
writeln('------------------------------------');
writeln('Vytvoril : Petr Turzik');
writeln('');
write('->>');
read(jak);
case jak of
1: begin jaz:='CA'; jaz_s:='anglicky'; end;
2: begin jaz:='AC'; jaz_s:='cesky'; end;
else begin write('Opakujte prosim zadani, volba neexistuje:'); read(jak); end
end;
clrscr;
write('Zvolte lekci(1-5):');
read(lekce);
clrscr;
case lekce of
1: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_1.txt';
2: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_2.txt';
3: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_3.txt';
4: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_4.txt';
5: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_5.txt';
else
begin write('Opakujte prosim zadani, lekce neexistuje:'); read(lekce); end
end;
(*nabourame soubor*)
assign(f,soubor);
assign(fi,soubor);
reset(f);
reset(fi);
(*zjistime pocet otazek*)
repeat
readln(fi,x);
pocet_radku:=pocet_radku+1;
until eof(fi);
pocet_otazek:=pocet_radku/5;
kolikata:=1;
pocatek:=1;
konec:=5;
repeat
begin
if(kolikata>1) then
begin
pocatek:=pocatek+5;
konec:=konec+5;
end;
writeln('Otazka cislo:',kolikata,'/',pocet_otazek:0:0,' Zatim bodu:',body,'z',pocet_otazek:0:0);
for i:=1 to 5 do
begin
readln(f,s);
otazka:=s;
end;
writeln('');
writeln('Jak se ',jaz_s,' rekne ',otazka[1],'?');
writeln('--------------');
writeln('a)',otazka[2]);
writeln('b)',otazka[3]);
writeln('c)',otazka[4]);
odpoved:=readkey;
spravna:=otazka[5];
case odpoved of
'a': odpoved:='a';
'b': odpoved:='b';
'c': odpoved:='c';
else
begin
write('Opakujte prosim zadani, tato moznost neexistuje:');
odpoved:=readkey;
end
end;
if odpoved=spravna then
begin
writeln('dobre');
body:=body+1;
kolikata:=kolikata+1;
clrscr;
end
else
begin
writeln('spatne');
kolikata:=kolikata+1;
clrscr;
end;
end;
until kolikata=(pocet_otazek)+1;
if kolikata<=(pocet_otazek)+1 then
begin
clrscr;
writeln('-----------------------');
writeln('I Ziskali jste ',body,' bodu I');
writeln('-----------------------');
readln;
end;
close(f);
close(fi);
readln;
clrscr;
end.
MB:Gigabyte MA790X-UD3P, CPU:Phenom X3 720 BE 2.8 GHz, RAM:Kingston HyperX 4GB Black Edition 1066MHz, GK:Sapphire 4870 1GB Vapor-X 750/3600 MHz, HDD:Seagate 320GB AAKS, PSU:Seasonic Energy Knight 500W, FAN:2x NexusD12SL, LCD: 22" Philips 220CW9FB
- VasekB
- Začátečník

-
- Registrován: 12. bře 2005
write('Zvolte lekci(1-5):');
read(lekce);
clrscr;
case lekce of
1: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_1.txt';
2: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_2.txt';
3: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_3.txt';
4: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_4.txt';
5: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_5.txt';
else
begin write('Opakujte prosim zadani, lekce neexistuje:'); read(lekce); end
end;
co nejak takhle>
vyber:=false
repeat
read(lekce);
if lekce>1 and lekce<5 then soubor:='C:\pascal\pt\lekce\lek'+jaz+'_'+lekce+'.txt'; vyber:=true;
else
write('Opakujte prosim zadani, lekce neexistuje:');
end;
until vyber;
read(lekce);
clrscr;
case lekce of
1: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_1.txt';
2: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_2.txt';
3: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_3.txt';
4: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_4.txt';
5: soubor:='C:\pascal\pt\lekce\lek'+jaz+'_5.txt';
else
begin write('Opakujte prosim zadani, lekce neexistuje:'); read(lekce); end
end;
co nejak takhle>
vyber:=false
repeat
read(lekce);
if lekce>1 and lekce<5 then soubor:='C:\pascal\pt\lekce\lek'+jaz+'_'+lekce+'.txt'; vyber:=true;
else
write('Opakujte prosim zadani, lekce neexistuje:');
end;
until vyber;
- Lukfi
- Mírně pokročilý

- Registrován: 04. črc 2005
- Bydliště: Praha
- Kontaktovat uživatele:
pomohlo by používat bb tag code... jako takhle:Shorty píše:tak tady je muj vysledek snazeni... ma to jeste nejake mouchy,je to mozna neprehledne ale neni to snad nejhorsi
Kód: Vybrat vše
program slovicka;
uses crt;
var f,fi:text;
jaz,s,x,spravna,soubor,jaz_s,ukoncit:string;
i,kolikata,body,pocet_radku,konec,pocatek,jak,lekce:integer;
odpoved: char;
otazka:array[1..5] of string;
pocet_otazek: real;- proč na jednoduché přepínání 2 stavů používáš string (jaz)?
Výkaly prosím umisťujte do záchodové mísy a nikoliv diskuzního fóra.