Määritä päivän k:s sekunti. Lineaaristen algoritmien ohjelmoinnin oppitunnin kehittäminen. Merkki- ja merkkijonotietotyypit

Laskea

Tehtävä 2 (ohjelma 1_2)

    Se on päivän k toinen. Määritä kuinka monta kokonaista tuntia (h) ja kokonaista minuuttia (m) ja sekuntia (s) on kulunut tähän hetkeen mennessä.

    Määritä puolisuunnikkaan pinta-ala, jonka kantat a, b, korkeus h ja katkaistun kartion tilavuus, jos katsomme, että a, b ovat kantajen pinta-alat.

3. Määritä kolmen materiaalipisteen painopisteen koordinaatit, joiden massat ovat m 1,m 2,m 3 ja koordinaatit (x 1,y 1), (x 2,y 2), (x 3,y 3).

4. Laske pallon tilavuus ja ympyrän pinta-ala annetulla säteellä R ja selvitä niiden välinen suhde.

5. Laske kolmion sivujen a, b, c mediaanit.

6. Laske kartion pinta-ala ja tilavuus säteillä ja korkeudella h.

7. Määritä pallon tilavuus ja pinta-ala tietyllä säteellä.

8. Laske vuorokauden sekunti, kun osoittimet ovat h tunnin, m minuutin ja s sekunnin kohdalla, sekä kulma (asteina) tuntiosoittimen asennon välillä päivän alussa ja sen sijainnin välillä määritetyssä hetki.

9. Syötä kaksinumeroinen kokonaisluku x<15. Написать программу перевода его в восьмеричную систему счисления.

10. Syötä kahden pisteen koordinaatit (x 1, y 1), (x 2, y 2). Etsi niiden välinen etäisyys.

Lab 2

Haaroittuneiden algoritmien ohjelmointi. Ohjaa siirtooperaattoreita

Ehdollisen ohjauksen siirtooperaattorin rakenne:

jos (<выражение>) <оператор 1> muu <оператор 2>;

(Jos) (muu) - avainsanat,

Missä<условие>on mielivaltainen Boolen lauseke, jolla voi olla kaksi arvoa: tosi (TRUE) ja false (FALSE);

<оператор>- mikä tahansa SI-operaattori päättyy puolipisteeseen.

Ehdollisen lauseen lyhyt muoto:

jos (<выражение>) <оператор>;

Ehdoton hyppyoperaattori: mene <идентификатор-метка>;

Etiketti on tunniste. Tunniste sijoitetaan ennen C/C++-käskyä, johon olet haarautunut, ja erotetaan kaksoispisteellä (:).

Esimerkki 1. Luo ohjelma peruspalkan laskemiseksi seuraavan säännön mukaan: jos työntekijän työkokemus on alle kolme vuotta, niin palkka on 100 dollaria, työkokemuksella kolmesta 5 vuoteen - 150 dollaria, yli 5 vuotta palkka nousee joka vuosi 10 dollarilla, ja yli 20 vuoden kokemuksella se on 300 dollaria.

Ohjelmoidaksemme ratkaisun tähän ongelmaan määrittelemme ongelman matemaattisen muotoilun:

100, jos ST< 3;

ZP= 150, jos 3 ≤ST  5;

150+ (ST -5)*10, jos 5< ST≤ 20;

300, jos ST > 20;

#sisältää

#sisältää

void main()

( int ST; //ST- kokemus (tavu (kokonaisluku) etumerkitön tyyppi)

kellua ZP; //ZP- palkka (kelluva tyyppi)

printf("\nAnna kokemus");

scanf("%d",&ST);

jos (ST<3) ZP = 100;

muuten jos (ST<5) ZP = 150;

muuten jos (ST>=20) ZP=300;

muu ZP = 150+(ST-5)*10;

printf("\nPalkka = %10.2f$\n",ZP);

Valintaoperaattori vaihtaa sallii muuttujan tai lausekkeen (valintanäppäimen) arvosta riippuen suorittaa tiettyjä vastaavilla vakioilla merkittyjä operaattoreita.

Operaattorin rakenne:

vaihtaa (<выражение>)

tapaus<константа 1>: <группа операторов 1>;

tapaus<константа 2>: <группа операторов 2>;

tapaus<константа N>: <группа операторов N>

oletuksena: <операторы>;

}

Missä<выражение>-lauseke (muuttuja) minkä tahansa järjestysmuodon tyyppistä;

<константа>- samantyyppinen vakio kuin<выражение>;

<оператор>- mielivaltainen C/C++-operaattori.

Esimerkki 2. Tulosta muodon nimi kulmien lukumäärän mukaan (kolmio, nelikulmio, viisikulmio, kuusikulmio, monikulmio).

Muunnelmaa tehtävän toteuttamisesta valintaoperaattorilla edustaa SA (kuva 2, b) ja seuraava ohjelma:

#sisältää

#sisältää

void main()

{

int T; // T – kulmien lukumäärä

clrscr(); // Tyhjennä näyttö

printf("Anna kulmien lukumäärä");

scanf("%d",&T);

kytkin (T)

tapaus 1: tapaus 2: printf("Tämä ei ole kuvio\n"); tauko;

tapaus 3: printf ("%d kulmalla - kolmio\n ", T); tauko;

tapaus 4: printf ("%d kulmalla - nelikulmio\n ", T); tauko;

tapaus 5: printf("%d kulmalla - viisikulmio\n ", T); tauko;

tapaus 6: printf("%d kulmalla - kuusikulmio\n ", T); tauko;

oletuksena : printf("%d kulmalla - monikulmio\n ", T);

Harjoitus 1 (ohjelma 2_1)

Laske funktion arvo sen mukaan, mihin aikaväliin näppäimistöltä syötetty argumentti osuu:

1. Sillä , a t 2 ln t at 1
,

jossa a = -0,5, b = 2 z = 1 kohdassa t<1,

e a t cos b t arvolle t>2,

2. X:lle ,
kohdassa x2,

missä a = 2,3 f = x kohdassa 0,3< x  2,

cos(x-a) kohdassa x
,

3. X:lle , (a+b)/(e x +cosx) kohdassa 0  x2,3,

jossa a=-2,7,b=-0,27 z = (a+b)/(x+1) kohdassa 2,3 x5,

e x +sinx klo 7
,

4. Minulle , a i 4 + b i at i< 10,

jossa a = 2,2, b = 0,3. y = tan(i + 0,5), kun i = 10,

e 2i +
minulle >10,

5. X:lle , x 2 - 7/x 2 x<1.3,

missä a = 1,5 y = ax 3 + 7
1,3  x3,

lg(x + 7
) kohdassa x
,

6. Sillä [-1.4],
klo t<0.1,

jossa a = 2,1, b = 0,37. z = kohdassa + b kohdassa 0,1 t 2,

klo t
,

7. X:lle , a e sin x +2,5 kohdassa x<0.3,

jossa a = 1,5. y = e cos x + a kohdassa 0,3 x<4,

(sin x)/ (a + e x) kohdassa x  4,

8. X:lle , y = a/x + b x 2 - c kohdassa x
,

jossa a = 1,8, b = -0,5, c = 3,5 (a + bx)/
kohdassa x>1,2,

9. t ,t
klo t>a,

jossa a = 2,5 z = t sin a t kohdassa t = a,

e -at cos a t at t

10. X:lle , e - bx sin b x kohdassa x<2.3,

jossa a=1,b=3. y = cos bx kohdassa 2,3
,

e -ax cos b x kohdassa x

11.Kun t , a t 2 – b
klo t

jossa a = 1,3, b = 6,5 z = a - b kohdassa a

a t 2/3 -
kohdassa t>b,

12. X:lle , |e -2x sin bx| x > 1,

missä b = -2,9 y = cos bx kohdassa x = 1,

e -x cos bx kohdassa x< 1,

13. X:lle sin (cos a x), jos x >1,

jossa a = -0,8 z = tan ax kohdassa x = 1,

a 2 x x< 1,

14. X:lle , ln bx - 1/(bx+1) kohdassa x< 1.3,

missä b = 1,3. y = bx + 1 kohdassa 1,3  x  1,7,

ln bx +1/(bx+1), kun x > 1,7,

15. X:lle [-1,1], ax 2 +bx 2/3 kohdassa x<0.1,

jossa a = 2,5, b = -0,9. z = a x 2, kun x = 0,1,

b x 2/3 kohdassa x>0,1.

16. Syötä pisteen koordinaatit (x, y). Tulosta millä neljänneksellä tai koordinaattiakselilla tämä piste on.

17. Syötä säteet R 1, R 2 ja korkeus. Laske katkaistun kartion tilavuus:
, jossa S on emästen pinta-ala. Jos R 1 = R 2 - sylinterin tilavuus ja pinta-ala, jos R 1 = 0 tai R 2 = 0 - tilavuus (hπr 2) ja pinta-ala πr(
) kartion pinta.

18. Syötä numero näppäimistöltä. Selvitä, mihin numerojärjestelmään se voi kuulua.

19. Syötä numero. Selvitä, onko se jaollinen kahdella, kolmella vai viidellä.

20. Syötä a, b, h. Jos h = 0, laske suorakulmion pinta-ala; kun a = b, etsi neliön pinta-ala; muussa tapauksessa laske puolisuunnikkaan pinta-ala.

Tehtävä 2 (ohjelma 2_2)

1. Määritä syötetyn luvun x kahdeksalla jaon jäännös ja kirjoita oktaaliluku sanoin.

2. Kirjoita numeron nimi näppäimistöltä syötetyn numeron perusteella.

3. Syötä numero k (1...30) näppäimistöltä. Määritä, mitä viikonpäivää se vastaa, jos ensimmäinen numero on maanantai.

4. Syötä päivämäärä ja kuukausi. Kirjoita päivämäärä sanoin.

5. Päivän k sekunti on kulumassa. Laske kuinka monta tuntia ja kokonaista minuuttia on kulunut tähän hetkeen mennessä, samalla kun hyväksyt sanan merkityksen (tunti, tunnit, tunnit, minuutit, minuutit, minuutit).

6. Riippuen figuurityypin numerosta (N), järjestä tarvittavien tietojen syöttö ja laske N = 1 - ympyrän pinta-ala, N = 2 - pallon tilavuus (4/3πR 3), N = 3 - sylinterin tilavuus, N = 4 - pallon pinta-ala on 4πr 2.

7. Syötä numero N (0 ≤ N ≤ 15). Määritä ja tulosta sitä vastaava heksadesimaaliluku.

8. Tulosta kokonaisluvulle K (1...99) lause "I'm K years old"; korvaa tietyillä K:n arvoilla sana "years" sanalla "year" tai "years". .

9. Riippuen kuviotyypin numerosta (N), järjestä tarvittavien tietojen syöttäminen ja laske N = 1 - suorakulmion pinta-ala, N = 2 - suuntaviivan pinta-ala, jos N = 3 - puolisuunnikkaan pinta-ala 1/2(a+b)h. Jälkimmäisessä tapauksessa tulosta, onko puolisuunnikkaan suuntaviiva vai rombi.

10. Muunna luku 0 ≤ x ≤ 31 heksadesimaalilukujärjestelmäksi.

11. Tulosta sanoin minkä tahansa kokonaisluvun loppuosa jaettuna viidellä.

12. Käytä syötettyä numeroa ja tulosta haluamasi väri sateenkaareen.

13. Suunnittele ohjelma, joka osoittaa, että jos kaksinumeroisen luvun numeroiden summa on kolmen kerrannainen, niin luku itse on jaollinen kolmella ilman jäännöstä.

14. Kehitä ohjelma, joka osoittaa, että kaksinumeroisen luvun k5 neliö (viimeinen numero on 5) on yhtä suuri kuin k * ( k + 1) * 100 + 25 (eli voidaan saada kertomalla alkunumero k järjestyksessä seuraavaan ja lisää "25"). Esimerkiksi 35 * 11 = 3 * 4 * 100 + 25.

Tehtävässä 2 vaihtoehdon numero määräytyy yksittäisen vaihtoehdon luvulla 12 jakamalla jäännösosa.

Lab 3

Esityksen kuvaus yksittäisillä dioilla:

1 dia

Dian kuvaus:

Advanced Studies -keskus "Moskovan alueellinen Internet-opetuksen keskus" "Lineaaristen algoritmien ohjelmointi Pascalissa"

2 liukumäki

Dian kuvaus:

Tulosten näyttämiseen Pascalissa käytetään operaattoria: Mikä seuraavista ei sisälly Pascal-kielen aakkosiin? Latinalaiset pienet ja isot alaviivat Mikä merkkijono voi toimia nimenä Pascal-kielessä? tulosta alkaa readln NEXT funktiosanat Venäjän pienet ja isot kirjaimet _mas maS1 d2 2d _mas maS1 d2 2d SEURAAVA kirjoittaa kirjoittaa venäjän pienet ja isot kirjaimet

3 liukumäki

Dian kuvaus:

Valitse oikea Muuttujan ilmoitusosio Ohjelman alku Ohjelman otsikko Lähtöoperaattori Kohdistusoperaatio Syöteoperaattori Ohjelman loppu Tyyppi Kokonaislukuarvot Reaaliarvojen tyyppi readln End program begin:= var integer real writeln var begin:= todellinen ohjelma writeln end readln

4 liukumäki

Dian kuvaus:

Luo lohkokaavio näppäimistöltä syötettyjen numeroiden A+B lisäämiseksi START Input A,B S=A+B OUTPUT S END ohjelma Summa; loppu. Muutt a,b,S: kokonaisluku; alkaa S= a + b; writeln('S=', S); readln(a,b);

5 liukumäki

Dian kuvaus:

Ensimmäinen ohjelma: laske ympyrän ympärysmitta ja pinta-ala, jos r=5,4 writeln("c =", c:6:4); writeln("s=", s:6:4) end. Ohjelman tulos: write("Enter r>>"); readln(r); ohjelma n_1; const pi = 3,14; var r, c, s: todellinen; alkaa r:=5,4; c:=2*pi*r; s:=pi*r*r; Parannettu ohjelma Ohjelman tulos: Turbo Pascal Versio 7.0 c =33.9120 s =91.5624 Turbo Pascal Uersion 7.0 Ympyrän ympyrän kehän ja pinta-alan laskeminen Syötä r>> 8.5 c =53.3800 s =226.8650

6 liukumäki

Dian kuvaus:

Numeeriset tietotyypit Vakio-ominaisuudet Pascal-kieli: Funktio Tarkoitus Argumentin tyyppi Tuloksen tyyppi abs(x) Modulx-kokonaisluku, real Sama kuin argumentti sqr(x) Squarex-kokonaisluku, real Sama kuin argumentti sqrt(x) xx-kokonaisluvun neliöjuuri, reaalipyöristys( x) Pyöristys lähimpään kokonaisluku todellinen frac(x) Kokonaisluku osax todellinen int(x) Murtoluku osax todellinen satunnainen satunnaisluku 0 - 1 - todellinen satunnainen (x) Satunnaisluku 0 - x kokonaisluku kokonaisluku

7 liukumäki

Dian kuvaus:

Toiminnot div ja mod -ohjelma n_4; var x, a, b, c, s: kokonaisluku; begin writeln("Kolminumeroisen luvun numeroiden summan löytäminen"); write("Anna alkuperäinen numero>>"); readln(x); a:=x div 100; b:=x mod 100 jako 10; c:=x mod 10; s:=a+b+c; writeln("s= ", s) loppu. Kolminumeroinen luku voidaan esittää seuraavana summana: x = a·100 + b·10 + c, missä a, b, c ovat luvun numeroita. Ohjelma, joka etsii näppäimistöltä syötetyn kolminumeroisen kokonaisluvun numeroiden summan.

8 liukumäki

Dian kuvaus:

Merkki- ja merkkijonotietotyypit Järjestysfunktio muuntaa kirjaimen sen numerokoodiksi. Symbolit ovat kaikki kirjaimet ja kuvakkeet, jotka ovat näppäimistössä. Merkkimuuttujien syöttämiseksi ohjelmaan sinun on määritettävä niille merkkitietotyyppi char. chr-funktio muuntaa merkin numeerisen koodin itse merkiksi. Merkkijonoarvon arvo (merkkijonotyyppi) on mielivaltainen merkkijono, joka on suljettu heittomerkkien sisällä. W chr 87 ord w % 37 % 4 52 4 S 83 S var c: merkkijono c:= chr(52)+chr(37) with 4%

Dia 9

Dian kuvaus:

Merkki- ja merkkijonotietotyyppiohjelma n_5; var a: char; koodi:kokonaisluku; b:string; begin writeln("Koodi ja rivi"); write("Anna alkukirjain>>"); readln(a); kod:=ord(a); b:=chr(kod–1)+a+chr(kod+1); writeln("Kirjainkoodi", a, "-", kod); writeln("Rivi: ", b) end. Näppäimistöllä syötetyn kirjaimen koodin näyttäminen Kolmen kirjaimen merkkijonon näyttäminen näytöllä. Mitkä?

10 diaa

Dian kuvaus:

Round, int ja frac funktioiden tutkiminen Suorita ohjelma useita kertoja x (10.2; 10.8; –10.2; –10.8). Mikä on kunkin funktion tulostyyppi? ohjelma n_3; var x: todellinen; begin writeln("Funktion round, int, frac tutkiminen"); write("Syötä x>>"); readln(x); writeln("Pyöristys - ", pyöreä(x)); writeln("Kokonaisluvun osa - ", int(x)); writeln("Murtoosa - ", frac(x)) loppu. ?

11 diaa

Dian kuvaus:

START Input x1,x2,y1,y2 OUTPUT S END ohjelman pituus; loppu. var x1,x2,y1,y2: kokonaisluku; alkaa d=sqrt(sqr(x2-x1))+sqrt(y2-y1)); writeln('d=', d); write("ANNA KOORDINAATTI X1= "); readln(X1); write("ANNA Y1 KOORDINAATTI= "); readln(Y1); write("ANNA KOORDINAATTI X2= "); readln(X2); write("ANNA Y2 KOORDINAATTI= "); readln(Y2);

12 diaa

Dian kuvaus:

Kysymyksiä ja tehtäviä Laske y tietylle x:lle kaavalla y = x3 + 2,5x2 – x +1. Tässä tapauksessa: a) eksponentiotoiminto on kielletty; b) yhdessä osoitusoperaattorissa voit käyttää enintään yhtä aritmeettista operaatiota (yhteen-, kerto-, vähennyslasku-) c) ohjelmassa voi käyttää enintään viittä määritysoperaattoria. Vihje: Muunna lauseke muotoon: y =((x + 2.5)x –1)x +1. Laske janan AB pituus pisteiden A ja B annettujen koordinaattien avulla. Kolmion a, b, c sivujen pituudet tunnetaan. Kirjoita ohjelma tämän kolmion pinta-alan laskemiseksi. Kolmion pisteiden A, B, C koordinaatit tunnetaan. Kirjoita ohjelma tämän kolmion pinta-alan laskemiseksi. Jos veron määrä lasketaan ruplissa ja kopeikoissa, veropalvelu pyöristää sen lähimpään ruplaan (enintään 50 kopekkaa - alijäämillä, yli 50 kopekkaa (mukaan lukien 50) - ylijäämällä). Syötä tietokoneellasi tarkka verosumma ja näytä, kuinka paljon olet velkaa. Tutustu satunnaisfunktion toimintaan ajamalla ohjelmaa toistuvasti: ohjelma n_8; var x, n: kokonaisluku; begin writeln("Satunnaisfunktion tutkiminen"); satunnaista (*generoida eri satunnaislukuja joka kerta, kun ohjelma ajetaan*); write("Syötä x>>"); readln(x); write("Syötä n>>"); readln(n); writeln("random(", x, ")=", satunnainen(x)); writeln("random(", x, ")+", n, "=", satunnainen(x)+n) loppu. Kuinka voin saada satunnainen numero väliltä (0; x)? Kuinka saadaan satunnaisluku väliltä (0; x]? Kuinka saadaan satunnaisluku väliltä (n; x + n)) Yksi yritys on julkaissut arpajaisia ​​kolmessa kategoriassa: nuorille, aikuisille ja Kunkin luokan lippujen numerot ovat alueella: nuorille - 1 - 100; aikuisille - 101 - 200; vanhuksille - 201 - 250. Valitse tietokoneen avulla satunnaisesti arpajaiset Kirjoita Pascal-kielellä ohjelma, joka määrittää mielivaltaiselle kaksinumeroiselle luvulle: a) numeroidensa summan ja tulon; b) luku, joka on muodostettu järjestämällä alkuperäisen numeron numerot uudelleen. Kirjoita Pascal-kielellä ohjelma, joka laskee sanan BYTE kirjainkoodien summan. Kirjoita Pascal-kielellä ohjelma, joka näyttää merkkijonon, jonka koodit ovat 66, 69, 71, 73, 78. Kehitä ohjelma, joka pyytää kolme merkkijonoarvoa - toisiinsa liittyvän adjektiivin, substantiivin ja verbin, ja tulostaa sitten kaikki versiot lauseita syötetyillä sanoilla. Kokonaislukumuuttujien arvot on annettu: a = 10, b = 20. Mikä on loogisen muuttujan rez arvo määritysoperaation jälkeen? a) rez:=(a=10) tai (b>10) b) rez:=(a>5) ja (b>5) ja (a<20) and (b<30) в) rez:=((not(a<15)) or (b>20) Kirjoita ohjelma, joka kirjoittaa tosi, jos väite on tosi, ja muussa tapauksessa epätosi: a) kolminumeroisen luvun x numeroiden summa on parillinen luku; b) kolmio, jonka sivut ovat a, b, c, on skaalaani. Päivän k:s sekunti on ohi. Kehitä ohjelma, joka määrittää syötetyn vuorokauden k:nnen sekunnin perusteella kuinka monta kokonaista tuntia h ja kokonaista minuuttia m on kulunut päivän alusta. Jos esimerkiksi k = 13257 = 3 x 3600 + 40 x 60 + 57, niin h = 3 ja m = 40. Näytä lause: Se on ... tuntia ... minuuttia. Ellipsien sijaan ohjelman tulee tulostaa h:n ja m:n arvot erottamalla ne sanoista täsmälleen yhdellä välilyönnillä. Kirjoita Pascal-kielellä ohjelma, joka toteuttaa algoritmin, jolla kassa antaa asiakkaalle vaihtorahaa (s) pienimmässä määrässä seteleitä 500 (k500), 100 (k100), 50 (k50) ja 10 (k10) ruplaa. Esimerkki syöttötiedoista Esimerkki lähtötiedoista xa=2 ya=1 xb= 10 yb= 7 | AB | = 10,0 Esimerkki syöttötiedot Esimerkki lähtötiedot a =3 b =4 c=5 s = 6,0 Esimerkki lähtötiedot Esimerkki lähtötiedot xa = 2 ya = 1 xb = 6 yb = 5 xc = 10 yc = 1 s = 16,0 Esimerkki syöttötiedot Esimerkki lähtötiedoista 845 Luovutettavat: 500 ruplan setelit. - 1 KPL. 100 ruplan seteleitä. - 3 kpl. 50 ruplan seteleitä. – 0 kpl. 10 ruplan seteleitä - 4 asiaa. Esimerkki syöttötiedoista Esimerkki lähtötiedoista VIHREÄT LEHTEET PUHALTAVAT VIHREÄT LEHTIÄ PUHALTAVAT VIHREÄT LEHDET PUHALTAVAT LEHTIÄ VIHREÄT PUHALTAVAT LEHTEET PUHALTAVAT VIHREÄT PUHALTAVAT VIHREÄT LEHTEET PULLUTTAVAT LEHTIÄ ELENNY Esimerkki syöttötiedoista Esimerkki lähtötiedoista 13 2547 minuuttia Kello on 3 tuntia.

| § 3.3. Lineaarinen algoritmiohjelmointi

Oppitunti 26
§ 3.3. Lineaarinen algoritmiohjelmointi

Avainsanat:

Todellinen tietotyyppi
kokonaislukutietotyyppi
merkkitietotyyppi
merkkijonotietotyyppi
boolen tietotyyppi

Lineaarisia algoritmeja toteuttavat ohjelmat ovat yksinkertaisimpia. Kaikki niiden sisältämät operaattorit suoritetaan peräkkäin, yksi toisensa jälkeen.

Lineaarisia algoritmeja ohjelmoitaessa tarkastellaan tarkemmin kokonaisluku-, loogisia-, merkki- ja merkkijonotietotyyppejä.

3.3.1. Numeeriset tietotyypit

Numeeriset perustietotyypit ovat sinulle jo tuttuja kokonaisluku Ja todellinen. Niihin sovelletaan vakiofunktioita, joista osa on esitetty taulukossa. 3.3.

Taulukko 3.3

Normaalit Pascal-funktiot

Tutkitaan kuinka toiminnot toimivat pyöristää, int Ja fraс, soveltamalla niitä joihinkin todellisiin X. Vastaava ohjelma näyttää tältä:

Suorita ohjelma useita kertoja jokaiselle x ∈ (10.2; 10.8; -10.2; -10.8). Mitä voit kertoa meille kunkin funktion tulostyypistä?

3.3.2. Kokonaislukutietotyyppi

Seuraavat toiminnot suoritetaan kokonaisluvuille Pascal-kielellä: yhteenlasku (+), vähennys (-), kertolasku (*), kokonaislukuosamäärän saaminen (div), kokonaisluvun jäännös (mod) ja jako (/). Viiden ensimmäisen operaation tulokset ovat kokonaislukuja. Jakooperaation tulos voi olla reaaliluku.

Tarkastellaan esimerkkiä div- ja mod-toimintojen käyttämisestä kirjoittamalla Pascal-kielellä ohjelma, joka löytää näppäimistöltä syötetyn luonnollisen kolminumeroisen luvun numeroiden summan.

Käytämme sitä, että positiivinen kolminumeroinen luku voidaan esittää seuraavana summana: x - a*100 + 6*10 + c, missä a, b, c ovat luvun numeroita.

Mikä on luvun 123 numeroiden summa? Ja luvut -123? Vastaavatko tulokset ohjelman tuloksia? Miten ohjelmassa oleva virhe voidaan selittää ja korjata?

3.3.3. Merkki- ja merkkijonotietotyypit

Merkkiarvon (char type) arvo Pascal-kielessä on mikä tahansa merkistä, joka voidaan saada näytölle painamalla jotakin näppäimistä tai näppäimistön näppäinyhdistelmää, sekä joitain muita merkkejä, myös näkymättömiä. . Tällaisten symbolien joukko koostuu 256 elementistä, joista kullekin on käytetyn kooditaulukon mukaan määritetty koodi - numero 0 - 255.

Ensimmäiset 32 ​​koodia vastaavat symbolit ovat ohjaussymbolit ja loput on kuvattu. Näkyvissä merkeissä on myös välilyönti, koodi 32.

Välimerkit, aritmeettisten operaatioiden merkit, numerot, latinalaiset isot ja pienet kirjaimet vastaavat koodeja 33-127. Kansallisten aakkosten kirjaimet vastaavat koodeja numeroista 128 alkaen.

Ohjelmatekstissä merkkityyppivakio voidaan määrittää merkitsemällä mikä tahansa esitetty merkki heittomerkkiin: “5”, “B”, “*”.

Jos merkkimuuttujan arvo luetaan näppäimistöltä, se tulee kirjoittaa ilman heittomerkkejä.

Symbolikoodin löytämiseksi käytä järjestysfunktiota, jossa symboli määritetään parametriksi.

Tunnistaaksesi symbolin koodin perusteella, käytä chr-funktiota, jossa symbolikoodi määritetään parametriksi.

Merkkijonoarvon arvo (merkkijonotyyppi) on mielivaltainen merkkijono, joka on suljettu heittomerkkien sisällä. Pascalissa (kuten algoritmisella kielellä) merkkijonoja voidaan ketjuttaa.

Esimerkki. Kirjoitetaan Pascalilla ohjelma, jossa näppäimistöltä syötetyn kirjaimen koodi näkyy ruudulla. Sitten näytölle tulee rivi, joka on kolmen käytetyn kooditaulukon kirjaimen sekvenssi: alkuperäistä edeltävä kirjain; alkuperäinen kirje; kirjaimet alkuperäisen jälkeen.


3.3.4, Boolen tietotyyppi

Kuten tiedät, loogisen tyypin arvot ottavat vain kaksi arvoa; Pascalissa se on väärä Ja totta. Nämä vakiot on määritelty niin, että epätosi< true.

Boolen arvot saadaan suorittamalla vertailutoimintoja numeerisille, merkki-, merkkijono- ja loogisille lausekkeille. Siksi Pascalissa vertailuoperaation tulokseksi voidaan määrittää looginen muuttuja.

Esimerkki. Kirjoitetaan ohjelma, joka määrittää lauseen ”Luku n on parillinen” totuuden mielivaltaiselle kokonaisluvulle n.

Antaa ans on boolen muuttuja ja n on kokonaislukumuuttuja. Sitten tehtäväoperaattorin suorittamisen seurauksena

ans:=n mod 2 = 0

muuttuja ans annetaan arvo totta mille tahansa parilliselle n ja väärä muuten.

Loogisille muuttujille voidaan määrittää loogisten lausekkeiden arvot, jotka on muodostettu tuntemillasi loogisilla funktioilla tai ei, jotka Pascalissa on merkitty vastaavasti ja, tai ei.

Esimerkki. Kirjoitetaan ohjelma, joka määrittää lauseen ”Kolmio, jonka sivujen pituus on a, b, c on tasakylkinen” totuus mielivaltaisille kokonaisluvuille a, b, c.


TÄRKEIN

Pascal-kieli käyttää reaali-, kokonaisluku-, merkki-, merkkijono-, loogisia ja muita tietotyyppejä. Niille on määritelty vastaavat toiminnot ja toiminnot.

Kysymyksiä ja tehtäviä

1. Lue oppikirjan sähköisen liitteen kappaleen esitysmateriaalit. Käytä näitä materiaaleja, kun valmistelet vastauksia kysymyksiin ja suoritat tehtäviä.

2. Laske y tietylle x:lle kaavalla y = x 3 + 2,5x 2 - x + 1.

Jossa:

a) eksponentioinnin käyttö on kielletty;
b) yhdessä osoitusoperaattorissa voit käyttää enintään yhtä aritmeettista operaatiota (yhteen-, kerto-, vähennyslasku-)
c) ohjelmassa voi käyttää enintään viittä määritysoperaattoria.

Vihje : Muunna lauseke seuraavaan muotoon: y = ((x + 2.5)x - 1)x + 1.

3. Pisteiden A ja annetuissa koordinaateissa. Laske janan AB pituus.

Vihje . Pisteiden A (x a, y a) ja B (x b, y b) välinen etäisyys d ilmaistaan ​​kaavalla.

4. Kolmion a, b, c sivujen pituudet tunnetaan. Kirjoita ohjelma tämän kolmion pinta-alan laskemiseksi.

5. Kolmion pisteiden A, B, C koordinaatit tunnetaan. Kirjoita ohjelma tämän kolmion pinta-alan laskemiseksi.

6. Jos veron määrä lasketaan ruplissa ja kopeikoissa, veropalvelu pyöristää sen lähimpään ruplaan (50 kopekkaan asti - puutteella, yli 50 kopeikalla (mukaan lukien 50) - ylimäärällä). Syötä tietokoneellasi tarkka verosumma ja näytä, kuinka paljon olet velkaa.

7. Tutustu satunnaisfunktion toimintaan suorittamalla ohjelma monta kertaa:

Kuinka saat satunnaisluvun väliltä (0, x)?

Kuinka saat satunnaisluvun väliltä (0, x]?

Miten väliltä (n, x + n) saadaan satunnaisluku?

8. Yksi yritys julkaisi kolmen luokan arpalippuja: nuorille, aikuisille ja eläkeläisille. Kunkin luokan lippujen numerot vaihtelevat:

nuorille - 1 - 100;
aikuisille - 101 - 200;
eläkeläisille - 201 - 250.

Valitse tietokoneen avulla satunnaisesti arpajaiset jokaisesta luokasta.

9. Kirjoita Pascal-kielellä ohjelma, joka mielivaltaiselle kaksinumeroiselle luonnolliselle luvulle määrittää:

a) sen numeroiden summa ja tulo;
b) luku, joka on muodostettu järjestämällä alkuperäisen numeron numerot uudelleen.

10. Kirjoita Pascal-kielellä ohjelma, joka toteuttaa algoritmin kassalle, joka antaa asiakkaalle vaihtorahaa mahdollisimman pienellä määrällä 500 (k500), 100 (klOO), 50 (k50) ja 10 (klO) ruplaa. .

11. Tulossa k- päivän toinen. Kehitä ohjelma, joka perustuu syötteeseen k Päivän -sekunti määrittää kuinka monta kokonaista tuntia h ja kokonaisia ​​minuutteja m on kulunut päivän alusta. Esimerkiksi jos k= 13 257 = 3 3600 + 40 60 + 57, sitten h= 3 ja m = 40.

Näytä lause:

Se on...tunteja...minuutteja

.

Ellipsien sijaan ohjelman tulee tulostaa humina-arvot erottaen ne sanoista täsmälleen yhdellä välilyönnillä.

12. Kirjoita Pascal-kielellä ohjelma, joka laskee sanan "BYTE" kirjainkoodien summan.

13. Kirjoita Pascal-kielellä ohjelma, joka luo ja näyttää merkkijonon, jonka koodit ovat 66, 69, 71, 73, 78.

14. Kehitä ohjelma, joka pyytää kolmea merkkijonoarvoa - liittyvän adjektiivin, substantiivin ja verbin - ja tulostaa sitten kaikki mahdolliset lausekkeet syötetyillä sanoilla.

15. Kokonaislukumuuttujien arvot on annettu: a = 10, b = 20. Mikä on loogisen muuttujan arvo? rez tehtävän suorittamisen jälkeen?

a)rez:=(a=10) tai (b>10)
b)rez: = (a>5) ja (b>5) ja (a<20) and (b<30)
c)rez: = (not(a<15)) or (b>20)

16. Kirjoita ohjelma, joka tulee totta, jos väite on totta, ja väärä muuten:
a) kolminumeroisen luvun numeroiden summa X on parillinen luku;
b) kolmio, jossa on sivut a, b, c on monipuolinen.

Avainsanat:

  • todellinen tietotyyppi
  • kokonaislukutietotyyppi
  • merkkitietotyyppi
  • merkkijonotietotyyppi
  • boolen tietotyyppi

Lineaarisia algoritmeja toteuttavat ohjelmat ovat yksinkertaisimpia. Kaikki niiden sisältämät operaattorit suoritetaan peräkkäin, yksi toisensa jälkeen.

Lineaarisia algoritmeja ohjelmoitaessa tarkastellaan tarkemmin kokonaisluku-, loogisia-, merkki- ja merkkijonotietotyyppejä.

4.4.1. Numeeriset tietotyypit

Tunnet jo numeeriset perustietotyypit integer ja real. Niihin sovelletaan vakiofunktioita, joista osa on esitetty taulukossa. 4.2.

Taulukko 4.2
Normaalit Pascal-funktiot


Tutkitaan funktioiden round, int ja frac toimintaa soveltamalla niitä johonkin todelliseen x:ään. Vastaava ohjelma näyttää tältä:

Suorita ohjelma useita kertoja x=(10.2; 10.8; -10.2; -10.8). Mitä voit kertoa meille kunkin funktion tulostyypistä?

4.4.2. Kokonaislukutietotyyppi

Seuraavat toiminnot suoritetaan kokonaisluvuille Pascal-kielellä: yhteenlasku (+), vähennys (-), kertolasku (*), kokonaislukuosamäärän saaminen (div), kokonaisluvun jäännös (mod) ja jako (/). Viiden ensimmäisen operaation tulokset ovat kokonaislukuja. Jakooperaation tulos voi olla reaaliluku.

Tarkastellaan esimerkkiä div- ja mod-toimintojen käyttämisestä kirjoittamalla Pascal-kielellä ohjelma, joka löytää näppäimistöltä syötetyn kolminumeroisen kokonaisluvun numeroiden summan.

Käytämme sitä, että kolminumeroinen luku voidaan esittää seuraavana summana: x = a 100 + b 10 + c, missä a, b, c ovat luvun numeroita.

4.4.3. Merkki- ja merkkijonotietotyypit

Merkkiarvon (char type) arvo Pascal-kielessä on mikä tahansa merkistä, joka voidaan saada näytölle painamalla jotakin näppäintä tai näppäinyhdistelmää, sekä joitain muita merkkejä, myös näkymättömiä. Tällaisten symbolien joukko koostuu 256 elementistä, joista kullekin on käytetyn kooditaulukon mukaisesti määritetty koodi - numero 0 - 255.

Ensimmäiset 32 ​​koodia vastaavat symbolit ovat ohjaussymbolit ja loput on kuvattu. Näkyvissä merkeissä on myös välilyönti, koodi 32.

Välimerkit, aritmeettisten operaatioiden merkit, numerot, latinalaiset isot ja pienet kirjaimet vastaavat koodeja 33-127. Kansallisten aakkosten kirjaimet vastaavat koodeja numeroista 128 alkaen.

Ohjelmatekstissä merkkityyppivakio voidaan määrittää merkitsemällä mikä tahansa esitetty merkki heittomerkkiin: “5”, “B”, “*”.

Jos merkkimuuttujan arvo luetaan näppäimistöltä, se tulee kirjoittaa ilman heittomerkkejä.

Symbolikoodin löytämiseksi käytä järjestysfunktiota, jossa symboli määritetään parametriksi.

Tunnistaaksesi symbolin koodin perusteella, käytä chr-funktiota, jossa symbolikoodi määritetään parametriksi.

Merkkijonoarvon arvo (merkkijonotyyppi) on mielivaltainen merkkijono, joka on suljettu heittomerkkien sisällä. Pascalissa (kuten algoritmisella kielellä) merkkijonoja voidaan ketjuttaa.

Esimerkki. Kirjoitetaan Pascalilla ohjelma, jossa näppäimistöltä syötetyn kirjaimen koodi näkyy ruudulla. Sitten näytölle tulee rivi, joka on kolmen käytetyn kooditaulukon kirjaimen sekvenssi: alkuperäistä edeltävä kirjain; alkuperäinen kirje; kirjaimet alkuperäisen jälkeen.

4.4.4. Boolen tietotyyppi

Kuten tiedät, loogisen tyypin arvot ottavat vain kaksi arvoa; Pascalissa nämä ovat vääriä ja totta. Nämä vakiot on määritelty niin, että epätosi< true.

Boolen arvot saadaan suorittamalla vertailutoimintoja numeerisille, merkki-, merkkijono- ja loogisille lausekkeille. Siksi Pascalissa vertailuoperaation tulokseksi voidaan määrittää looginen muuttuja.

Esimerkki. Kirjoitetaan ohjelma, joka määrittää lauseen ”Luku n on parillinen” totuuden mielivaltaiselle kokonaisluvulle n.

Olkoon ans looginen muuttuja ja n kokonaislukumuuttuja. Sitten tehtäväoperaattorin suorittamisen seurauksena

ans-muuttujalle annetaan arvo tosi mille tahansa parilliselle n:lle ja false muussa tapauksessa.


Loogisille muuttujille voidaan määrittää loogisten lausekkeiden arvot, jotka on rakennettu tuntemillasi loogisilla funktioilla ja tai ei, jotka Pascalissa on merkitty vastaavasti ja tai ei.

Esimerkki. Kirjoitetaan ohjelma, joka määrittää lauseen ”Kolmio, jonka sivujen pituus on a, b, c on tasakylkinen” totuus mielivaltaisille kokonaisluvuille a, b, c.

Tärkein

Pascal-kieli käyttää reaali-, kokonaisluku-, merkki-, merkkijono-, loogisia ja muita tietotyyppejä. Niille on määritelty vastaavat toiminnot ja toiminnot.

Kysymyksiä ja tehtäviä