Gogo, ten Váš trolling mne nebaví. Tady je jednoduchý drillovací program, který jsem před 15 lety napsal. Včil mudrujte:
program Nemcina; const Version = 2.0; N = 255; var F: Text; P, I, Good, Bad, Count, What, Kolik, Total, Direction: Integer; Well: array [1 .. N] of Boolean; Radka, Nemecky, Cesky: array [1 .. N] of string [80]; Question, Solution, Answer: string [80];
procedure Divide; var P, Last: Integer; begin for I := 1 to Count do begin P := Pos (#9, Radka [I]); while P <> 0 do begin Last := P; Delete (Radka [I], P, 1); P := Pos (#9, Radka [I]); end; Nemecky [I] := Copy (Radka [I], 1, Last - 1); Cesky [I] := Copy (Radka [I], Last, Length (Radka [I]) - Last + 1); end; end;
begin Assign (F, 'Vokabeln.Txt'); Reset (F); Count := 0; repeat Inc (Count); repeat ReadLn (F, Radka [Count]); until not ((Radka [Count] = '') or (Copy (Radka [Count], 1, 1) = ';')) until Radka [Count] = 'The End'; Count := Count - 1; WriteLn; WriteLn (' Němčina ', Version: 1: 1); WriteLn ('(c) Guy Peters, My Ratsoft 1995'); WriteLn; Write ('Je připraveno ', Count, ' slovíček. Kolik si přejete příkladů? '); ReadLn (Kolik); WriteLn; WriteLn ('Slovíčka budou zadávána'); WriteLn ('1. v němčině'); WriteLn ('2. v češtině'); WriteLn ('3. napřeskáčku'); WriteLn; Write ('? '); ReadLn (Direction); WriteLn; Good := 0; Bad := 0; Total := 0; Randomize; Divide; for I := 1 to Kolik do begin repeat What := 1 + Random (Count); until not (Well [What]); case Direction of 1: begin Question := Nemecky [What]; Solution := Cesky [What] end; 2: begin Question := Cesky [What]; Solution := Nemecky [What] end; 3: begin P := Random (2); if P = 1 then begin Question := Cesky [What]; Solution := Nemecky [What] end else begin Question := Nemecky [What]; Solution := Cesky [What] end; end; end; WriteLn (Question); ReadLn (Answer); WriteLn (Solution); WriteLn; if ((Length (Answer) > 1) and (Answer = Copy (Solution, 1, Length (Answer)))) or ((Length (Answer) > 1) and (Question = Nemecky [What]) {pro česká synonyma} and (Pos (Answer, Cesky [What]) > 0)) then begin Write ('Dobře. '); Good := Good + 1; Well [What] := True; Inc (Total); end else begin Write ('Špatně. '); Bad := Bad + 1; end; Write ('Celkem ', I, ' příklad'); if (I >= 2) and (I <= 4) then Write ('y'); if I >= 5 then Write ('ů'); WriteLn (', z toho ', Good, ' dobře a ', Bad, ' špatně. ', 'Úspěšnost je ', Good / I * 100: 0: 2, ' %'); WriteLn; if Total = Count then begin WriteLn ('Všechny příklady konečně správně zodpovězeny.'); Halt; end; WriteLn; end; end.
Já se Vás nechtěl nijak dotknout proboha! Jen jak jsem viděl CString, tak se mi vybavila ona céčkovská třída. Moc nechápu, proč dáváte sem dáváte školní příklad v základním Pascalu, ale je to jedno.
Pointa spočívala v třídě z MFC s názvem CString, což bylo první a jediné co se mi vybavilo při přečtení nadpisu. To, jestli si Vy sám píšete prográmky ve VBA, Pascalu, Javě nebo Occamu, mi bylo v tu chvíli jedno.
Tohle mě pobavilo. Já už myslel, že se kollega vrhnul na programování.
OdpovědětVymazatCStrings ve variante Brasil maji dokonce zasouvaji "prvek".
OdpovědětVymazatPry vysvetleni proc na karnevalu v Riu tak krasne tanci :-)
Gogo, ten Váš trolling mne nebaví. Tady je jednoduchý drillovací program, který jsem před 15 lety napsal. Včil mudrujte:
OdpovědětVymazatprogram Nemcina;
const Version = 2.0;
N = 255;
var F: Text;
P, I, Good, Bad, Count, What, Kolik, Total, Direction: Integer;
Well: array [1 .. N] of Boolean;
Radka, Nemecky, Cesky: array [1 .. N] of string [80];
Question, Solution, Answer: string [80];
procedure Divide;
var P, Last: Integer;
begin
for I := 1 to Count do
begin
P := Pos (#9, Radka [I]);
while P <> 0 do
begin
Last := P;
Delete (Radka [I], P, 1);
P := Pos (#9, Radka [I]);
end;
Nemecky [I] := Copy (Radka [I], 1, Last - 1);
Cesky [I] := Copy (Radka [I], Last, Length (Radka [I]) - Last + 1);
end;
end;
begin
Assign (F, 'Vokabeln.Txt');
Reset (F);
Count := 0;
repeat
Inc (Count);
repeat
ReadLn (F, Radka [Count]);
until not ((Radka [Count] = '') or (Copy (Radka [Count], 1, 1) = ';'))
until Radka [Count] = 'The End';
Count := Count - 1;
WriteLn;
WriteLn (' Němčina ', Version: 1: 1);
WriteLn ('(c) Guy Peters, My Ratsoft 1995');
WriteLn;
Write ('Je připraveno ', Count, ' slovíček. Kolik si přejete příkladů? ');
ReadLn (Kolik);
WriteLn;
WriteLn ('Slovíčka budou zadávána');
WriteLn ('1. v němčině');
WriteLn ('2. v češtině');
WriteLn ('3. napřeskáčku');
WriteLn;
Write ('? ');
ReadLn (Direction);
WriteLn;
Good := 0; Bad := 0; Total := 0;
Randomize;
Divide;
for I := 1 to Kolik do
begin
repeat
What := 1 + Random (Count);
until not (Well [What]);
case Direction of
1: begin
Question := Nemecky [What];
Solution := Cesky [What]
end;
2: begin
Question := Cesky [What];
Solution := Nemecky [What]
end;
3: begin
P := Random (2);
if P = 1 then
begin
Question := Cesky [What];
Solution := Nemecky [What]
end
else
begin
Question := Nemecky [What];
Solution := Cesky [What]
end;
end;
end;
WriteLn (Question);
ReadLn (Answer);
WriteLn (Solution);
WriteLn;
if ((Length (Answer) > 1)
and (Answer = Copy (Solution, 1, Length (Answer))))
or ((Length (Answer) > 1)
and (Question = Nemecky [What]) {pro česká synonyma}
and (Pos (Answer, Cesky [What]) > 0))
then
begin
Write ('Dobře. ');
Good := Good + 1;
Well [What] := True;
Inc (Total);
end
else
begin
Write ('Špatně. ');
Bad := Bad + 1;
end;
Write ('Celkem ', I, ' příklad');
if (I >= 2) and (I <= 4) then Write ('y');
if I >= 5 then Write ('ů');
WriteLn (', z toho ', Good, ' dobře a ', Bad, ' špatně. ',
'Úspěšnost je ', Good / I * 100: 0: 2, ' %');
WriteLn;
if Total = Count then
begin
WriteLn ('Všechny příklady konečně správně zodpovězeny.');
Halt;
end;
WriteLn;
end;
end.
Já se Vás nechtěl nijak dotknout proboha! Jen jak jsem viděl CString, tak se mi vybavila ona céčkovská třída.
OdpovědětVymazatMoc nechápu, proč dáváte sem dáváte školní příklad v základním Pascalu, ale je to jedno.
Na základě toho, že jsem se údajně "vrhnul na programování". Vzhledem k tomu, že programuji již skoro 25 let, nemusím se na něj "vrhat".
OdpovědětVymazatNení to školní příklad, to by byl příliš primitivní. Psal jsem ho proto, aby mi pomohl na zkoušku z němčiny.
Protože v C moc programovat neumím.
Pointa spočívala v třídě z MFC s názvem CString, což bylo první a jediné co se mi vybavilo při přečtení nadpisu.
OdpovědětVymazatTo, jestli si Vy sám píšete prográmky ve VBA, Pascalu, Javě nebo Occamu, mi bylo v tu chvíli jedno.
Podívejte, já nepopírám, že CString má i jiný význam. Šlo mi čistě o Vaše urážlivé vyjádření na mou adresu.
OdpovědětVymazat