Príkazy pre prácu so súbormi v Pascale.
Úvod
1. Vypíšte na obrazovku "ahoj svet" - writeln. 2. Vygenerujte náhodné číslo, ktoré bude počet sekúnd a zistite koľko je to hod., min. a dní - div, mod, random, randomize 3. Program, ktorý načíta a,b a vypočíta výraz (a+b)**2 readln, writeln 4. Načítajte z klávesnice vaše meno a vypíšte n krát na obrazovku - input, print, zreťazenie reťazcov. 5. Vytvorte program kde zistíte celočíselný podiel a celočíselný zvyšok z 2 čísel zadaných z klávesnice. - div, mod 6. Načítajte zo vstupu a,b,c ktoré sú koeficientami ax2+bx+c=0 a zistite korene ak ma rovnica riešenie. -IF 7. Program, kde si pre dve čísla zadané z klávesnice vyberiete operáciu +,-,*,/ a výsledok vypíšte - elif 8. Program, ktorý zistí či zadané číslo je párne alebo nepárne - IF 9. Program, ktorý zistí či je trojuholník zostrojitelný ak poznáme jeho 3 strany - IF 10. Zistite vzájomnú polohu bodu a štvorca ak poznáte súradnice bodu (x,y) súradnice stredu štvorca sú 0,0 a veľkosť strany štvorca je (a) - IF 11. Program ktorý zisti zo súradníc bodu v ktorej časti súradnicovej roviny sa nachádza, IF --,-+,+-,++ 12. Načítajte 3 čísla (a,b,c) a vypíšte ich od najmenšieho po najväčšie - IF 13. Načítajte číslo int zo vstupu a zistite koľko ciferné je to číslo, vyriešte po 6 ciferné číslo. - IF, alebo Case - 14. Vytvorte zmenáreň, zadajte číslo v € a premeňte ho na Anglické Libry, zistite aktuálny kurz. - IF, //, %
15. Zistite, či môže nákladné auto prejsť cez most, ak poznáme nosnosť mosta a váhu auta. Cykly 1. Program NSD - while 2. Zistite počet cifier čísla N - while 3. Program súčet cifier čísla - while 4. Pomocou opakovaného odčítania zistite delenie zo zvyškom pre čísla (a, b)- while 5. Program pohybu hviezdičky po obrazovke pokiaľ nestlačíme Esc - repeat, readkey, keypressed, gotoxy 6. Vytvorte usporiadanú postupnosť čísiel veľkost si zadajte z klávesnice- For 7. Vypíšte na obrazovku párne čísla v zadanom rozsahu - For, IF 8. Vytvorte program malej násobilky - For 9. Program na n členov fibonachiho postupnosti - For 10. Zadané slovo zakódujte sposôbom zistenia ordinálnej hodnoty znaku + 1 - for, string, length, org, chr 11. 12. Zadanú vetu prispôsobte formátu SMS - odstráňte medzery a začiatočné písmena slov dajte veľkým písmenom, - For, string, uppcase, IF 13. Vynásobte dve čísla (a, b) bez použitia operácie násobenia - For 14. Vytvorte program ktorý vypíše n hviezdičiek do riadku. - For 15. Zistite aritmetický priemer čísel v zadanom rozsahu (a, b) - For, real 16. Zistite či je číslo (n) prvočíslo - for, mod, if 17. Vypočítajte faktoriál čísla (n) - for 18. Zistite všetky delitele čísla - for, mod, if 19. Vypočítajte n na x-tu - for 20. Vytvorte program ktorý vypíše n hviezdičiek do tvaru n=4 * ** *** **** 21. Vytvorte program ktory vypise n hviezdiciek do tvaru n=4 **** *** ** * 22. Zistite či je zadané číslo palindróm ak nie, nech nájde najbližší väčší palindróm - while, If 23. Zistite či je zadané číslo prvočíslo - for, IF 24. Vypíšte všetky prvočísla po zadané číslo n - For, IF
25. Zistite či je ŠPZ napísaná v správnom tvare. XY123XY
26. Do nákladného auta nakladáte palety hmotnosti 0.9t nosnosť auta je 10t ak naložíte plné auto, nech vypíše "pristavte prazdne auto" a nakladá pokiaľ nenaloží náhodne vygenerovanú celkovú hmotnosť tovaru. Zoznamy, polia, str 1. Vytvorte program ktorý zistí MAX prvok a aj jeho pozíciu v poli čísel o veľkosti n - for, IF, array 2. Vygenerujte n prvkovú postupnosť čísel a zistite koľko je v nej párnych a koľko nepárnych čísel - for, if, array 3. V n prvkovej postupnosti vypíšte prvočísla a aj pozície na ktorých sa nachádzajú - for, if, array 4. Do n prvkovej postupnosti pridajte prvok (x) na zadanú pozíciu (p) tak aby sa žiadny prvok neprepísal a vznikla n+1 prvková postupnosť. - for, if, array 5. V n prvkovej postupnosti čísel, nájdite minimum a maximum a vymeňte ich pozície. - for, if, array 6. V postupnosti čísel nájdite druhé minimum aj s pozíciou - for, if, array 7. Vytvorte program v ktorom odoberiete prvok z prvej pozície a pridáte nový prvok na koniec postupnosti, - for, array 8. Zistite počet dvojciferných čísel v n*prvkovej postupnosti naplnenéj náhodnými číslami - for, array, if 9. Vytvorte program, ktorý zistí početnosť znakov vo vete. string, array, if, for
10. Zo zadaného rodného čísla zistite či je to muž, alebo žena - string Zložené údajové typy 1. Vytvorte program ktorý si bude pamätať informácie o hráčoch volejbalu meno výška váha výskok Číselné hodnoty generujte náhodne Zistite najvyššieho hráča Hráča s najnižším výskokom Vypíšte všetkých s výskokom nad 3 m 2. Vytvorte program ktorý si bude pamätať informácie o žiakoch a písomkách z každej písomky môže získať maximálne 10 bodov meno p1, p2, p3, p4 Zistite žiakov ktorý majú maximálny počet bodov zo všetkých písomiek Zistite žiaka ktorý má najmenej bodov z písomiek Usporiadajte žiakov podľa bodov z celkového počtu bodov im vytvorte známku percentá: 100 - 90 - 1 89 - 75 - 2 74 - 50 - 3 49 - 25 - 4 74 - 50 - 3 49 - 25 - 4 24 - 0 - 5 Body generujte náhodne. 3. Vytvorte program ktorý si bude pamätať hráčov hodu s kockou Každý hráč hádže 5 pokusov. Vypíšte informácie v podobe tabuľky. V poslednom stĺpci zobrazte celkový počet bodov. Zistite hráčov ktorí hodili viac ako 2 šestky. Zistite hráča s najviac šestkami. Zistite hráča s najnižším počtom šestiek. Hody vytvorte pomocou random.
Pascal poskytuje päť preddefinovaných celočíselných typov. Každý typ popisuje podmnožinu množiny celých čísel. Každý typ má určitý rozsah s ktorými vie pracovať a aké miesto zaberá v pamäti, tabuľke je uvedený ako veľkosť.
| Typ |
Rozsah hodnôt |
Veľkosť |
| ShortInt | -128 .. 127 | 1 Byte |
| Integer | -32 768 .. 32 767 | 2 Byte |
| LongInt | -2 147 483 648 .. 2 147 483 647 | 4 Byte |
| Byte | 0 .. 255 | 1 Byte |
| Word | 0 .. 65535 | 2 Byte |
S celočíselnými údajovými typmi môžeme vykonávať operácie:
Automatické činnosti s celými číslami (funkcie a procedúry)
| Typ | rozsah | veľkosť |
| real | 2,9*10-39 .. 1,7*10+38 | 6 Byte |
| single | 1,5*10-45 .. 3,4*10+38 | 4 Byte |
| double | 5,0*10-324 .. 1,7*10+308 | 8 Byte |
| extendet | 3,4*10-4932 .. 1,1*10+4932 | 10 Byte |
| comp | -2-63+1 .. 2+63-1 | 8 Byte |
Operácie:
Automatické činnosti s celými číslami (funkcie a procedúry)
Znaky ako premenné v pascale môžeme definovať pomocou typu char. Vyjadrujú sa ohraničené apostrofmi pr. ‘A’ Inou možnosťou je zadať ich číselnú hodnotu ktorá sa nachádza v ASCII tabuľke. Pred túto číselnú hodnotu sa musí dať znak #.
Na získanie takejto číselnej reprezentácie znaku nám slúžia funkcie:
ord(‘A’) = 65
chr(65) = A
Zmena malých písmen na veľké:
Upcase
Ide o údajový typ Boolean, ktorý môže nadobúdať len 2 hodnoty:
true – pravda
false – nepravda
Priorita operátorov:
| Priorita | Operátor |
| 4 | not |
| 3 | *, /, div, mod, and |
| 2 | +, -, or |
| 1 | =, <>, >, <, <=, >= |
Operácie and, or, not:
| X | Y | X and Y | X or Y | not (X) |
| false | false | false | false | true |
| false | true | false | true | true |
| true | false | false | true | false |
| true | true | true | true | false |
Jedná sa o údajový typ string, ktorý môže mať maximálne dĺžku 255 znakov to znamená že sa jedná o postupnosť znakov. Typ reťazec je deklarovaný ak nieje deklarovaná jeho veľkosť má preddeklarovanú veľkosť 255 znakov. Reťazcové konštanty sú zapisované v apostrofoch.
Procedúry a funkcie STRING
Procedúry
Funkcie
| Delete (reťazec, index1, počet vymazaných znakov); | s:= ‘jano’ delete(s, 2, 2)s=’jo’ | ||
| Insert (vklad. ret., ciel ret, pozícia 1 znaku vkladaného reťazca) | s:=‘kola‘ Insert (‘by’,s,3) s=‘kobyla‘ | ||
| Copy ([reťazec, z ktorého berieme],[index začiatku], [počet prvkov]); | s:=copy(‘značka’, 3, 4) s=‘ačka‘ | ||
| Concat zlúči (sčíta) lubov. počet reťazcov | s:= concat(‘ABC’, ‘CE’, ‘FGH’) s=‘ABCCEFGH‘s:= ‘abc’+’bcd’+’def’ s=’abcbcddef’ | ||
| Val ([reťazec], [premenná do ktorej sa uloží číslo], [chybový kód]) | Val(‘123’, i, code)i, code: integercode=0 všetko OK ak číslo je to číslo kde došlo k chybe | ||
| Length – určí dĺžku reťazca | dlzka:= length(‘abc’)dlzka = 3 | ||
| pos – určí pozíciu podreťazca v reťazci | s:=’ahoj pascal’;n:=pos(‘ ‘,s);v n bude hodnota 5 | ||
Namiesto ‘abc’ môže byť premenná typu string meno, priezvisko: string; concat (meno, priezvisko) |
|||