Reálna núdza :/ – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Reálna núdza  :/ – Pascal – Fórum – Programujte.comReálna núdza :/ – Pascal – Fórum – Programujte.com

 

Michal
~ Anonymní uživatel
683 příspěvků
2. 3. 2016   #1
-
0
-

Dobrý deň,,,zajtra mám robiť test z pascalu,,,,Mám ma´t načítanie z textového súboru, no sám som bol dlho chorý 3týždne zápal priedušiek a dýchacích ciest....Je tu možné, že by mi tu niekto pomohol zajtra ráno od pol ôsmej do cca deviatej a pomohol by mi s kódením ? Naozaj, som zúfalý,,,,Sedím nadtým už 3. deň ale prd z toho,,,Maturujem a musím sa teraz sústrediť na matematiku a jazyky....Ďakujem 

Nahlásit jako SPAM
IP: 188.121.181.–
ezlife
~ Anonymní uživatel
2 příspěvky
2. 3. 2016   #2
-
0
-

Ahoj,

zas tak těžké to není.. 

Koukni sem: http://www.tutorialspoint.com/pascal/pascal_files_handling.htm

Případně napiš nějaký příklad, který tě čeká.

Nahlásit jako SPAM
IP: 62.24.72.–
Michal
~ Anonymní uživatel
683 příspěvků
2. 3. 2016   #3
-
0
-

#2 ezlife

No,,,,takéto niečo,,,Ja nechápem napríklad : 

  1. prečo je tam "pocet :=0"
  2. tomuto : "tovar[pocet]:=tovar[pocet]+znak"
  3. tomuto už vôbec : writeln(tovar[i]:10,kus[i]:5,cena[i]:8:2
program project1;
uses crt;
var f,g:text;
    tovar:array[1..100] of string;
    kus:array[1..100] of integer;
    cena:array[1..100] of real;
    pocet:integer;

procedure nacitanie;
var znak:char;
begin
  pocet:=0;
  while not eof(f) do
    begin
      inc(pocet);
      read(f,znak);
      while znak<>#32 do
        begin
          tovar[pocet]:=tovar[pocet]+znak;
          read(f,znak);
        end;
      read(f,kus[pocet]);
      readln(f,cena[pocet]);
    end;
end;
procedure vypis;
var i:integer;
begin
  for i:=1 to pocet do
    writeln(tovar[i]:10,kus[i]:5,cena[i]:8:2);
end;
procedure zapis;
var i:integer;
begin
  for i:=1 to pocet do
    writeln(g,tovar[i]:10,kus[i]:5,cena[i]:8:2);
end;

begin
  assign(f,'cenatovaru.txt');
  reset(f);
  assign(g,'vypis.txt');
  rewrite(g);
  nacitanie;
  vypis;
  zapis;

  close(f);
  close(g);
  readln;
end.
            

Ďakujem za pomoc a odpoved :)

Nahlásit jako SPAM
IP: 188.121.181.–
JoDiK
~ Anonymní uživatel
987 příspěvků
2. 3. 2016   #4
-
0
-

#3 Michal

1. prečo je tam pocet :=0;

a tomuto: inc(pocet); rozumíš? Když zavoláš podprogram nacitanie, tak se na zásobníku (což je vyhrazená část paměti pro dočasné operace) zabere místo pro proměnnou pocet. Ty pak příkazem inc(pocet); zvýšíš obsah této proměnné o jedna. Jenže to samé místo mohlo předtím být úplně jiná proměnná, takže v něm zůstala uložená nějaká předchozí hodnota třeba 12839. No a k čemu teda tu jedničku přičte to inc(pocet); Aha? Kdybys neměl před prvním přičítáním nastaveno pocet :=0, tak se první načtený údaj pokusíš uložit jako 12840-tý, na což ani nemáš zabrané místo.


2. tomuto : "tovar[pocet]:=tovar[pocet]+znak"

do řetězce tovar na pozici pocet přičti další načtený znak...

takže zatím jsi ze souboru přečetl a uložil znaky BOI. Další načtený znak je L, který tím příkazem přidáš k předchozím, takže už tam bude BOIL. Pokud ovšem na začátku nenastavíš tovar[pocet]=''; tak tam někdy můžeš přičítat k pěkným nesmyslům zbylým z předchozího využití paměti...


3. tomuto už vôbec : writeln(tovar[i]:10,kus[i]:5,cena[i]:8:2);

jde o formátování výstupu, aby měl charakter tabulky. Místo

pec 4 300.50
boiler 2 4938.0

bude zobrazeno:

       pec     4  300.50
    boiler     2 4938.00
Nahlásit jako SPAM
IP: 88.103.228.–
ezlife
~ Anonymní uživatel
2 příspěvky
3. 3. 2016   #5
-
0
-
Nahlásit jako SPAM
IP: 62.24.72.–
Michal
~ Anonymní uživatel
683 příspěvků
3. 3. 2016   #6
-
0
-

Dobrý deň, 
ano je to tak, nepopieram, bude to tým, že neviem základy jazyka,,,ale ja by som potreboval pomôcť teraz ráno s príkladmi :/ Do mája sa to budem musieť ajtak doučiť,,,ale teraz mám o 2 týždne maturity a nemôžem sa sústrediť na programovanie, ktoré mám až v máji. :/

Nahlásit jako SPAM
IP: 188.121.181.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý