Pascal ulohy

Programovacie jazyky, rady, poradňa...
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

Príspevok od používateľa sundevil »

Dabol napísal:Nepochopil som ako to chces ty ale ja som rozmyslal tak ako som pisal

nacitam si pocet veci
nacitam si ich hmotnosti a stale ak budem zadavat hmotnost tak my prvu vec napr 5kG do vaku 1 druhu napr 2KG dovaku dva tretiu vec 2 kg do vaku 2 stvrtu vec 5 kg do vaku 1 a tak stale dookola podla veci, len to neviem napisat
ty si nepochopil zadanie
mas tam jasne napisane: posledná fiktívna vec má hmotnosť nula, tá slúži na ukončenie zadávania hmotností.
takze ziadne nacitanie poctu veci na zaciatku
Dabol
Amateur
Amateur
Príspevky: 12
Registrovaný: 01 máj 2009, 11:34

Príspevok od používateľa Dabol »

Ale aj tak to neviem zrobit poradte ako zacat
mirak2
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6719
Registrovaný: 18 sep 2005, 13:44
Bydlisko: Prague, CZE / Kosice, SVK

Príspevok od používateľa mirak2 »

pseudo kod:

Kód: Vybrať všetko

repeat
nacitaj(a)
if vaha1 <= vaha2 vaha1=vaha1+a a pocet1=pocet1+1
else vaha2=vaha2+a a pocet2=pocet2+1
until a=0
if vaha1<vaha2 vypis(tazsi vak ma druhy turista a je to o vaha2-vaha1)
else if vaha1=vaha2 vypis(maju rovnake tazke vaky) else vypis(tazsi vak ma prvy turista a je to o vaha1-vaha2)
if pocet1<pocet2 vypis(viac veci ma druhy turista a to o pocet2-pocet1)
else if pocet1=pocet2 vypis(maju rovnaky pocet veci) else vypis(viac veci ma prvy turista a to o pocet1-pocet2)
teraz uz len napis hlavicku, prepis to do pascal jazyka a mas program...KONECNE SA TO NAUC a nepis ze JA TO NEVIEEEEEEEEEM, na tu polhodinu si nad to sadnut mozes, iba blbec ti da hotovy program a ty za to zlizes smotanu
Dabol
Amateur
Amateur
Príspevky: 12
Registrovaný: 01 máj 2009, 11:34

Príspevok od používateľa Dabol »

mirak2 napísal:pseudo kod:

Kód: Vybrať všetko

repeat
nacitaj(a)
if vaha1 <= vaha2 vaha1=vaha1+a a pocet1=pocet1+1
else vaha2=vaha2+a a pocet2=pocet2+1
until a=0
if vaha1<vaha2 vypis(tazsi vak ma druhy turista a je to o vaha2-vaha1)
else if vaha1=vaha2 vypis(maju rovnake tazke vaky) else vypis(tazsi vak ma prvy turista a je to o vaha1-vaha2)
if pocet1<pocet2 vypis(viac veci ma druhy turista a to o pocet2-pocet1)
else if pocet1=pocet2 vypis(maju rovnaky pocet veci) else vypis(viac veci ma prvy turista a to o pocet1-pocet2)
teraz uz len napis hlavicku, prepis to do pascal jazyka a mas program...KONECNE SA TO NAUC a nepis ze JA TO NEVIEEEEEEEEEM, na tu polhodinu si nad to sadnut mozes, iba blbec ti da hotovy program a ty za to zlizes smotanu
Jedine co som chcel iba poradit zacat a kamos my to vysveltil a zrobil som to
Gregi
Light Star
Light Star
Príspevky: 224
Registrovaný: 24 mar 2005, 11:34

riesenia

Príspevok od používateľa Gregi »

//autoeditácia príspevku ( 07 Oct 2009, 13:00 )
3. ste mali zle nakolko pocitalo i remizove body.

Kód: Vybrať všetko

Program Zadanie_1;
var
  i,n,cislo,vysledok: Integer;


BEGIN
  Randomize;
  WriteLn ('Pocet cyklov: ');
  ReadLn (n);
  for i:=1 to n do begin
    cislo:=random (3)-1;
    if cislo=-1 then dec (vysledok) else
      if cislo=1 then inc (vysledok) else
        vysledok:=vysledok*2;
  end;
  WriteLn ('Vysledok: ',vysledok);
  ReadLn

END.

Kód: Vybrať všetko

Program Zadanie_2;
var
  kocka,p_kocka,pocet: Byte;
  i,n: Integer;

BEGIN
  Randomize;
  WriteLn ('Pocet hodov: ');
  ReadLn (n);
  for i:=1 to n do begin
    kocka:=random (6)+1;
    if (kocka=6) and (p_kocka=6) then inc (pocet);
    p_kocka:=kocka;
  end;
  WriteLn ('Pocet opakovani dvojice 6: ',pocet);
  ReadLn;

END.

Kód: Vybrať všetko

Program Zadanie_3;
var
  i,n,sucet1,sucet2,body1,body2: Byte;

BEGIN
  Randomize;
  WriteLn ('Zadaj pocet hodov: ');
  ReadLn (n);
  for i:=1 to n do begin
    sucet1:=random (6)+1 + random (6)+1;
    sucet2:=random (6)+1 + random (6)+1;
    if sucet1>sucet2 then inc (body1) else
      if sucet1<sucet2 then inc (body2)
  end;
  if body1>body2 then WriteLn ('Vyhral 1. hrac s poctom bodov: ',sucet1) else
    if body1<body2 then WriteLn ('Vyhral 2. hrac s poctom bodov: ',sucet2) else
      WriteLn ('Remiza: ',sucet1);
  ReadLn;

END.
Iron-Eddie
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 746
Registrovaný: 31 aug 2008, 10:07
Bydlisko: R'lyeh

Príspevok od používateľa Iron-Eddie »

Zdravím. Potreboval by som pomoc s programom pre armstrongovo číslo.
Mám spraviť taký program, ktorému určím mocninu k (zároveň počet cifier), a on mi vypíše všetky k-ciferné armstrongove čísla. Maximálna hodnota výsledného čísla má byť 32767. V programe sa nesmie použiť div ani mod. :?
Je to dosť súrne, tak vopred ďakujem.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Čo ti v tom tvojom programe nefunguje? Či to "potrebujem pomoc" znamená to, že chceš, aby ti to niekto urobil úplne celé?
Iron-Eddie
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 746
Registrovaný: 31 aug 2008, 10:07
Bydlisko: R'lyeh

Príspevok od používateľa Iron-Eddie »

No ja mám zatiaľ toto (ani neviem, či tam je všetko dobre), predošetkým by som potreboval vedieť, ako donútim program načítať všetky k-ciferné čísla (ak sa to dá). Skúšam všeličo možné, ale nič nejde.

Kód: Vybrať všetko

program armstrong;
   uses crt;
   const max=32767;
   var k,cislo:integer;
begin
   clrscr;
   write('Zadaj mocninu: ');
   readln(k); {v rozsahu od 1 do 5}
Napísať odpoveď