Pomoc pascal ale vazne

Programovacie jazyky, rady, poradňa...
berija111
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 793
Registrovaný: 01 máj 2005, 12:42
Bydlisko: Martin
Kontaktovať používateľa:

Pomoc pascal ale vazne

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

Prosim vas nutne potrebujem vasu pomoc bo inak rachnem s programovania a ja stale tomu nemozem pochopit :-( prosim pomozte mi potrebujem este dneska a ak by sa dalo aj skomentarom ze co vsetko co roby dakujem vam za pomoc a teraz k uloham


1: Zostavte program, ktory zisti, ci sucet N zadanych celych kladnych cisel je alebo nie je parne cislo. Na zistenie ci sucet je alebo nie je parne cislo vytvorte logicku funkciu.Prikazy okomentujte.Zabezpecte, aby program neumoznoval vypocet s nesmyselnymi vstupnymi udajmi.


2: Zostavte program ktory vypocita objem kosky,kvadra alebo gule podla toho aky utvar si uzivatel po spusteni programu vyberie + komentare


PS: prosim pomozte mi :-( kujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

jasné, moment.. idem sa do toho pustiť :)
BTW: presunuté do programovania
berija111
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 793
Registrovaný: 01 máj 2005, 12:42
Bydlisko: Martin
Kontaktovať používateľa:

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

diki moc :-) a som sa dobre zlakol ze kde je moj prispevok ked som ho nenasiel v pomoci :-) diki moc zachranil si ma :-)
hojko
Site Admin
Site Admin
Používateľov profilový obrázok
Príspevky: 38514
Registrovaný: 24 apr 2004, 18:29
Bydlisko: Európa
Kontaktovať používateľa:

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

Nad prvym sa mi nechce rozmyslat, pretoze nemam rad tie matematicke veci. Ale osetrenie nemas problem, proste budes mat readkey ci readln a ked zada nieco ine ako cislo, ktore bude musiet byt napr integer, tak mu hodi chybu a musi zadat cislo este raz.

Spravis si jednoduche menu, cize jedna, dva a tri. uzivatel bude mat na vyber co chce, rovnako ako v prvom pripade, tiez musi zadat realne hodnoty, v tomto pripade len tlacitka 1,2 a 3, resp. a, b a c pre vyber z menu. Potom mu hodi podmienky, ze pri kocke musi zadat dlzku strany... a ty uz len jednoduchym pocitanim vypocitas co potrebujes. Kvader to iste, ibaze zadas viac stran a gula to iste. Nemyslim, ze je to nic zlozite a nepotrebujem tam ani ziadne extra komentare.
berija111
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 793
Registrovaný: 01 máj 2005, 12:42
Bydlisko: Martin
Kontaktovať používateľa:

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

hojko napísal:Nad prvym sa mi nechce rozmyslat, pretoze nemam rad tie matematicke veci. Ale osetrenie nemas problem, proste budes mat readkey ci readln a ked zada nieco ine ako cislo, ktore bude musiet byt napr integer, tak mu hodi chybu a musi zadat cislo este raz.

Spravis si jednoduche menu, cize jedna, dva a tri. uzivatel bude mat na vyber co chce, rovnako ako v prvom pripade, tiez musi zadat realne hodnoty, v tomto pripade len tlacitka 1,2 a 3, resp. a, b a c pre vyber z menu. Potom mu hodi podmienky, ze pri kocke musi zadat dlzku strany... a ty uz len jednoduchym pocitanim vypocitas co potrebujes. Kvader to iste, ibaze zadas viac stran a gula to iste. Nemyslim, ze je to nic zlozite a nepotrebujem tam ani ziadne extra komentare.
no to stym druhym som aj ja takto vedel spravit ale ja nedokazem to pouzit v pascale ja mam predstavu ako ma fungovat ten program ale neviem ho zostavit bo nerozumiem tym prikazom :-(
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

hojko, keď do toho nevidíš, tak ho radšej nemýl, ok? readkey? preboha, načo?

Kód: Vybrať všetko

program Prvy;
uses CRT;
 function sucetparny(vstup:integer):boolean; 
  begin
  if (vstup mod 2 = 0) then sucetparny:=true else sucetparny:=false;
 end;

var cislo,x,sucet:integer;
    N,I:integer;
    vstup:string;
begin
clrscr;
write ('Zadaj pocet cisiel N: ');
readln (N);
For I:=1 to N do begin
  write('Zdaj cislo: ');
  readln(vstup);
  val(vstup,cislo,x); 
  if x>0 then begin
              writeln('Nebol zadany celociselny vstup!!!');
              I:=I-1;
              end
         else begin
              sucet:=sucet+cislo;
              end;
  end;
clrscr;
if sucetparny(sucet) then writeln('ano') else writeln('nie');
repeat until keypressed;
end.
Popis:funkcia sucetparny() otestuje či je párny argument. Ak je delitelný dvoma tak je párny. Ako argument posielam cekový súčet všetkých čísel.
val(vstup,cislo,x); skúsi previesť textový vstup na číslo ktoré je integer. Ak sa podarí, x nadobudne hodnotu 0 ak nie, x nadobudne hodnutu väčšiu ako nula (konkrétne číslo na ktorej pozícii došlo k chybe, ale to nás nezaujíma). POtom overím x: ak je nula tak priráta číslo k súčtu, ak je väčšie ako nula (zle zadané) tak upozorním a znížim I aby sa vetva cyklu opakovala znovu.
if sucetparny(sucet) then writeln('ano') else writeln('nie'); nakonci vypíšem ano alebo nie podľa toho či funkcia vráti true alebo false.

ostatné asi ani nepotrebuje komentár, ak niečomu nerozumieš, tak sa pýtaj. Zachvíľku sem dám aj ten druhý

==================================

Kód: Vybrať všetko

Program objemy;
uses CRT;
const pi=3.1415;
var vyber,a,b,c:integer;
    objem:real;
begin
clrscr;
writeln('Ak chces objem kocky, stlac "1"');
writeln('Ak chces objem kvadra, stlac "2"');
writeln('Ak chces objem gule, stlac "3"');
readln(vyber);
case vyber of
1: begin
   write('Zadaj hranu kocky a: ');
   read(a);
   objem:=a*a*a;
   writeln('Objem kocky s hranou ',a,' je: ',objem:2:2);
   end;
2: begin
   write('Zadaj hranu a: ');
   readln(a);
   write('Zdaj hranu b: ');
   readln(b);
   write('Zdaj hranu c: ');
   readln(c);
   objem:=a*b*c;
   writeln('Objem kvadra je: ',objem:2:2);
   end;
3: begin
   write('Zadaj polomer r: ');
   readln(a);
   objem:=(pi*a*a*a/3)*4;
   writeln('Objem gule s polomerom ',a,' je: ,',objem:2:2);
   end
else writeln('Na vyber mas len cisla 1 2 alebo 3');
end;

repeat until keypressed;
end.
Popis
fakt neviem čo tam mám popisovať, je to jednoduché a jasné jak facka.. načítam výber, a na jeho základe vykonám časť programu :?
berija111
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 793
Registrovaný: 01 máj 2005, 12:42
Bydlisko: Martin
Kontaktovať používateľa:

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

diki moc si mi zachranil zivot ale v tom prvom mi vyhodilo chybu
I:=I-1;
ze nejaky ilegal assigment
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

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

no mne to môj turbo pascal 7 zobere, tak neviem.. je to riadiaca premenná cyklu, viem že niektoré jazyky toto nedovolia. Kľudne tam ten riadok môžeš vynechať, ale pri zadanom nesprávnom čísle stratíš jedno číslo. (napríklad ak z 10 čísel zadáš 3 zle, tak výsledok bude iba zo siedmych a nie z desiatich..)

//edit: alebo skús toto: takto je to s neurčitým počtom opakovaní, tak I nieje riadiacou premennou cyklu. To by ti malo ísť..

Kód: Vybrať všetko

program Prvy;
uses CRT;
 function sucetparny(vstup:integer):boolean;
  begin
  if (vstup mod 2 = 0) then sucetparny:=true else sucetparny:=false;
 end;

var cislo,x,sucet:integer;
    N,I:integer;
    vstup:string;
begin
clrscr;
write ('Zadaj pocet cisiel N: ');
readln (N);
I:=1;
while I<=N do begin
  write('Zdaj cislo: ');
  readln(vstup);
  val(vstup,cislo,x);
  if x>0 then begin
              writeln('Nebol zadany celociselny vstup!!!');
              dec(I);
              end
         else begin
              sucet:=sucet+cislo;
              end;
  inc(I);
  end;
clrscr;
if sucetparny(sucet) then writeln('ano') else writeln('nie');
repeat until keypressed;
end.
je to významovo to isté, len namiesto if použijem while. I dám na začiatku na jedna, pri neúsecho znížim, pri úspecho zvýšim.. ak sa dostanem na číslo N (to znamená že mám načítaných n čísel) tak končím
berija111
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 793
Registrovaný: 01 máj 2005, 12:42
Bydlisko: Martin
Kontaktovať používateľa:

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

som pouzil freepascal tak mozno tam je chyba ale fest dikesik som ti velmi vdacny :-) kujeeeeeeeeeeeeeeeem a nevies kde sa daju naucit jednodcuho zaklady pascalu??
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

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

Pozri sa tu:
a ak budeš mať väčší záujem pozri si celý tento web.
Napísať odpoveď