Základy programovania pomocou príkladov - 2004
Pre tlač tu ponúkam tento text aj v *.pdf
Príklady si tiež môžete ztiahnuť v balíku (*.pas, *.exe + zadania).
-
- Napíšte program, ktorý pomocou cyklu vypíše malú abecedu.
program mo1A; var znak:char; begin for znak:='a' to 'z' do write(znak:2); {znak:2 znamena, ze jeden znak vypise na dve miesta} readln;{caka na [ENTER] } end. - Napíšte program, ktorý zistí, či tri zadané čísla na vstupe môžu byť stranami pravouhlého trojuholníka.
program mo1B; var a,b,c,x:real; begin writeln('zadaj strany trojuholnika'); readln(a,b,c); {najskuor si hodnoty a,b,c pekne usporiadame aby platilo a >= b >= c !} repeat if a<b then begin x:=a; a:=b; b:=x; {x je akoze a} end; if b<c then begin x:=b; b:=c; c:=x; {x je akoze b} end; until (a>=b) and (b>=c); {to 'and' je logicka operacia} {koniec usporiadania} {a*a muozme napisat aj ako sqr(a) } if (a*a)=(b*b+c*c) then writeln('Bravo, trojuholnik je pravouhly') else if a < (b+c) then writeln('Je to len obycajny trojuholnik') else writeln('Smola to nieje trojuholnik'); {Je tu viacnasobna podmienka, treba sa na to kuknut pozornejsie} readln; end.
-
- Na vstupe máme nejakú vetu. Napíšte program, ktorý zistí, koľko je v danej vete číslic.
program mo2A; var znak:char; pocet:integer; begin writeln('Zadaj vetu, v pohode.'); pocet:=0; repeat read(znak); if (znak>='0') and (znak<='9') then inc(pocet); { inc(x) znamena ze premennu x zvacsi o jednotku } until znak='.'; {ta bodka je akoze koniec vety} writeln('Vo vete je ',pocet,' cislic(a)'); readln; readln;{readln je tu 2 krat} end. - Simulujte cyklus FOR pomocou WHILE.
program mo2B; var I:integer; begin writeln('vypiseme si cisielka'); for I:=1 to 9 do write(I:2); writeln(''); {skoci do noveho riadku} {a teraz to iste pomocou while} I:=0; while I<=8 do begin {je to podmienka} inc(I); {to je vlastne I:=I+1} write(I:2); end; readln; end.
-
- Napíšte program, ktorý premení čas zadaný v sekundách na celé hodiny, minúty a sekundy.
program mo3A; var vstup:longint; h,m,s:integer; {vystup} begin writeln('zadaj sekundy'); readln(vstup); h:=vstup div 3600; {div celociselne delenie} vstup:=vstup mod 3600; {mod zvisok po deleni 3600} m:=vstup div 60; vstup:=vstup mod 60; s:=vstup; writeln('Predstavuje to ',h:4,' hod, ',m:3,' min a ',s:3,' sekund'); readln; end. - Simulácia dvojrozmerného poľa: máme 10 riadkov po 5 znakov, napíšte program, ktorý všetky riadky posunie o jeden riadok nižšie a na miesto prvého riadku dá riadok posledný.
Dalo by sa to i na oko jednoduchšie, tak že:
type riadok=array[1..5] of char; pole=array[1..10] of riadok; var m:pole; ... {a vymenili by sme len riadky, ale načítanie by bolo takmer to isté:} readln(pole[x][y]);program mo3B; type pole=array[1..5,1..10] of char; {je to ako keby na ciselnej osi x a y} pomocne_pole=array[1..5] of char; var matica:pole; help:pomocne_pole; x,y:shortint; begin for y:=1 to 10 do begin for x:=1 to 5 do begin write(' m[',x:1,',',y:2,']= '); readln(matica[x,y]); end; writeln; end; {mame nacitane to pole} {vypiseme puovodne pole} for y:=1 to 10 do begin for x:=1 to 5 do begin write(matica[x,y]:4); end; writeln; end; writeln('vysledne pole po posunuti'); {posunieme pole} for x:=1 to 5 do begin help[x]:=matica[x,10]; {nacitame posledny riadok pola} end; for y:=10 downto 2 do begin for x:=1 to 5 do begin matica[x,y]:=matica[x,y-1]; end; end; for x:=1 to 5 do begin matica[x,1]:=help[x]; {napiseme prvy riadok pola} end; {-----vypiseme vysledok-----} for y:=1 to 10 do begin for x:=1 to 5 do begin write(matica[x,y]:4); end; writeln; end; readln; end.
-
- Napíšte program, ktorý zistí, či na vstupe je číslo deliteľné trojkou a či je párne.
program mo4A; var vstup:longint; begin writeln('zadaj cislo, cele'); readln(vstup); if vstup=0 then writeln('To je nula') else begin if (vstup mod 3)=0 then writeln('cislo je delitelne trojkou (3)') else writeln('cislo nieje delitelne trojkou (3)'); if (vstup mod 2)=0 then writeln('cislo je parne') else writeln('cislo nieje parne'); end; readln; end. - Napíšte program, ktorý zistí, či číslo na vstupe je prvočíslo.
program mo4B; var vstup:longint; p,c,I:integer; begin writeln('Zadaj cislo vacsie ako 0'); readln(vstup); p:=0; case vstup of 1: begin writeln('specificke nezaradene cislo'); halt; {halt okamzite skonci cely program} end; end; if vstup>2 then begin {toto je matematicke pravidlo} c:=trunc(sqrt(vstup)+1); {sqrt = odmocnina druha trunc = odreze desatinu cast, teda napr. 45.26 -> 45 } for I:=2 to c do begin if (vstup mod I)=0 then inc(p); end; end; if p=0 then writeln('toto cislo je prvocislo') else writeln('toto nieje prvocislo'); readln; end.
-
- Máme pole typu n x n. Urobte program, ktorý ho otočí o 90 stupňov.
program mo5A; const n=3; type pole=array[1..n,1..n] of char; var matica,otocene_pole:pole; x,y:integer; begin {nacitame pole znakov} for y:=1 to n do begin for x:=1 to n do begin tento komplikovany zapis nemusis rozoberat, funguje} write('matica[',x:2,',',y:2,']= '); readln(matica[x,y]); end; writeln; end; {vypiseme pole puovodne} for y:=1 to n do begin for x:=1 to n do begin write(matica[x,y]:3); end; writeln; end; {teraz pole otocime o 90stupnov proti smeru hodinovych ruciciek} for y:=1 to n do begin for x:=1 to n do begin otocene_pole[x,y]:=matica[n+1-y,x]; end; end; {vypiseme pole po otoceny} writeln('po otoceny'); for y:=1 to n do begin for x:=1 to n do begin write(otocene_pole[x,y]:3); end; writeln; end; readln; end. - Napíšte program, ktorý vynásobí dve čísla bez toho, aby použil násobenie.
program mo5B; var zaklad,sucin:real; cinitel,I:integer; begin writeln('zadajte cislo, ktore chcete nasobit - realne'); readln(zaklad); writeln('zadajte cislo, ktorim chcete nasobit - cele'); readln(cinitel); sucin:=0; {if (cinitel=0) or (zaklad=0) then else - tento zapis nahradime} if (cinitel<>0) and (zaklad<>0) then for I:=1 to abs(cinitel) do begin sucin:=sucin+zaklad; end; if cinitel<0 then sucin:=-1*sucin; {funkcia abs(x) je absolutna hodnota z x} writeln('Sucin je ',sucin:10:10); {zapis sucin:10:10 znamena, ze vysledok napise na 10 celych a na 10 desatinych miest ho zaokruhli} readln; end.
-
- Napíšte procedúru, ktorá vykreslí štvorec z hviezdičiek.
program mo6A; var x,y,a:shortint; procedure stvorec(x,y,a:shortint); {y je tam len pre krasu} var I,M:shortint; begin for I:=1 to a do begin {urobime odsadenie} for M:=1 to x do write(' '); {nakreslime stvorec} for M:=1 to a do write('* '); if I<>a then writeln; {vhupneme do dalsieho riadku} end; end; begin writeln('zadajte odsadenie a hranu stvorca / obrazovka je 80*25 znakov'); readln(x,a); stvorec(x,0,a); readln; end. - Dané sú súradnice bodu A. Napíšte program, ktorý zistí, či tento bod sa nachádza na priamke a*x+b=0.
program mo6B; type vektor=array[1..2] of real; var A:vektor; aa,bb:real; begin writeln('zadajte suradnice bodu A, Ax a Ay'); readln(A[1],A[2]); writeln('zadajte parametre pre priamku ax+b=0, teda a & b'); readln(aa,bb); if (aa*A[1]+bb)=A[2] then writeln('Dany bod lezi na priamke.') else writeln('Dany bod nelezi na priamke'); readln; end.
-
- Napíšte funkciu, ktorá z dvoch čísel vyberie menšie z nich.
program mo7A; var a,b:real; function vyber(a,b:real):real; {pascalu je jedno ci su tie nazvy rovnake ako v hlavnom programe} begin if a<=b then vyber:=a else vyber:=b; end; begin writeln('zadajte dve lubuvolne realne cisla'); readln(a,b); writeln('mensie je -> ',vyber(a,b):10:10); readln; end. - Je daný interval <a, b>. Napíšte program, ktorý sčíta všetky čísla z tohto intervalu deliteľné trojkou.
program mo7B; var a,b,x,I:integer; sucet:longint; begin writeln('zadajte rozmedzie intervalu <a,b>'); readln(a,b); {musime si skontrolovat velkost cisel a & b} if a>b then begin x:=a; a:=b; b:=x; end; sucet:=0; for I:=a to b do begin if (I mod 3)=0 then sucet:=sucet+I; end; writeln('konecny sucet je ',sucet:10); readln; end.
-
- Napíšte funkciu, ktorá zistí, či na vstupe je číslo alebo znak.
program mo8A; var vstup:char; function je_to_cislo(vstup:char):boolean; begin if (vstup>='0') and (vstup<='9') then je_to_cislo:=true else je_to_cislo:=false; end; begin writeln('zadaj znak'); readln(vstup); writeln('Je to cislo? - ',je_to_cislo(vstup)); readln; end. - ... na výber minimálneho čísla z troch čísel.
program mo8B; var a,b,c,min:real; begin writeln('zadaj tri cisla'); readln(a,b,c); if a<=b then min:=a else min:=b; if c<min then min:=c; writeln('minimum je ',min:10:10); readln; end.
-
- Napíšte program, pomocou ktorého vypočítate objem a povrch valca.
program mo9A; var v,r,povrch,objem:real; begin writeln('Zadajte vysku valca v a polomer podstavy r'); readln(v,r); povrch:= v*2*PI*r + 2*PI*sqr(r); objem:= PI*sqr(r)*v; writeln('Povrch valca je ',povrch:10:10,' j2'); writeln('Objem valca je ',objem:10:10,' j3'); readln; end. - Nakreslite vývojový diagram na premenu sekúnd na hodiny, minúty a sekundy.
viz [MO] 3a
-
- Napíšte program, ktorý vypočíta n!.
program mo10A; var vstup:integer; {Pozor, netreba sa nicoho bat, pouzijem len obycajnu funkciu. A preco by som nemohol volat aj viackrat tuto funkciu? Da sa to a vysledkom je rekurzia} function faktorial(n:integer):longint; begin if (n=1) or (n=0) then faktorial:=1 else faktorial:=n*faktorial(n-1); end; begin writeln('zadajte n (len do 12!)!'); readln(vstup); if vstup<0 then halt; {okamzite skonci program} writeln('n!= ',faktorial(vstup):30); readln; end. - ...na výpočet objemu a povrchu gule.
program mo10B; var r,povrch,objem:real; begin writeln('Zadajte polomer r gule'); readln(r); povrch:=4*PI*sqr(r); objem:= (4/3)*PI*r*r*r; writeln('Povrch gule je ',povrch:10:10,' j2'); writeln('Objem gule je ',objem:10:10,' j3'); readln; end.
-
- Napíšte program, ktorý z n čísel na vstupe vyberie minimum.
program mo11A; var n,I:integer; min,cislo:real; kontrolka:boolean;{dobre si to pozri} begin writeln('zadaj pocet cisel n'); readln(n); if n<1 then halt; writeln('zadaj cisla'); kontrolka:=false; for I:=1 to n do begin if kontrolka=false then begin {prvy krat je v cykle} readln(min); end; if kontrolka<>false then begin readln(cislo); if cislo<min then min:=cislo; end; kontrolka:=true; end; writeln('Minimum z ',n:2,' cisel je ',min:5:5); readln; end. - Nakreslite vývojový diagram na výpočet n faktoriálu.
viz [MO] 10a
-
- Napíšte program, ktorý z n čísel na vstupe vypočíta aritmetický priemer.
program mo12A; var n,I:integer; priemer,cislo:real; begin writeln('zadaj pocet cisel n'); readln(n); if n<1 then halt; writeln('zadaj cisla'); priemer:=0; for I:=1 to n do begin readln(cislo); priemer:=priemer+cislo; end; priemer:=priemer/n; writeln('Aritmeticky priemer z ',n:2,' cisel je ',priemer:10:5); readln; end. - Nakreslite vývojový diagram na simuláciu cyklu FOR pomocou cyklu WHILE.
viz [MO] 2b
-
- Napíšte program, ktorý sa ukončí, keď stlačíme ESC a bude reagovať na stlačenie kurzorových šípok, napr. po stlačení šípky hore napíše hore a podobne.
program mo13A; uses crt; var klavesa:char; begin repeat klavesa:=readkey; {readkey je funkcia kniznice crt} case klavesa of #72:write(' ^ '); {vlozil som to takto: [Alt]+30} #80:write(' ˇ '); {[Alt]+31} #75:write(' ',chr(17),' '); {v lavo} #77:write(' ',chr(16),' '); {v pravo} #32:write(' medzera'); {Esc} #27:halt; {mohli by sme tu este vsunut riadok else pre ostatne klavesy} end; until klavesa=#27; end. - Nakreslite vývojový diagram na výpočet aritmetického priemeru z n čísel.
viz [MO] 12a
-
- Napíšte program, ktorý usporiada tri čísla od najmenšieho po najväčšie.
viz [MO] 1b - časť toho programu usporadúva čísla od najmenšieho po najväčšie
- ... na výpočet an.
program mo14B; var a,vysledok:real; n,I:longint; begin writeln('zadajte a & n pre vypocet a^n | (a) muoze byt realne'); readln(a,n); vysledok:=1; if (a=0) and (n>0) then vysledok:=0; {specificky pripad} if a<>0 then begin {aby nedoslo k deleniu nulou} if n>0 then for I:=1 to n do begin vysledok:=vysledok*a; end; if n<0 then for I:=1 to abs(n) do begin vysledok:=vysledok/a; end; end; if (a=0) and (n<=0) then writeln('nedefinovane') else writeln(a:10:5,'^',n,'= ',vysledok:10:5); readln; end.
-
- Máme jednorozmerné pole s n znakmi. Napíšte program, ktorý z tohto poľa vyhodí všetky nuly.
program mo15A; const n=10; var pole_nula,pole:string[n];{string je vlastne obycajne pole znakov vlastne platy > sting[n]=array[1..n] of char} I:integer; begin pole:=''; writeln('zadajte ',n,' znakov'); readln(pole_nula); for I:= 1 to n do begin {length(pole_nula) toto je dlzka pola string} if pole_nula[I]<>'0' then pole:=pole+pole_nula[I]; end; writeln('vysledne pole znakov bez nul je'); writeln(pole); readln end. - ... na výpočet lineárnej rovnice a*x+b=0.
program mo15B; var a,b:real; begin writeln('zadajte parametre rovnice a*x+b=0, teda a & b'); readln(a,b); if (a=0)and(b=0) then writeln('riesenie je R') else if a=0 then writeln('rovnica nema risenie') else writeln('koren x= ',(-1*b/a):10:10); readln; end.
-
- Napíšte program, ktorý po zadaní a, b, c vypočíta koreň kvadratickej rovnice a*x2 + b*x + c =0.
program mo16A; var a,b,c,x1,x2,D:real; begin writeln('zadajte parametre kvadratickej rovnice a*x^2 + b*x + c=0'); writeln(' v poradi a,b & c'); readln(a,b,c); {vyzera to trochu strasidelne tolko podmienok, ale treba sa na to dobre pozriet} {zistime si diskriminant} D:=sqr(b)-4*a*c; if D<0 then writeln('rovnica nema riesenie v obore realnych cisel') else if a=0 then writeln('toto nieje kvadraticka rovnica') {tu sa da doplnit algoritmus pre riesenie linearnej rovnice} else begin x1:=(-1*b+sqrt(D))/(2*a); if D=0 then writeln('rovnica ma dvojnasobny koren x=',x1:10:10) else begin x2:=(-1*b-sqrt(D))/(2*a); writeln('korene: x1= ',x1:10:10,' x2= ',x2:10:10); end; end; readln; end. - Nakreslite vývojový diagram na výpočet absolútne hodnoty.
- ten je ale len v *.pdf -
-
- Napíšte program, ktorý zo vstupu a, n vráti an.
viz [MO] 14b
- Nakreslite vývojový diagram na výpočet kvadratickej rovnice a*x2 + b*x + c =0.
viz [MO] 16a, tam sa treba pohrať hlavne s tým diskriminantom
-
- Napíšte program, ktorý po zadaní a, b vypočíta koreň lineárnej rovnice a*x + b =0.
viz [MO] 15b
- ... na výmenu dvoch premenných.
... {pozor, premenne a,b,x su rovnakeho typu} x:=a; a:=b; b:=x;{x je akoze a} ...
-
- Napíšte funkciu, ktorá vráti z jednorozmerného poľa minimum.
program mo19A; const n=10;{dlzka toho pola} type pole=array[1..n] of real; var cisla:pole; I:integer; function min(cisla:pole):real; var I:integer; d:real; kontrolka:boolean; begin kontrolka:=false; for I:=1 to n do begin if kontrolka=false then d:=cisla[I]{prvy krat v cykle} else begin if cisla[I]<d then d:=cisla[I]; end; kontrolka:=true; end; min:=d; end; begin writeln('zadajte ',n,' cisel'); for I:=1 to n do begin readln(cisla[I]); end; writeln('minimum z tohto pola je ',min(cisla):10:10); readln; end. - ... na výpočet obsahu a obvodu kružnice.
program mo19B; var r,povrch,obvod:real; begin writeln('Zadajte polomer r kruhu'); readln(r); povrch:=PI*sqr(r); obvod:=2*PI*r; writeln('Povrch kruhu ',povrch:10:10,' j2'); writeln('Obvod kruhu je ',obvod:10:10,' j'); readln; end.
-
- Napíšte program, ktorý vynásobí dve matice a napíše výslednú maticu.
Najskôr musíme vedieť ako násobia matice:
Násobiť môžeme také dve matice, pre ktoré platí, že jedna je rovnako široká ako je druhá vysoká. Presnejšie : Nech A=(a ij) je matica typu m*n a nech B=(b ij) je matica typu n*p. (n je počet riadkov) Potom matica C=(c ij) typu m*p, pre prvky ktorej platí:
c[ij]=a[i1]*b[1j] + a[i2]*b[2j] + .. + a[in]*b[nj] , kde i = 1,2,...,m , j = 1,1,...,p sa nazýva súčinom matíc A a B. Zapisujeme to C=A * B.program mo20A; const m=2; n=3; p=4; type matica1=array[1..m,1..n] of real; matica2=array[1..n,1..p] of real; matica= array[1..m,1..p] of real; var A:matica1; B:matica2; C:matica; i,j,K:integer;{indexy} begin writeln('zadajte prvu maticu typu ',m,'*',n); for i:=1 to m do for j:=1 to n do begin writeln('A[',i,',',j,']= '); readln(A[i,j]); end; writeln('zadajte druhu maticu typu ',n,'*',p); for i:=1 to n do for j:=1 to p do begin writeln('B[',i,',',j,']= '); readln(B[i,j]); end; {vycistime maticu C} for i:=1 to m do for j:=1 to p do C[i,j]:=0; {vynasobime matice} for i:=1 to m do for j:=1 to p do begin for K:=1 to n do begin C[i,j]:=C[i,j]+A[i,K]*B[K,j] end; end; {vypiseme vysledok} writeln('matica C=A*B je:'); for i:=1 to m do begin for j:=1 to p do begin write(C[i,j]:15:5); end; writeln; end; readln; end. - Nakreslite vývojový diagram, ktorý zistí, či tri čísla môžu byť stranami trojuholníka.
viz [MO] 1b - tato úloha je častou programu, ale navyše zistí či sú to stany pravouhlého trojuholníka.
-
- Napíšte program, ktorý bude simulovať 10 hodov kocky.
program mo21A; const pocet=10;{pocet hodov kocky} var hod:byte; {ten ma rozmedzie 0 az 255} I,M:integer; begin randomize;{toto je tu potrebne pre generovanie nahodnych cisel} writeln('Tu su simulovane hody kockou'); writeln('hod |hodnota | 123456'); writeln('---------------------------------');{tieto ciarky su len na skraslenie} for I:=1 to pocet do begin write(I:2,'........[ '); hod:=trunc(random*6)+1; {trunc odreze desatinu cast cisla random je nahodne cislo z intervalu <0 , 1)} write(hod:1,' ] '); for M:=1 to hod do write(chr(2)); {7 znak v ASCII tabulke je pekny} writeln; {skocime do noveho riadka} end; readln; end. - Nakreslite vývojový diagram na usporiadanie troch čísel od najväčšieho po najmenšie.
viz [MO] 14a - otočené zadanie
-
- Napíšte program, ktorý vypočíta absolútnu hodnotu z čísla n.
program mo22A; var vstup:real; begin writeln('zadajte cislo'); readln(vstup); if vstup<0 then vstup:=-1*vstup; writeln('absolutna hodnota cisla je ',vstup:10:10); {Da sa to aj jednoduksie writeln('absolutna hodnota cisla je ',abs(vstup):10:10); ale to nieje cielom tejto ulohy} readln; end. - ... či číslo na vstupe je deliteľné číslom 4.
program mo22B; var vstup:longint; begin writeln('zadajte cislo - cele'); readln(vstup); if vstup=0 then writeln('neviem') else if (vstup mod 4)=0 then writeln('cislo je delitelne cislom 4') {mohli by sme to napisat aj takto if ( trunc(vstup/4) - vstup/4 )=0 then ...} else writeln('cislo nieje delitelne cislom 4'); readln; end.
-
- Napíšte program, ktorý po zadaní a, b vymení ich hodnoty.
... {pozor, premenne a,b,x su rovnakeho typu} x:=a; a:=b; b:=x;{x je akoze a} ... - Zostav program na výpočet súčtu členov postupnosti čísel. Počet členov postupnosti nie je dopredu známy, ale až keď zadáme číslo 0, tak sa vypíše súčet členov.
program mo23B; var vstup,sucet:real; begin writeln('zadajte cisla'); sucet:=0; repeat readln(vstup); sucet:=sucet+vstup; until vstup=0; writeln('sucet clenov postupnosti je ',sucet:15:10); readln; end.
-
- Napíšte program, ktorý vypočíta obvod a obsah trojuholníka.
program mo24A; var a,b,c,povrch,obvod,s:real; begin writeln('zadajte strany trojuholnika a, b & c'); readln(a,b,c); s:=(a+b+c)/2; povrch:=sqrt(s*(s-a)*(s-b)*(s-c));{Heronov vzorec} obvod:=a+b+c; writeln('Povrch trojuholnika ',povrch:10:10,' j2'); writeln('Obvod trojuholnika je ',obvod:10:10,' j'); readln; end. - Napíšte program pre riešenie sústavy dvoch lineárnych rovníc o dvoch neznámych vo všeobecnom tvare.
program mo24B; var a,b,c,d,e,f:real; x,y:real; riesenie:boolean; begin riesenie:=true; writeln('zadajte parametre pre prvu rovnicu a*x + by = c , teda a, b & c'); readln(a,b,c); writeln('zadajte parametre pre druhu rovnicu d*x + ey = f, teda d, e & f'); readln(d,e,f); x:=(f*b - c*e); if (d*b)=(a*e) then riesenie:=false else begin x:=x/(d*b - a*e); if b<>0 then y:=(c-a*x)/b else if e<>0 then y:=(f-d*x)/e; end; if riesenie=false then writeln('sustava nema riesenie') else writeln('x= ',x:10:10,' y:=',y:10:10); readln; end.
-
- Napíšte program, ktorý z n čísel nájde maximum. Ak ich je viac, nech vypíše, koľko týchto maxím je.
program mo25A; var n,I,pocet:integer; max,cislo:real; kontrolka:boolean; begin writeln('zadaj pocet cisel n'); readln(n); if n<1 then halt; writeln('zadaj cisla'); kontrolka:=false; pocet:=0; for I:=1 to n do begin if kontrolka=false then begin {prvy krat je v cykle} readln(max); pocet:=1; end; if kontrolka<>false then begin readln(cislo); if cislo=max then inc(pocet,1); {zvacsi pocet o 1} if cislo>max then begin max:=cislo; pocet:=1; end; end; kontrolka:=true; end; writeln('Maximum z ',n:2,' cisel je ',max:5:5); writeln('tychto maxim je ',pocet); readln; end. - Zostavte program pre výpis ASCII znakov od čísla 32 do 255.
program mo25B; var I:byte; begin writeln('ASCII tabulka'); for I:=1 to 80 do write('Ä'); for I:=32 to 255 do begin write(I:3,'='); write(chr(I),' | '); {chr(cislo) vypise znak s cislom v tabulke ASCII} end; readln; end.
mo ≈ master outline (hlavný náčrt)
Na záver zhrniem pár rád:
- string je špeciálne jednorozmerné pole znakov
- v Borland Pascale fungujú tieto klávesové skratky (používať! zrýchli to prácu o 100%)
- Ctrl + Insert - kopírovať
- Ctrl + Delete - zmazať
- Shift + Insert - vložiť
- text sa označuje Shiftom
- Ctrl + kurzorové šípky - rýchly pohyb v texte
- F10 - menu hlavné
- F3 - otvoriť súbor
- Alt + F3 - zavrieť aktuálne okno
- F6 - prepínanie medzi otvorenými oknami
- F5 - maximalizovanie aktuálneho okna
- Shift + F1 - slovník pojmov - stačí napísať pojem
- Alt + X - zavrieť Borland Pascal
Zámerne som nepísal vývojové diagramy, tie sú v podstate takmer totožné so štruktúrou programu v Pascale ale vsadené do grafických diagramov. Nájdete ich však v *.pdf dokumente.