Programy v Pascale

Programovacie jazyky, rady, poradňa...
rochedo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 5328
Registrovaný: 08 okt 2005, 22:17
Bydlisko: KE

Programy v Pascale

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

Potreboval by som surne spravit tieto programy. Kamos prisel ku mne ci by som mu nevedel s tym pomoct lebo on je totalna lama v Pascale. Povedal som mu ze s tym skusim pomoct a nic ine ma nenapadlo len vypytat pomoc na hojku: diky kazdemu kto sa na to pozrie.
1.

Kód: Vybrať všetko

napiste program ktory si nahodne zvoli 3 realne cisla  intervale (-10,10) a vypise ich s presnostou na 3 desatinne cisla v tvare:
1. myslene cislo: ____
2. myslene cislo: ____
3. myslene cislo: ____
2.

Kód: Vybrať všetko

napiste program, ktory vypocita priemerny prospech ziakov z predmetu matematika ak zoznam ziakov je ulozeny v textovom subore a znamky ziakov sa zadavaju cez klavesnicu
3.

Kód: Vybrať všetko

napiste program na vypocet priemeru vysok 5 spoluziakov ak cez klavesnicu nacitate ich vysky. vystup upravte v tvare:
vyska 1. ziaka ..... ------
vyska 2. ziaka ..... ------
vyska 3 .ziaka ..... ------
vyska 4. ziaka ..... ------
vyska 5. ziaka ..... ------
priemerna vyska ..... ------
makaveli
King
King
Používateľov profilový obrázok
Príspevky: 1688
Registrovaný: 17 okt 2005, 20:55
Bydlisko: Brno
Kontaktovať používateľa:

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

nemam moc cas, tak aspon jeden...

Kód: Vybrať všetko

program uloha3;
 uses crt;
 var temp:Array[1..6] of Integer;
 var i:integer;
 begin
  clrscr;
  for i:=1 to 5 do begin
   writeln('zadaj vysku ziaka c. ',i);
   readln(temp[i]);
   temp[6]:=temp[6]+temp[i];
  end;
  clrscr;	
  for i:=1 to 5 do
   writeln('vyska ',i,'. ziaka je .... ',temp[i]);
  writeln;
  writeln('priemerna vyska je .... ',temp[6]/5:2:2);
  readln;
end.
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

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

Kód: Vybrať všetko

uses crt;
function cislo:real;
var a:real;b:byte;
begin
a:=random(10)+random;
b:=random(2);
if b=0 then cislo:=a*-1 else cislo:=a;
end;
var a:byte;
begin clrscr;
randomize;
for a:=1 to 3 do writeln(a,'. myslene cislo: ',cislo:0:3);
end.
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 »

juho wtf?

Kód: Vybrať všetko

a:=random(10)+random;
b:=random(2);
if b=0 then cislo:=a*-1 else cislo:=a; 
stačí a:=random(21)-10 a ušetríme jednu premennú. A tiež cez fciu je to zbytočné robiť, to random(20)-10 môžeš dať priamo do výpisu
ChesterZZ
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 12
Registrovaný: 06 sep 2007, 10:53
Bydlisko: Bratislava
Kontaktovať používateľa:

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

Tiež by som potreboval nejaké tie programy do školy a absolútne nemám šajnu ako na to... PLS pomožte ak viete, díky:

Kód: Vybrať všetko

1.) Napíšte program na riešenie kvadratickej rovnice ax2 + bx + c = 0. Vstupné hodnoty sú a, b, c. Program má testovať, či rovnica je kvadratická alebo lineárna, v prípade kvadratickej určte riešenie v závislosti od diskriminantu rovnice.

Kód: Vybrať všetko

2.) Napíšte program, ktorý pre tri reálne čísla dané na vstupe vypočíta a vypíše súčet tých z nich, ktoré sú z intervalu <-2,5;2,5>.
Výstup upravte v tvare: súčet X, Y, Z z daného intervalu je S.

Kód: Vybrať všetko

3.) Napíšte program, ktorý zistí a vypíše počet všetkých deliteľov prirodzeného čísla načítaného na vstupe. Výstup upravte v tvare: Deliteľmi prirodzeného čísla N sú : X1, X2, ... , XN.

Kód: Vybrať všetko

4.) V premennej VKLAD je suma peňazí, ktorú sme vloŽili na účet. V premennej UROK je v percentách vyjadrená hodnota úrokovej miery, podľa ktorej sa náš účet každoročne zvyšuje. Napíšte časť programu, ktorá zistí koľko rokov musíme mať peniaze na účte, aby sme spolu s nazbieranými úrokmi dosiahli sumu určenú hodnotou premennej SUMA.

Kód: Vybrať všetko

5.) Napíšte program na výpočet n! (využite cyklus s podmienkou na konci).

Kód: Vybrať všetko

6.) Napíšte program, ktorý v číselnom poli zadávanom cez klávesnicu navzájom vymení maximálny a minimálny prvok. Výmenu prvkov riešte pomocou procedúry.
Výstup pripravte nasledovne: napr. pôvodné pole: 5, 2, 3, 8, 4
                                   upravené pole: 5, 8, 3, 2, 4
Díky ešte raz každému.
neppo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 774
Registrovaný: 09 jún 2005, 15:33

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

5)

Kód: Vybrať všetko

program faktorial;
var n:integer;
     fakt:longint;
begin
readln(n);

fakt:=n;

repeat
     n:=n-1;
     fakt:=fakt*n;
until(n=0);
end.
ChesterZZ
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 12
Registrovaný: 06 sep 2007, 10:53
Bydlisko: Bratislava
Kontaktovať používateľa:

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

Díky, ale skúšal si to ? Mne to nefunguje...
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 »

ChesterZZ napísal:Díky, ale skúšal si to ? Mne to nefunguje...
má tam zlú podmienku, daj to until(n=1);
neppo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 774
Registrovaný: 09 jún 2005, 15:33

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

sry pisal som to z hlavy...
ChesterZZ
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 12
Registrovaný: 06 sep 2007, 10:53
Bydlisko: Bratislava
Kontaktovať používateľa:

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

Audiotrack díky moc :wink:. Vidím, že sa vyznáš... S ostatnými programami by si mi nevedel pomôcť ? :D Neppo dík aj tebe :)
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 »

vedel, ale sa mi nechce :) takto sa to nenaučíš
makaveli
King
King
Používateľov profilový obrázok
Príspevky: 1688
Registrovaný: 17 okt 2005, 20:55
Bydlisko: Brno
Kontaktovať používateľa:

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

ChesterZZ napísal:Tiež by som potreboval nejaké tie programy do školy a absolútne nemám šajnu ako na to... PLS pomožte ak viete, díky:

Kód: Vybrať všetko

4.) V premennej VKLAD je suma peňazí, ktorú sme vloŽili na účet. V premennej UROK je v percentách vyjadrená hodnota úrokovej miery, podľa ktorej sa náš účet každoročne zvyšuje. Napíšte časť programu, ktorá zistí koľko rokov musíme mať peniaze na účte, aby sme spolu s nazbieranými úrokmi dosiahli sumu určenú hodnotou premennej SUMA.
spravil som ti tento program, je to spravene pre jednoduche urokovanie, take, ze suma, ktora je na ucte sa raz za rok zuroci...

Kód: Vybrať všetko

program urokovanie;
uses crt;
var suma,urok,vklad,p:integer;
var temp:real;
begin
 clrscr;
 writeln('zadaj vklad na ucet');
 readln(vklad);
 writeln;
 writeln('zadaj rocny urok');
 readln(urok);
 writeln;
 writeln('zadaj sumu, ktoru chces dosiahnut');
 readln(suma);
 writeln;
 temp:=suma;
 p:=0;
 while temp>vklad do begin
  temp:=temp/(1+(urok/100));
  p:=p+1;
 end;
 if p<5 then
  writeln('z vkladu ',vklad,' dosiahnes sumu ',suma,' s urokovou mierou ',urok,' za ',p,' roky.')
 else
  writeln('z vkladu ',vklad,' dosiahnes sumu ',suma,' s urokovou mierou ',urok,' za ',p,' rokov.');
 readln;
end.
ChesterZZ napísal:

Kód: Vybrať všetko

3.) Napíšte program, ktorý zistí a vypíše počet všetkých deliteľov prirodzeného čísla načítaného na vstupe. Výstup upravte v tvare: Deliteľmi prirodzeného čísla N sú : X1, X2, ... , XN.
tu mas este ten na delitele:

Kód: Vybrať všetko

program delitele;
uses crt;
var n,c,k,t:integer;
var p:Array[1..100] of integer;
begin
 clrscr;
 c:=0;
 t:=1;
 writeln('zadaj cislo u ktoreho chces zistit pocet delitelov');
 readln(n);
 for k:=1 to n do begin
  if n mod k = 0 then begin
   c:=c+1;
   p[t]:=k;
   t:=t+1;
  end;
 end;
 writeln;
 writeln('Cislo ',n,' ma ',c,' delitelov.');
 writeln('Tieto delitele su: ');
 writeln;
 for k:=1 to (t-1) do
 if k<(t-1) then write(p[k],', ') else write(p[k]);
 readln;
end.
//vidim, ze ma audiotrack s delitelmi predbehol :wink:
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 »

tak aj ja nejaké pridám, idem spať, ak to nikto nedorazí tak zajtra

Kód: Vybrať všetko

program blabla;
var cislo,sucet:real;
    i:integer;
begin
sucet:=0;
for i:=1 to 3 do begin
  writeln('Zadaj ',i,'. cislo: ');
  readln(cislo);
  if (cislo<=2.5) and (cislo>=-2.5) then sucet:=sucet+cislo;
end;
writeln(sucet:2:2);
end.

Kód: Vybrať všetko

program blabla;
var cislo,delitel:integer;
    i:integer;
begin
writeln('Zadaj cislo');
readln(cislo);
write('Delitele cisla ',cislo,' su: ');
for i:=1 to cislo do begin
  if cislo mod i = 0 then write(i,', ');
end;
end.
ChesterZZ
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 12
Registrovaný: 06 sep 2007, 10:53
Bydlisko: Bratislava
Kontaktovať používateľa:

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

audiotrack napísal:vedel, ale sa mi nechce :) takto sa to nenaučíš
Viem, že nie, ale tie programy potrebujem súrne a už je neskoro učiť sa to... :?
audiotrack napísal:má tam zlú podmienku, daj to until(n=1);
Nefunguje to ani takto...

makaveli a audiotrack díky moc :wink:

Mohli by ste urobiť ešte tie zvyšné 3 programy ? Potrebujem to už na dneska.... Ďakujem :wink:
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 »

ChesterZZ napísal:Nefunguje to ani takto...
zaujímavé, že moja logika aj kompilátor to vyhodnotil ako správne a vrátil výsledok zodpovedajúci faktorialu zadaného čísla :)
neviem ako si na to došiel že to nejde
ChesterZZ
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 12
Registrovaný: 06 sep 2007, 10:53
Bydlisko: Bratislava
Kontaktovať používateľa:

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

Tak ja neviem čo s tým je, ale keď to spustím a zadám číslo, tak mi faktoriál nevypočíta proste.

Kód: Vybrať všetko

program faktorial; 
var n:integer; 
     fakt:longint; 
begin 
readln(n); 

fakt:=n; 

repeat 
     n:=n-1; 
     fakt:=fakt*n; 
until(n=1);
readln; 
end.
Takto to máš aj ty?
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, tak to mám. A som si istý že ti ho vypíčta. Druhá vec je, že si ho nikde nevypíšeš, ale výsledok bude v premennej fakt určite správny. Tak nepíš že to nefunguje :)
piton
King
King
Používateľov profilový obrázok
Príspevky: 1902
Registrovaný: 02 aug 2005, 0:31
Bydlisko: Hnojisko

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

ChesterZZ napísal:Tak ja neviem čo s tým je, ale keď to spustím a zadám číslo, tak mi faktoriál nevypočíta proste.

Kód: Vybrať všetko

program faktorial; 
var n:integer; 
     fakt:longint; 
begin 
readln(n); 

fakt:=n; 

repeat 
     n:=n-1; 
     fakt:=fakt*n; 
until(n=1);
readln; 
end.
Takto to máš aj ty?
Prva vec: Vies co je faktorial?
Druha: Ten program nevypocita faktoroial velkeho cisla, lebo sa do longintu "nezmesti"...
ChesterZZ
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 12
Registrovaný: 06 sep 2007, 10:53
Bydlisko: Bratislava
Kontaktovať používateľa:

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

Takže aj keď mi nevypíše výsledok, je to správne ? A čo s tým potom, aby mi vypísalo aj výsledok ? :D

Piton sprostý nie som, ale program, ktorý mi nevypíše výsledok mi je nanič. A nemyslím si, že napr. 2! je až také veľké číslo :D
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 »

ChesterZZ napísal:Takže aj keď mi nevypíše výsledok, je to správne ? A čó s tým potom, aby mi vypísalo aj výsledok ? :D
žeby writeln(fakt) pred posledné readln? :roll:
ChesterZZ napísal:Piton sprostý nie som, ale program, ktorý mi nevypíše výsledok mi je nanič. A nemyslím si, že napr. 2! je až také veľké číslo :D
ehm, no radšej budem ticho
Napísať odpoveď