Laboratorijas darbs 2.1. Kompilatora kļūdas paziņojumi, teksta literāļi C++

  1. Izveidot darba direktoriju (<WORK>), kurā iekopēt abus 1. laboratorijas darba piemērus lab1.1.cpp un lab1.2.cpp.
  2. Atvērt failu lab1.1.cpp no 1. laboratorijas darba un nokompilēt.
  3. Pārliecināties, ka viss kārtībā.
  4. Izdzēst semikolu aiz endl.
  5. Nokompilēt un pārliecināties par kompilatora sniegto kļūdas paziņojumu. Apskatīties, kā kļūdas paziņojums atspoguļojas arī “Compile log” logā.

C:/Darbi/prg/lab1.1.cpp: In function `int main()':

C:/Darbi/prg/lab1.1.cpp:7: parse error before `return'

  1. Nokompilēt un pārliecināties par kompilatora sniegto kļūdas paziņojumu.
  2. Izlabot kļūdu ieliekot atpakaļ semikolu, nokompilēt un pārliecināties, ka programma ir sintaktiski pareiza.

Aiz katra operatora (instrukcijas) valodā C++ ir jābūt semikolam.

8.     Nomainīt endl uz lielajiem burtiem ENDL.

9.     Nokompilēt un konstatēt kompilatora sniegto kļūdas paziņojumu.

C:/Darbi/prg/lab1.1.cpp: In function `int main()':

C:/Darbi/prg/lab1.1.cpp:6: `ENDL' undeclared (first use this function)

  1. Izlabot kļūdu, izlabojot endl uz mazajiem burtiem.

C++ ir reģistrjūtīga (case sensitive) programmēšanas valoda.

11.  Nomainīt tekstu “Hello, World!” uz lielajiem burtiem “HELLO, WORLD!”

12.  Nokompilēt. Programmai veiksmīgi jānokompilējas. Darbināt programmu.

Reģistrjūtība, protams, attiecas tikai uz identifikatoriem – mainīgo, funkciju vārdiem, komandām u.c., izmaiņas teksta konstantēs nav pretrunā ar sintaksi, bet vienkārši ietekmē programmas darbību

13.  “HELLO, WORLD!” tekstā vārdu WORLD ielikt pēdiņās, bet pirms komata ielikt atpakaļsvītru:

cout << "HELLO\, "WORLD!"" << endl;

  1. Nokompilēt un pārliecināties par kompilatora sniegto kļūdas paziņojumu.

C:/Darbi/prg/lab1.1.cpp:6:13: warning: unknown escape sequence '\,'

C:/Darbi/prg/lab1.1.cpp: In function `int main()':

C:/Darbi/prg/lab1.1.cpp:6: parse error before `!' token

Teksts C++ tiek rakstīts, ievietojot dubultpēdiņās, tomēr ne visus simbolus šeit var rakstīt tiešā veidā. lai, piemēram, nesajauktu, vai dubultpēdiņa (“) pieder pie teksta vai ir atdalītāj simbols daži speciālie simboli teksta konstantēs ir jākodē speciālā veidā, parasti, pieliekot priekšā papildus simbolu (\) (escape symbol), pie šiem simboliem pieder apostrofs (‘), dubultpēdiņa (“), pati atpakaļsvītra (\), turklāt \n nozīmē jaunu rindu (to pašu ko endl ārpus teksta konstantes, bet \t tabulāciju)

  1. Mainīt šo pašu tekstu visiem 3 papildus ievietotajiem simboliem priekšā pieliekot papildus ‘\’, bet tūlīt aiz komata vēl papildus 2 simbolus ‘\n’.

cout << "HELLO\\,\n \"WORLD!\"" << endl;

  1. Nokompilēt un darbināt programmu. Programma uz ekrāna izvada tekstu:

HELLO\,

 "WORLD!"

Ievērojiet, ka salīdzinājumā ar teksta konstantes pierakstu, izdrukā neparādās neviens simbols (\), ja vien tas neatrodas aiz tāda paša simbola. Ievērojiet līdzību ar mēmo taustiņu latviskajā klaviatūrā – šādu principu pielieto, ja burtu/taustiņu ir mazāk nekā simbolu, kas ar tiem jānokodē.

 

 

Laboratorijas darbs 2.2. ‘int’ un ‘double’ tipa vērtības, veselo skaitļu dalīšana un parastā dalīšana C++

1.     Atvērt failu lab1.2.cpp no 1. laboratorijas darba un nokompilēt.

  1. cin >> x >> y; vietā ierakstīt divas šādas rindiņas

x = 12;

y = 7;

3.     Saskaitīšanu z = x + y; nomainīt ar dalīšanu z = x / y;

4.     Tekstu “sum” nomainīt ar “result”.

Tagad programma izskatās šādi:

#include <iostream>

using namespace std;

int main ()

{

    int x, y, z;

    cout << "Input 2 integer values:" << endl;

    x = 12;

    y = 7;

    z = x / y;

    cout << "Result is " << z << endl;

    system ("pause");

    return 0;

}

5.     Darbināt programmu, rezultātam jābūt 1.

Veselu skaitļu dalīšanā 12 dalot ar 7, rezultāts ir 1. Veselo skaitļu dalīšana notiek, ja abi dalīšanas operācijas operandi ir veseli skaitļi (int tādi ir).

6.     Nomainīt rindiņu int x, y, z; ar float x, y, z;

Tādējādi mainīgo x, y, z tips tiek uzstādīts “skaitlis ar peldošo komatu”

7.     Kompilēt un darbināt programmu, rezultātam jābūt 1.71429

Ja kaut viens operands dalīšanas operācijai ir skaitlis ar peldošo komatu (skaitlis, kas nav vesels skaitlis), tad tiek veikti parastā dalīšana.

8.     Nomainīt rindiņu float x, y, z; par

int x, y;

float z;

Tādā veidā x un y tiek pārveidoti par veseliem skaitļiem, kas var ietekmēt dalīšanu.

9.     Nomainīt rindiņu z = x / y; ar z = x / 5; (y vietā tiek ielikts skaitlis 5 tiešā veidā)

10.  Darbināt programmu, rezultātam jābūt 2, tātad tikusi veikta veselo skaitļu dalīšana, tātad skaitlis 5 ticis uzskatīts par veselu skaitli (valodā C++ skaitliskas konstantes-vērtības, kas pierakstītas bez decimālās zīmes, tiek uzskatītas pat int tipa vērtībām)

11.  Nomainīt rindiņu z = x / 5; ar z = x / 5.0;

12.  Darbināt programmu, rezultātam jābūt 2.4, tātad tikusi veikta parastā dalīšana, tātad skaitlis 5 ticis uzskatīts par skaitli ar peldošo komatu  (valodā C++ skaitliskas konstantes-vērtības, kas pierakstītas ar decimālo zīmi, tiek uzskatītas pat double tipa vērtībām – double ir līdzīgs datu tips kā float, bet tas nodrošina 2 reizes lielāku atmiņas vietu un spēj saglabāt lielākus skaitļus)

 

 

Laboratorijas darbs 2.3. Formatētais ievads C++

13.  Atvērt failu lab2.3.cpp no 2. laboratorijas darba un nokompilēt.

  1. Darbināt programmu ar skaitļiem, piemēram, 1.23 un 4.56, pa vidu liekot ENTER.
  2. Darbināt programmu ar tiem pašiem skaitļiem, starp tiem ievadot tukšumu un tikai beigās ENTER.

Tas, ka mēs varam ievadīt otru skaitli vēl pirms it kā programma mums to “ir prasījusi”, parāda to, ka informācijas nolasīšana no klaviatūras un tās izmantošana programmā ir divas dažādas lietas, tātad, sākumā informācija no klaviatūras nonāk atmiņas buferī neatkarīgi no mūsu programmas, un tikai tad programma no tā paņem vajadzīgos simbolus kādas vērtības nolasīšanai. Šo buferi sauc par plūsmu (stream), no tā arī bibliotēkas nosaukums (<iostream>).

16.  Darbinām programmu ar burtu nevis skaitli, ievadot: a <ENTER>

Input numeric value #1

a

Output: 987

Input numeric value #2

Output: 987

Ievadot vērtību, kas nav interpretējama par skaitli, iestājās divas sekas: (a) pirmajā reizē (ievades operatora izsaukumā) netika nolasīts nekāds skaitlis, bet mainīgajam d palika sākotnējā (iepriekšējā) tā vērtība 987; (b) otrajā reizē skaitļa ievadīšana vispār netika prasīta (programma neapstājās, lai paprasītu lietotājam ievadīt otru skaitli). Tas izskaidrojams ar to, ka pēc kļūdas, ievades objekts cin tika nobloķēts un pirms nākošās darbības tas ir jāatbloķē.

17.  Pirms otrā skaitļa ievadīšanas cin >> d; ievietot šādu programmas bloku:

    if (!cin.good())

    {

        cin.clear();

        cin.ignore (256, '\n');

    };

18.  Darbināt programmu ar burtu un skaitli, pa vidu lieko ENTER, piemēram, a <ENTER> 1.23 <ENTER>.

Input numeric value #1

a

Output: 987

Input numeric value #2

1.23

Output: 1.23

Ievietotais programmas kods nozīmē: ja ar ievades operāciju kas notikusi iepriekš) nav viss kārtībā (! nozīmē NOT, tātad nav), tad pirmkārt atbloķēt cin objektu turpmākam darbam, otrkārt ignorēt visus no klaviatūras ievadītos simbolus (ignore) no kļūdas vietas līdz tuvākajam <ENTER> ieskaitot (‘\n’). Komanda ignore vajadzīga tādēļ, ka normālā situācijā (kad nenotiek) ievades kļūdas, viss uzreiz tiek nolasīts līdz tuvākajam ENTER, bet tad, kad notiek kļūda (piemēram, parādās simbols, kas neatbilst skaitlim, kā tas ir šajā gadījumā), nolasīšana apstājas pēc kļūdainā simbola nolasīšanas.

19.  Darbināt programmu ar abc567 <ENTER> 1.23 <ENTER>.

Input numeric value #1

abc567

Output: 987

Input numeric value #2

1.23

Output: 1.23

20.  Nomainiet rindiņā

        cin.ignore (256, '\n');

256 par 1, lai sanāktu rindiņa

        cin.ignore (1, '\n');

21.  Darbināt programmu ar a12345 <ENTER>.

Input numeric value #1

a12345

Output: 987

Input numeric value #2

Output: 12345

Ievērojiet, ka programma otrreiz neprasīja ievadīt skaitli, bet pārlēca vienu simbolu uz priekšu buferī un mēģināja nolasīt skaitli no tās vietas, un tas arī izdevās.

Šī ievades sistēmas uzvedība izskaidrojama ar 2-daļīgo tās darbības shēmu (sīkāk sk. teorētiskajā materiālā):

Vienkāršota ievades divdaļīgā darbības shēma.

 

 

 

Laboratorijas darbs 2.4. Formatētais izvads C++

Šajā laboratorijas darbā tiks apskatītas dažas formatēta izvada īpašības.

1.     Atvērt failu lab2.4.cpp no 2. laboratorijas darba un nokompilēt.

  1. Darbināt programmu.

Programma izdrukā skaitli 123.46589, to noapaļojot uz 3 cipariem aiz komata 123.466.

  1. Nomainām skaitļa vērtību programmas tekstā uz 1.2346589 (pārvietojam decimālo zīmi 2 vietas pa kreisi)
  2. Kompilēt un darbināt programmu.

Programma izdrukā skaitli 1.23466, tātad noapaļošana pēc noklusēšanas notiek nevis uz kādu noteiktu ciparu skaitu aiz komata, bet gan līdz 6 zīmīgajiem cipariem.

5.     Pirms rindiņas cout << d << endl; ievietot papildus rindiņu cout.precision (3);

Ar to precizitāte tiek uzstādīt uz 3.

6.     Kompilēt un darbināt programmu.

Programma izdrukā skaitli 1.23, tātad 3 zīmīgos ciparus.

7.     Lai precizitāte 3 cipari attiektos nevis uz zīmīgajiem cipariem, bet uz cipariem aiz komata, pirms izdrukas rindiņas pievienot rindiņu cout.setf (ios::fixed);

Tagad funkcija main izskatās šādi:

int main()

{

    double d = 1.2346589;

    cout.precision (3);

    cout.setf (ios::fixed);

    cout << d << endl;

    return 0;

}

8.     Darbināt programmu un sagaidīt rezultātu 1.235.

9.     Nomainīr rindiņu cout << d << endl; uz

 cout << d << "#" << endl;

10.  Kompilēt un darbināt programmu, iegūstot 1.235#

11.  Aiz rindiņas cout << d << "#" << endl; ievietot līdzīgu rindiņu:

cout << d << "@" << endl;

12.  Kompilēt un darbināt programmu, iegūstot

1.235#

1.235@

13.  Pirms rindiņas cout << d << "@" << endl; ievietot:

cout.unsetf (ios::fixed);

Tagad funkcija main izskatās šādi:

int main()

{

    double d = 1.2346589;

    cout.precision (3);

    cout.setf (ios::fixed);

    cout << d << "#" << endl;

    cout.unsetf (ios::fixed);

    cout << d << "@" << endl;

    return 0;

}

14.  Kompilēt un darbināt programmu.

Tādā veidā otrā izdruka notiks ar 3 zīmīgiem cipariem, nevis 3 cipariem aiz decimālās zīmes:

1.235#

1.23@

15.  Pirms pirmās izdrukas rindiņas ievietot rindiņu:

cout.width (7);

16.  Kompilēt un darbināt programmu, iegūstot rezultātu

  1.235#

1.23@

Secinājumi: (1) Pirmais skaitlis ir ievietojies apgabalā no 7 simboliem, pielīdzinoties pie labās malas un liekās vietas atstājot tukšas, (2) Komanda width (atšķirībā no precision un fixed vai scientific) attiecas tikai uz nākošo izdrukās komandu (resp., << value)

17.  Pirms otrās izdrukas rindiņas ievietot rindiņu:

cout.width (8);

18.  Pēc mainīgā d deklarācijas rindiņas ievietot rindiņu:

cout.fill ('-');

Tagad funkcija main izskatās šādi:

int main()

{

    double d = 1.2346589;

    cout.fill ('-');

    cout.precision (3);

    cout.setf (ios::fixed);

    cout.width (7);

    cout << d << "#" << endl;

    cout.unsetf (ios::fixed);

    cout.width (8);

    cout << d << "@" << endl;

    return 0;

}

19.  Kompilēt un darbināt programmu, iegūstot rezultātu

--1.235#

----1.23@

Ar fill tikai nomainīt aizpildīšanas simbols uz ‘-’

20.  Pirms pirmās izdrukas rindiņas ievietot rindiņu:

cout.setf (ios::left);

21.  Kompilēt un darbināt programmu, iegūstot rezultātu

1.235--#

1.23----@

  1. Atvērt failu lab2.5.cpp no 2. laboratorijas darba (nepieciešamības gadījumā pievienot rindiņu system ("pause");) un nokompilēt.
  2. Darbināt programmu.

Novērtēt rezultātu un pieraksta veidu – alternatīvs veids formatēšanas komandām ir t.s. manipulatori, kurus raksta pa tieši iekšā izdrukas operatorā starp vērtībām, tikai nepieciešama papildus bibliotēkas <iomanip> iekļaušana.

 

 

Laboratorijas darbs 2.5. Aritmētiskas darbības

Izveidot C++ programmu ar attiecīgajiem nosacījumiem, izmantojot aritmētiskas darbības (+ ,- ,* , /, %). Aritmētisku darbību vietā neizmantot simbolu virkņu apstrādes operācijas!

 

Uzdevums #1. Dots vesels pozitīvs skaitlis N, lielāks vai vienāds ar 100. Izmantojot aritmētiskas operācijas, izrēķināt trešo ciparu no beigām. Piemērs. N=123456; Rezultāts=4.

 

Uzdevums #2. Doti veseli skaitļi M un N. Neizmantojot veselo skaitļu dalīšanu (int / int) un atlikuma operāciju (%), izrēķināt šo skaitļu (1) veselo dalījumu, (2) dalījuma atlikumu. Papildus ieteicams izmantot iebūvētās noapaļošanas funkcijas floor(∙) un ceil(∙), kas atrodas bibliotēkā <cmath> vai <math.h>.

 

 

Laboratorijas darbs 2.6. Interpretatora kļūdas paziņojumi, teksta literāļi Python

1.     Izveidot darba direktoriju (<WORK>), kurā iekopēt 1. laboratorijas darba piemēru lab1.1.py.

  1. Atvērt failu lab1.1.py no 1. laboratorijas darba un darbināt to.
  2. Pārliecināties, ka viss kārtībā.

4.     Nomainīt print uz lielajiem burtiem PRINT.

5.     Darbināt un konstatēt interpretatora sniegto kļūdas paziņojumu (vai nu ziņojuma lodziņā vai nu ziņojumu panelī, vai konsolē):

Traceback                    

    <module>      C:\lab01\py\lab1.1.py   1

NameError: name 'PRINT' is not defined                     

  1. Izlabot kļūdu, izlabojot print uz mazajiem burtiem.

Python (tāpat kā C++) ir reģistrjūtīga (case sensitive) programmēšanas valoda.

7.     Nomainīt tekstu “Hello, World!” uz lielajiem burtiem “HELLO, WORLD!”

8.     Darbināt programmu. Tam jānotiek veiksmīgi.

Reģistrjūtība, protams, attiecas tikai uz identifikatoriem – mainīgo, funkciju vārdiem, komandām u.c., izmaiņas teksta konstantēs nav pretrunā ar sintaksi, bet vienkārši ietekmē programmas darbību

9.     “HELLO, WORLD!” tekstā vārdu WORLD ielikt pēdiņās:

print("HELLO, "WORLD!"")

  1. Pārliecināties par interpretatora sniegto kļūdas paziņojumu (vai nu ziņojuma lodziņā vai nu ziņojumu panelī, vai konsolē):

  File "C:\lab01\py\lab1.1b.py", line 1

    print("HELLO, "WORLD!"")

                       ^

SyntaxError: invalid syntax

Teksts C++ tiek rakstīts, ievietojot dubultpēdiņās, tomēr ne visus simbolus šeit var rakstīt tiešā veidā. lai, piemēram, nesajauktu, vai dubultpēdiņa (“) pieder pie teksta vai ir atdalītāj­simbols, daži speciālie simboli teksta konstantēs ir jākodē speciālā veidā, parasti, pieliekot priekšā papildus simbolu (\) (escape symbol), pie šiem simboliem pieder apostrofs (‘), dubultpēdiņa (“), pati atpakaļsvītra (\), turklāt \n nozīmē jaunu rindu, bet \t tabulāciju.

  1. Mainīt šo pašu tekstu visiem 3 papildus ievietotajiem simboliem priekšā pieliekot papildus ‘\’, bet tūlīt aiz komata vēl papildus 2 simbolus ‘\n’.

print("HELLO\\,\n \"WORLD!\"")

  1. Darbināt programmu. Programma uz ekrāna izvada tekstu:

HELLO\,

 "WORLD!"

  1. Valodā Python teksta literāļus pēc izvēles var ievietot vai nu dubultpēdiņās " " vai nu apostrofos ' ' – izvēloties otro variantu mēs varam iztikt bez papildus simboliem pirms dubultpēdiņām tekstā:

print('HELLO\\,\n "WORLD!"')

  1. Darbināt programmu. Programma uz ekrāna izvada tādu pašu tekstu:

HELLO\,

 "WORLD!"

  1. Valodā Python ir vēl viens variants teksta literāļu pierakstam – trīskāršās pēdiņas (vienalga vai aspostrofi vai parastās) no katras puses – tas dod iespēju tekstā tiešā veidā rakstīt jaunas rindiņas ar ENTER, mūsu gadījumā \n vietā būs ENTER:

print('''HELLO\\,

 "WORLD!"''')

  1. Darbināt programmu. Programma uz ekrāna izvada tādu pašu tekstu:

HELLO\,

 "WORLD!"

Ievērojiet, ka salīdzinājumā ar teksta konstantes pierakstu, izdrukā neparādās neviens simbols (\), ja vien tas neatrodas aiz tāda paša simbola. Ievērojiet līdzību ar mēmo taustiņu latviskajā klaviatūrā – šādu principu pielieto, ja burtu/taustiņu ir mazāk nekā simbolu, kas ar tiem jānokodē.

 

 

Laboratorijas darbs 2.7. Formatētais ievads Python (Python 3)

1.     Atvērt failu lab2.3.py.

d = float(input("Input numeric value: "))

print("Output:",d)

  1. Darbināt programmu ar skaitli ievadā 1.23, izdrukā:

Output: 1.23

Valodā Python ievade notiek, izmantojot funkciju input, un ievades rezultāts ir teksts, kuru pēc tam nepieciešamības gadījumā pārveido uz attiecīgo datu tipu (šeit float). Konkrēta skaitlisko datu tipa pārveidošanas vietā var lietot universālo funkciju eval:

d = eval(input("Input numeric value: "))

print("Output:",d)

3.     Atgriežamies pie float.

d = float(input("Input numeric value: "))

print("Output:",d)

4.     Darbinām programmu, ievadot float tipam neatbilstošu vērtību piemēram, abc:

Input numeric value: abc

5.     Programma beidz darboties ar kļūdu:

Traceback (most recent call last):

  File "D:\darbi\Dropbox\acad\courses\prog\proglab\lab02\py\lab2.3.py", line 1,

in <module>

    d = float(input("Input numeric value: "))

ValueError: could not convert string to float: 'abc'

Ievērojiet, ka šeit parādās kļūdas veids ValueError.

6.     Izveidojam gudrāku programmu, kas māk tikt galā ar kļūdu (bez tam papildus pirms tan d tiek inicializēts ar 789) (lab2.3a.py):

d = 789

try:

    d = float(input("Input numeric value: "))

except ValueError:

    print("Value error!")

print("Output:",d)

Kļūdas apstrādi nodrošina try-except bloks.

7.     Ar vienu ievades operāciju input iespējams ievadīt vairākas vērtības (sekojošā programma atļauj ievadīt vairākas vērtības un izdrukā to kvadrātus) (lab2.3b.py):

text = input("Input several integer values: ")

mylist = text.split()

print(mylist)

for m in mylist:

    i = int(m)

    print(i,i*i)

Papildus tiek izmantota funkcija split, kas sadala tekstu (text) vērtību sarakstā (mylist).

8.     Programma darbībā:

Input several integer values: 2 8 11

['2', '8', '11']

2 4

8 64

11 121

Izdrukā redzams, ka saraksts mylist ir saraksts no teksta vērtībām (ievietotām pēdiņās).

 

 

Laboratorijas darbs 2.8. Formatētais izvads Python (Python 3)

Šajā laboratorijas darbā tiks apskatītas dažas formatēta izvada īpašības.

1.     Atvērt failu lab2.4.py.

  1. Darbināt programmu.

Programma izdrukā skaitli 123.46589, izdrukājot visus ciparus aiz komata.

  1. Lai ierobežotu ciparu skaitu aiz komata, tiek lietota funkcija format (formatēšana sastāv no formatējuma teksta un formatējamo vērtību virknes, 0 nozīmē vērtību #0, mūsu gadījumā vienīgo):

d = 123.46589

print("{0:.3f}".format(d))

  1. Darbinot programmu, izdrukā (3 zīmes aiz komata):

123.466

Trīs zīmes aiz komata nosaka teksts „.3f” formatējuma sadaļā.

5.     Ja tiek nomests formatējuma burts „f”:

d = 123.46589

print("{0:.3}".format(d))

6.     tad skaitlis 3 formatējumā attiecas uz zīmīgo ciparu skaitu (nevis zīmju skaita aiz komata):

1.23e+02

Tas nozīmē 1.23*102.

Formatēt vienā virknē var vairākas un vairāku tipu vērtības (lab2.4a.py):

a = 456

b = 123.46589

c = "Hallo"

print("{0:d}=={1:.4f}\n{2:s}".format(a,b,c))

7.     kas izdrukā dod.

456==123.4659

Hallo

8.     Sākot ar Python v.3.6, funkcijas ‘format’ vietā var lietot speciālu formatēšanas virkni f“...” (lab2.4b.py):

a = 456

b = 123.46589

c = "Hallo"

print(f"{a:d}=={b:.4f}\n{c:s}")

9.     Parasti nav nepieciešams speciāli norādīt formatējumu veseliem skaitļiem un tekstam (lab2.4c.py):

a = 456

b = 123.46589

c = "Hallo"

print(f"{a}=={b:.4f}\n{c}")

{} – nozīmē formatējamās vienības:

1,2,3 – formatējamo vienību numuri

d – vesels skaitlis

f – skaitlis ar peldošo punktu

s – simbolu virkne (teksts)

Viss, kas ir starp formatējamām vienībām, tiek drukāts (atgriezts) tiešā veidā.

 

Laboratorijas darbs 2.9. Vienkāršas programmas piemērs C++ ar ievadi un izvadi

Vienkārša programma skaitļa kvadrāta aprēķināšanai (io.cpp):

// Skaitļa kvadrāta aprēķināšana

#include<iostream>

using namespace std;

int main()

{

    double valnum;

    cout << "Ievadi skaitli: ";

    cin >> valnum;

    cout << "Skaitlis " << valnum << " kvadraataa ir " << valnum*valnum << endl;

}

 

Vienkārša programma skaitļa kvadrāta aprēķināšanai ar ievades kļūdas pārbaudi (ioplus.cpp):

// Skaitļa kvadrāta aprēķināšana

#include<iostream>

using namespace std;

int main()

{

    double valnum;

    cout << "Ievadi skaitli: ";

    cin >> valnum;

    if (cin.good())

        cout << "Skaitlis " << valnum << " kvadraataa ir " << valnum*valnum << endl;

    else

        cout << "Ievades kluuda -- jaaievada skaitlis." << endl;

}

 

Vienkārša programma skaitļa kvadrāta aprēķināšanai ar atkārtotu izpildi (iorepeat.cpp):

// Skaitļa kvadrāta aprēķināšana

#include<iostream>

using namespace std;

int main()

{

    int ok;

    do

    {

        double valnum;

        cout << "Ievadi skaitli: ";

        cin >> valnum;

        cout << "Skaitlis " << valnum << " kvadraataa ir " << valnum*valnum << endl;

        cout << " Vai turpinaat (1) vai beigt (0)?" << endl;

        cin >> ok;

    } while (ok == 1);

}

 

Vienkārša programma skaitļa kvadrāta aprēķināšanai ar atkārtotu izpildi un ievades kļūdas pārbaudi (iorepeatplus.cpp):

// Skaitļa kvadrāta aprēķināšana

#include<iostream>

using namespace std;

int main()

{

    int ok;

    do

    {

        double valnum;

        cout << "Ievadi skaitli: ";

        cin >> valnum;

        if (cin.good())

            cout << "Skaitlis " << valnum << " kvadraataa ir " << valnum*valnum << endl;

        else

        {

            cin.clear();

            cin.ignore(256,'\n');

            cout << "Ievades kluuda -- jaaievada skaitlis." << endl;

        }

        cout << " Vai turpinaat (1) vai beigt (0)?" << endl;

        cin >> ok;

    } while (ok == 1);

}

 

 

Laboratorijas darbs 2.10. Vienkāršas programmas piemērs JavaScript ar dažādiem ievades un izvades variantiem

Vienkārša programma skaitļa kvadrāta aprēķināšanai (ioprompt1.html), izvadei izvēloties funkciju window.alert:

<!-- Skaitļa kvadrāta aprēķināšana -->

<script>

   var valnum = Number(prompt("Ievadi skaitli",""));

   var outputtext = "Skaitlis " + valnum + " kvadrātā ir " + (valnum ** 2);

   window.alert(outputtext);

</script>

 

Vienkārša programma skaitļa kvadrāta aprēķināšanai (ioprompt2.html), izvadei izvēloties funkciju console.log:

<!-- Skaitļa kvadrāta aprēķināšana -->

<script>

   var valnum = Number(prompt("Ievadi skaitli",""));

   var outputtext = "Skaitlis " + valnum + " kvadrātā ir " + (valnum ** 2);

   console.log(outputtext);

</script>

 

Vienkārša programma skaitļa kvadrāta aprēķināšanai (iohtml.html), ievadei un izvadei izvēloties html līdzekļus:

<!-- Skaitļa kvadrāta aprēķināšana -->

<html>

   <p id="text1"><b>Skaitļa kvadrāta aprēķināšana</b></p>

   <p id="text2">Ievadi skaitli: </p>

   <input type="number" id="idinput" value="0"/>

   <p></p>

   <button onclick="main()">Aprēķināt kvadrātu</button>

   <p id="idoutput"></p>

   <script>

         function main() {

               var valtxt = document.getElementById("idinput").value;

               var valnum = Number(valtxt);

               var outputtext = "Skaitlis " + valnum + " kvadrātā ir " + (valnum ** 2);

            document.getElementById("idoutput").innerHTML = outputtext;

         }

   </script>

</html>