Е резултат на извршување на изјава. Условен оператор? Ограничувања за користење на операторот

Во претходниот пасус, се запознавме со структурата на програмата Pascal, научивме како да опишуваме податоци и го испитавме операторот за доделување. Ова е доволно за да се напише програма за конверзија на податоци. Но, резултатот од овие трансформации нема да ни биде видлив.

За излез на податоци од меморија за случаен пристапна екранот на мониторот, се користи операторот за излез за запишување:

Овде, во загради, се става излезната листа - список на изрази чии вредности се испечатени. Тоа може да биде нумерички, симболични и логички изрази, вклучувајќи променливи и константи.

Произволно збир на знаци затворени во апострофи се смета за константа на стрингот. Константата на низата може да содржи какви било знаци напишани на тастатурата.

Пример. Изјавата write ("s=" , s) се извршува вака:

  1. На екранот се прикажуваат знаците затворени во апострофи: s=
  2. на екранот се прикажува вредноста на променливата зачувана во ќелијата RAM со име s.

Ако вредноста на променливата s е 15 и има цел број, тогаш на екранот ќе се прикаже: s=15.

Ако вредноста на променливата s е 15, но има реален тип, тогаш на екранот ќе се прикаже: s=l.5E+01.

Кога се извршува излезна изјава, сите елементи од излезната листа се печатат директно еден по друг. Значи, како резултат на операцијата на операторот запишување (1, 20, 300), на екранот ќе се прикаже низата цифри 120300, кои од нас ќе бидат перципирани како број 120300, а не како три посебни нумерички константи. . Постојат многу начини да се направат излезните податоци подостапни за перцепција:

Излезен формате цел број наведен после две точки, кој одредува колку позиции на екранот треба да зазема излезната вредност. Ако има помалку цифри во бројот од позициите резервирани за него на екранот, тогаш слободните позиции се пополнети со празни места лево од бројот. Ако бројот наведен во излезниот формат по дебелото црево е помал од потребното, тогаш тој автоматски ќе се зголеми на потребниот минимум.

За да излезе реален број во формат со фиксна точка, во списокот за излез се наведени два параметри за секој израз:

  1. вкупниот број на позиции доделени за бројот;
  2. бројот на позиции во дробниот дел од бројот.

Кога ќе се изврши нова изјава за пишување, излезот продолжува на истата линија. За да преминете на нова линија, користете ја исказот writeln. Нема други разлики помеѓу пишуваните и напишаните изјави.

4.2.2. Првата програма на Паскал

Користејќи ги разгледуваните оператори, ќе составиме програма што го пресметува обемот и плоштината на круг со радиус 5,4 см.

Почетните податоци во овој проблем се радиусот: r - 5,4 cm. Резултатот од програмата треба да бидат вредностите C - обемот и S - областа на кругот. С, S и r се вредности од реален тип.

Почетните податоци и резултати ги поврзуваат соодносите познати од курсот по математика: С = 2πr, S = πr + . Програма која спроведува пресметки користејќи ги овие формули ќе изгледа вака:

Оваа програма е точна и го решава проблемот. Извршувајќи го за извршување, ќе го добиете следниов резултат:

А сепак, програмата што ја составивме има значителен недостаток: го наоѓа обемот и плоштината на кругот за една вредност на радиусот (5,4 см).

За да го пресметате обемот и областа на кругот за различна вредност на радиусот, ќе треба да направите промени директно во текстот на програмата, имено, да го промените операторот за доделување. Правењето промени во постоечката програма барем не е секогаш погодно (на пример, кога програмата е голема и има многу оператори за доделување). Подолу ќе се запознаете со операторот, кој ви овозможува да ги внесете првичните податоци во процесот на водење на програмата, без прибегнување кон менување на текстот на програмата.

4.2.3. Внес на тастатура

За да ги внесете вредностите на променливите во RAM меморијата, користете го операторот за читање влез:

Кога се издава изјава за читање, компјутерот влегува во режим на чекање податоци: корисникот мора да внесе податоци од тастатурата и да го притиснете копчето Enter. Може да се внесат неколку вредности на променливи нумерички типови одделени со празни места или запирки. Кога внесувате променливи на знаци, празни места и запирки се третираат како знаци, така што тие не можат да се постават.

Првата вредност на променливата внесена од корисникот се става во мемориската локација чие име се наоѓа прво во влезната листа и така натаму. Затоа, типовите на влезни вредности (влезен тек) мора да одговараат на типовите на променливи наведени во дел за декларација на променлива.

Пример. Нека

var i, j: цел број; x:реално; a: char;

Доделете ги променливите i, j, x и вредностите 1, 0, 2.5 и „A“. За да го направите ова, го користиме операторот за читање (i, j, x, a) и го организираме влезниот тек на еден од следниве начини:

Овде, не само што користевме различни сепаратори (простор, запирка), туку и го претставивме влезниот тек како една, две и четири линии.

Исто така, можете да ја користите изјавата readln за внесување податоци од тастатурата, која се разликува од изјавата за читање само по тоа што по нејзиното извршување, курсорот скока на нова линија.

Ајде да ја подобриме програмата n_1 со организирање на внесување податоци во неа користејќи ја изјавата за читање. И за да знае корисникот за што е наменета програмата и да разбере точно каква акција очекува компјутерот од него, ќе го прикажеме соодветниот текстуални поракикористејќи го операторот за пишување:

Резултатот од подобрената програма:

Сега нашата програма може да го пресмета обемот и плоштината на кругот за која било вредност од r. Со други зборови, не решава ниту еден проблем, туку цела класа проблеми. Покрај тоа, програмата јасно и практично го организира внесувањето на почетните податоци и излезот од резултатите. Ова обезбедува пријателски кориснички интерфејс.

Најважниот

Изјавите за читање и читање за влез се користат за внесување на вредностите на променливите во RAM меморијата.

Излезните оператори за пишување и запишување се користат за излез на податоци од RAM меморијата на екранот на мониторот.

Внесувањето на првичните податоци и излезот на резултатите треба да се организираат јасно и удобно; ова обезбедува пријателски кориснички интерфејс.

Прашања и задачи

  1. Напишете изјава која обезбедува внесување на вредноста на променливата сума за време на извршувањето на програмата.
  2. На целобројните променливи i, y, k треба да им се доделат вредностите 10, 20 и 30, соодветно. Напишете ја влезната изјава што одговара на влезниот тек:
      а) 20 10 30
      б) 30 20 10
      в) 10 30 20
  3. Опишете ги променливите потребни за пресметување на плоштината на триаголникот со оглед на неговите три страни и запишете оператор кој го обезбедува потребниот влез.
  4. Кој е резултатот од извршувањето на изјавата?
      а) напишете (а)
      б) напишете (1 a")
      в) напишете (1 a = 1, a)
  5. Каков тип е променливата f ако следниот број е прикажан по извршувањето на исказот за пишување (f)?
      а) 125
      б) 1,25E+2
  6. Како можам да прикажам реален број во формат на фиксна точка?
  7. Запишете ги исказите за внесување два броја и нивно издавање во обратен редослед.
  8. Даден е фрагмент од програмата:

    читај (а); читање (б); c:=a+b; пишува (а, б); пишува (и)

    Поедноставете го со намалување на бројот на влезни и излезни изјави.

  9. Даден е фрагмент од програмата:

    a:=10; b:=a+l: a:=b-a; напишете (а, б)

    Кои бројки ќе се прикажат на екранот на компјутерот?

  10. Напишете програма која ја пресметува плоштината и периметарот на правоаголникот со оглед на неговите две страни.

Излез на податоци
Изнесување податоци од RAM меморија на екранот на мониторот:
пишуваат
(<выражение 1> ,< выражение 2> , ...,< выражение N>)
излезна листа
Изрази - симболични, нумерички, логички,
вклучувајќи променливи и константи
Пример:
пишува ("s=", s).
За s=15 на екранот ќе се прикаже: s=15.
Информациите во наводници се прикажуваат на екранот.
без промени

Опции за организација на излезот
Опција
организација за повлекување
Нема сепаратори
Излезен оператор
пишува (1, 20, 300).
Резултат
120300
Додадете разграничувачи напишете (1, ',' , 20,
- запирки
’, ’, 300)
1, 20, 300
Додадете разграничувачи напишете (1, „„, 2, „„, 3)
- простори
1 20 300

Излезен формат
Излезниот формат ви овозможува да го поставите бројот на позиции
на екранот окупиран од прикажаната вредност.
пишува (s:x:y)
x - вкупниот број на позиции доделени за бројот;
y - бројот на позиции во фракциониот дел од бројот.
Излезен оператор
Резултат од извршувањето
оператор
write('s=', s:2:0);
s=15
write('s=', s:3:1);
s=15,0
write('s=', s:5:1);
s=
напишано
15.0
- излез од нова линија!

Првата програма
програма n_1;
const pi=3,14;
var r, c, s: реално;
започне
r:=5,4;
c:=2*pi*r;
Резултатот од програмата:
s:=pi*r*r;
writeln("c=", c:6:4);
writeln("s=", s:6:4)
ТурбоПаскал
Верзија 7.0
крај.
c=33,9120
s=91,5624

Внес на тастатура
Внесување променливи вредности во RAM меморијата:
прочитајте
(<имя переменной1>, …, <имя переменной N>)
влезна листа
Извршување на прочитаната изјава:
1) Компјутерот влегува во режим на подготвеност за податоци:
2) корисникот внесува податоци од тастатурата:
повеќе променливи вредности
може да се воведат нумерички типови
разделени со празни места или запирки;
при внесување симболички променливи
не може да се постават празни места и запирки;
3) корисникот го притиска копчето Enter.

Внес на тастатура
!
Видовите на влезните вредности мора да се совпаѓаат
видовите на променливи наведени во делот за декларација
променливи.
var i, j: цел број, x: реален, а: знак;
читање (i, j, x, a);
опции за организирање на влезниот тек:
1 0 2,5 А 1,0 1
2,5, А 0
2.5
А
По извршувањето на изјавата readln, курсорот скока на
нова линија.

Подобрена програма
програма n_1;
const pi=3,14;
var r, c, s: реално;
започне
writeln(„Пресметај го обемот и плоштината на кругот“);
write ("Внесете r>>");
readln(r);
c:=2*pi*r;
Резултатот од програмата:
s:=pi*r*r;
writeln("c=", c:6:4);
Паскал верзија 7.0
writeln("s=", s:6:4) Турбо
Пресметување на обемот и плоштината на кругот
Внесете r>> 8.5
крај.
c=53,3800
s=226,8650

Најважниот
За да внесете променливи вредности во RAM меморијата
се користат исказите за читање и читање за внесување.
За излез на податоци од RAM меморија на екранот
монитор, се користат исказите за пишување и пишување за излез.
Внесувањето на првичните податоци и излезот на резултатите треба
да бидат организирани јасно и удобно; обезбедува
пријатност на корисничкиот интерфејс.

Прашања и задачи
1) Даден е фрагмент од програмата:
a:=10; b:=a+1: a:=b–a; пишува (а, б)
Кои бројки ќе се прикажат на екранот на компјутерот?
2) Опишете ги променливите потребни за пресметката
плоштината на триаголник долж неговите три страни и
напишете оператор кој обезбедува влез
потребните влезни податоци.
3) Кој е резултатот од извршувањето на изјавата?
а) напиши (а)
б) пишува („а“)
в) пишува ("a=", а)
4) Целобројните променливи i, j, k мора да бидат доделени
вредностите се 10, 20 и 30 соодветно.
Напишете влезна изјава што одговара на влезот
проток:
а) 20 10 30
б) 30 20 10
в) 10,30,20

Операторе јазичен елемент кој одредува целосен опис на дејството што треба да се изврши. Секој оператор е целосна фраза на програмскиот јазик и дефинира некоја целосна фаза на обработка на податоците. Операторите може да вклучуваат услужни зборови, податоци, изрази и други оператори. На англиски овој концептозначено со зборот „изјава“, што значи и „понуда“.

Секој оператор на кој било програмски јазик има специфичен синтаксаИ семантика. Под синтаксаоператорот се подразбира како систем на правила (граматика) кој го дефинира неговиот запис користејќи елементи од азбуката даден јазик, кој, заедно со различни симболи, вклучува, на пример, услужни зборови. Под семантикаоператорот го разбира неговото значење, т.е. оние дејства на кои одговара записот на овој или оној оператор. На пример, влезот i:= i + 1е пример за синтаксички правилна нотација оператор за доделувањево јазикот Паскал, чија семантика во овој случај е следна: извлечете ја вредноста на мемориската ќелија што одговара на променливата i, додадете ја на една, запишете го резултатот во истата мемориска ќелија.

Во повеќето процедурални програмски јазици, множеството на оператори е речиси исто и се состои од оператор за доделување, оператори за избор, оператори на јамка, оператор за повик на процедура, оператори за скокање. Понекогаш има и празни (без дејство) и сложени оператори. Многу оператори се начин за претставување на одредени алгоритамски конструкции (види „ Алгоритамски конструкции”) во програмски јазик. Да ги разгледаме групите на оператори подетално, користејќи ја синтаксата на јазикот Паскал.

оператор за доделување

Доделувањето е компјутерско дејство, како резултат на што променливата ја добива вредноста на оценетиот израз (се става во мемориската ќелија што одговара на променливата). За да се опише такво дејство во програмските јазици, постои оператор за доделување.

Општо земено, операторот за доделување е напишан на следниов начин:

<переменная> <знак присваивания> <выражение>

На пример, во јазикот Паскал, комбинацијата на знаци: = се користи како знак за доделување. Во голем број други јазици, знакот за еднаквост.

Резултатот од извршувањето на операторот за доделување е промена во состојбата на податоците: сите променливи освен променлива, стоејќи на левата страна на операторот за доделување, не ја менувајте нивната вредност, а наведеното променливадобива вредност изрази, стои на десната страна на операторот за доделување. Во повеќето случаи се бара типот изразиодговараше на типот променлива. Ако ова не е случај, тогаш операторот или се смета за синтаксички неточен, или типот на изразот се претвора во типот на променлива (види „ Типови на податоци” ).

Оператори за избор

На друг начин се нарекуваат овие оператори условни изјави. Условните искази се користат за програмирање на алгоритми што ја содржат разгранувачката алгоритамска конструкција.

Постојат неколку видови на условни искази во програмските јазици. Целосната условна изјава одговара на целосната разгранувачка алгоритамска структура:

Во програмскиот јазик, соодветниот условен оператор е:

ако Б тогаш S1 друго S2

Доколку изразот Б, што се оценува на почетокот на извршувањето на условната изјава, е точно, тогаш исказот ќе се изврши S1, во спротивно - операторот S2. Оператори S1И S2може да биде композитен.

Алгоритамската структура на нецелосно разгранување се имплементира со користење на нецелосен условен оператор, кој има форма:

ако Б тогашС

Еве Бе булов израз, и Се произволен оператор. Оператор Сќе се изврши ако изразот Б се оцени како точно.

Ако условниот оператор имплементира само две изборни гранки („да“ и „не“), тогаш се користи варијантен оператор (случај-оператор) можете да програмирате структура со повеќе гранки. Операторот на варијантата изгледа вака:

случај Е на

Изведена даден операторвака: вредност на изразот Есе пребарува меѓу вредностите наведени во записот на операторот V1, V2, …, Vn, а доколку се најде таква вредност, тогаш се извршува соодветната изјава S1, S2, …, Sn.

Во различни програмски јазици, синтаксата, па дури и семантиката на наведените оператори може да се разликуваат, но можностите што му се даваат на програмерот од таквите конструкции се приближно исти.

Пример 1Во статијата " Алгоритамски конструкции”2, даден е пример за пишување алгоритам за решавање на генерализирана квадратна равенка со помош на конструкции за разгранување. Еве фрагмент од програмата Pascal што го имплементира истиот алгоритам:

ако a = 0 тогаш

ако b = 0 тогаш

ако c = 0 тогаш writeln ("x - било")

друго writeln („без корени“)

другопишување (-c/b)

друго започне

D:= b*b - 4*a*c;

акоД< 0 тогаш writeln („без корени“)

друго започне

x1:= -b + sqrt(D);

x2:= -b - sqrt(D);

writeln(x1:0:2,""", x2:0:2)

Изјави за јамка

Операторите на јамки имплементираат циклични алгоритамски конструкции, тие се користат за дејства што се повторуваат многу пати. Во многу програмски јазици, постојат три типа на изјави за јамка: „со предуслов“, „со постуслов“, „со параметар“.

Неопходна и доволна алгоритамска структура за програмирање циклуси е јамка „предуслов“, така што може да се нарече главен тип на јамка. Операторот на јамка со предуслов има форма:

додека Б направиС

Оператор С, за чие повторено извршување се создава циклус, се повикува тело на јамка. Извршувањето на операторот на јамката се сведува на повторено извршување на телото на јамката додека вредноста на логичкиот израз Бточно (додека не стане лажно). Всушност, таквите изјави за јамка го спроведуваат повтореното извршување на условните изјави акоБ тогаш S додека условот е вистинит Б.

Пример 2. Размислете за употребата на таков оператор на јамка за пресметување на збирот на цифри на природен број Н:

додека N > 0 започнете

S:= S + N мод 10;

N:=N див 10

Во јамка со постуслов, телото на јамката му претходи на условот Б. За разлика од јамката со предуслов, овде B е крајната состојба на јамката. Операторот на јамка со постуслов во Паскал ја има формата:

повторете С додекаБ

Со оваа организација на циклусот, телото на циклусот Смора да се изврши барем еднаш.

Скоро сите процедурални јазици имаат оператор на јамка со параметар. Шематски, може да се претстави на следниов начин:

за< променлива > Е1 доЕ2 чекорЕ3 направиС

Еве ја вредноста променлива(параметар на циклусот) се менува од вредноста на изразот Е1 во Е2 со чекорот Е3. За секоја таква вредност на параметарот јамка, се извршува операторот S. Во јазикот Pascal, концептот на чекор во описот на овој оператор е отсутен, а самиот чекор за параметар на целобројна јамка може да биде еднаков или 1 или -1. Операторот „јамка со параметар“ се користи за програмирање циклуси со даден број на повторувања. Не е погоден за програмирање итеративни јамки (чиј број на повторувања не е познат однапред).

изјава за повик на процедура

Во статијата " потпрограми” детално опишува за овој вид потпрограми, како процедури. Стандардните потпрограми на програмскиот јазик кои се вклучени во една од библиотеките на потпрограми, како и потпрограмите дефинирани од корисникот опишани во овој блок, се повикуваат со помош на операторот постапка повик:

<имя процедуры>(E1, E2,…, En)

Овде E1, E2,…,En се променливи или изрази кои претставуваат вистинските параметриповикувајќи се на постапката. Најчесто се користи стандардни процедурисе процедури за внесување и излез на податоци (читање и пишување во Pascal).

Повикувањето постапка е семантички еквивалентно на извршување на блокот деклариран како тело на процедурата откако ќе се пренесат почетните вредности на некои променливи (параметри на вредности) во неа или ќе се заменат имињата на некои променливи (параметри на променливи) со имињата на вистинските променливи специфицирани кога била повикана процедурата.

Пример 3Дозволете ни да ја опишеме постапката abc:

постапка abc(a,b:цел број; varв: цел број);

Повикувањето на оваа постапка abc(2,3,x) е еквивалентно на акционен блок:

Скокни изјави

Најпознат во оваа група на оператори е безусловен скок оператор оди до. Ако на сите или некои од веќе постоечките програмски искази ги додадеме етикети, тогаш во програмата станува возможно да се користи операторот за транзиција на формата:

оди до<метка>

Ознаката во овој случај одговара на почетокот на исказот од кој треба да продолжи извршувањето на програмата. Таквиот оператор овозможува да се пишуваат алгоритми во програмски јазик кои имаат произволно сложена структура. Но, честопати употребата на безусловна транзиција е неоправдана, бидејќи води кон збунувачки, лош читлива програма. Речиси единствената значајна употреба на операторот оди дое излез од неколку вгнездени јамки одеднаш, на пример, при обработка на дводимензионални низи.

Пример 4Да претпоставиме дека треба да утврдиме дали има елемент еднаков на 0 во дводимензионалната низа a:

зајас: = 1 доН направи

за j:= 1 доН направи

ако a = 0 потоа започнете

1: акоб тогашпишува ("е") другопишува ("не");

Програма развиена според правилата за структурирано програмирање не треба да содржи безусловни оператори на гранки. Горенаведената програма без користење на изјавата оди доможе да се препише вака:

додека неб и(т.е< N) започнете

додека неб и(Ј< N) започнете

ако a = 0 тогашб:=точно;

акоб тогашпишува ("е") другопишува ("не");

Во овој случај, структурната програма е помалку визуелна од програмата со оди до.

Други оператори за скокање може да се дефинираат во програмските јазици. На пример, во Паскал: пауза(ран прекин на циклусот, премин кон изјавата што мора да се изврши по завршувањето на циклусот), продолжи(предвремено завршување на тековната итерација на јамката и премин на следната), излез(предвремено прекинување на потпрограмата, излез од него), запре(предвремен прекин на програмата, премин кон нејзиниот крај). Слични оператори постојат во C, C++ и Java.

Сложен оператор

Сложеното тврдење е група на искази затворени во загради (во Паскал, започнекрај; во C, C++ - (…)).

Комбинираниот оператор беше воведен во програмските јазици за да се олесни описот на јазичните конструкции. На пример, во Паскал, извршниот дел од секој блок (програма, процедура, функција) е единечна сложена изјава. На ист начин, телото на кој било оператор на јамка се состои од само еден оператор, можеби сложен. Алтернатива на сложената изјава може да биде функционален збор што го означува крајот на една или друга изјава, на пример, КРАЈ АКОво Основниот јазик.

Темата „Оператори на програмски јазици“ обично се изучува само во контекст на одреден програмски јазик. Кога се разгледува, важно е да се прикаже врската помеѓу основните алгоритамски конструкции и операторите: алгоритамските конструкции се напишани на програмски јазик користејќи ги соодветните оператори. Исклучок во одредена смисла е секвенцијалната конструкција, таа го дефинира линеарниот редослед по кој се изведуваат дејствата. Акциите во строго линеарна програма се спроведуваат само од операторите за доделување и од операторите за повици на процедури.

Во почетната фаза од наставата по програмирање, студентите имаат многу проблеми. Првата психолошка бариера што треба да ја надминат при учењето на операторот за доделување. Една од главните задачи што треба да се реши заедно со учениците е размената на вредности на две променливи. Можете да ги поканите учениците ментално да го решат проблемот како да ја заменат содржината на две фиоки, на пример, биро. Обично во оваа фаза од дискусијата, учениците погодуваат дека е потребна трета рамка (променлива) за да се реши проблемот. Меѓутоа, при пишувањето на овој алгоритам, тие често се мешаат во кој дел од операторот за доделување (лево или десно) треба да биде оваа или онаа променлива.

Грешките во пишувањето аритметички и логички изрази се јавуваат поради непознавање на предноста на операциите што се користат во изразот. Во исто време, операциите се сфаќаат не само како аритметички, туку и како операции за споредба и логички сврзници, а во јазикот C како операција за доделување, што е многу невообичаено за учениците од училиштата. Ситуацијата е комплицирана од фактот дека во различни програмски јазици истите операции имаат различни релативни приоритети. Исто така, треба да обрнете внимание на кореспонденцијата помеѓу типовите на променливата и изразот во левиот и десниот дел на операторот за доделување (види „ Типови на податоци”).

При совладување на операторите за селекција, корисно е да им се понуди на учениците да програмираат алгоритам кој содржи структура со повеќе разгранување, и со користење на комбинација од условни оператори и со користење на оператор за избор.

Пример.во цела променлива НВнесете ја возраста на лицето во години. Напишете ја фразата " Имам К години“, заменувајќи го зборот годинина годинаили на годинатаво зависност од бројот К. Еве две решенија за овој проблем:

акомод 100) во

тогаш writeln („Јас имам „, к“, години“)

случајк мод 10 на

0,5..9:writeln("Јас сум ",к," години");

1:writeln("Јас сум ",к," година");

2..4:writeln("Јас сум ",к," години");

var k, n: цел број;

readln(k); n:= k мод 10;

акомод 100) во

тогаш writeln („Јас имам „, к“, години“) друго

ако n=1 тогаш writeln („Јас сум „, k“, година“)

ако(n>=) и(n<= 4)

тогаш writeln („Јас имам „, к“, години“)

друго writeln („Јас имам „, к“, години“)

Кога ги разгледуваме операторите на јамката, корисно е да се предложи истата задача да се програмира на три различни начини со користење на три оператори на јамки, и обратно, според состојбата на проблемот, да научите да одредувате кој оператор на јамка е најсоодветен во одреден случај.

Постапката за повик на операторот е само на прв поглед едноставна. Овде е важно да се објаснат правилата за пренесување параметри на процедури и функции, разликата помеѓу параметрите на променливата и параметрите на вредноста (во вториот случај, можеме да пренесеме не само име на променлива, туку и константа или дури и израз на соодветната тип). Формалните и вистинските параметри мора да се совпаѓаат по типот, но не и по името, што е далеку од очигледно за студентите.

Учењето на условниот и особено сложениот оператор е добра можност да се разговара со учениците за стилот на програмирање. Постојат неколку вообичаени начини за пишување структурирани програми во Pascal, но сите тие содржат вовлекување за да се приспособат на вгнездени структури. Важно за снимање програми и коментари.

Програмскиот код е прикажан на сл. 4,3-9.

Опција Строга за опцијата Експлицитна за увоз систем.Јавна класа по математика Форма 1 "Функција за внесување на координатите на точка во Функција за поле за текст vvod(ByVal T како TextBox) Како еднократно враќање CSng(Val(T.Text)) Крајна функција "Постапка до изнесете го резултатот во TextBox Sub vivod (ByVal Z As Single, ByVal T As TextBox) T.Text = CStr(Z) End Sub "Функција за пресметување на должината на отсечка од права од координатите на две точки Јавна функција Должина на линијата( ByVal x1 As Single, _ ByVal y1 As Single, ByVal x2 As Single, _ ByVal y2 As Single) As Single Врати CSng(Sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) Крајна функција „Постапка за пресметување на периметарот и плоштината на триаголник Sub PS(ByVal x1 As Single, ByVal y1 As Single, _ ByVal x2 As Single, ByVal y2 As Single, _ ByVal x3 As Single, ByVal y3 As Single, _ ByRef P As Single, ByRef S As Single) Dim A, B, C, Pp As Single A = Должина на сегментот(x1 , y1, x2, y2) "Повикување на функцијата за пресметување долга нег. B = Должина на линијата (x2, y2, x3 , y3) C = Должина на линијата (x3, y3, x1, y1) P = (A + B + C) : Pp = P / 2 S = CSng(Sqrt(Pp * (Pp - A) * (Pp - B) * (Pp - C))) Крај на Sub "Button1 Кликнете Постапка за настан Приватно под копче1_Click(ByVal испраќач како System.Object, _ ByVal e As System.EventArgs) Копче за рачки1. Кликнете Dim x1 As Single, x2 As Single, x3 Како единечно затемнување y1 како сингл, y2 како сингл, y3 како единечно затемнување по сингл, Plo како единечно x1 = vvod(TextBox1) : x2 = vvod(TextBox2) : x3 = vvod(TextBox3) y1 = vvod(TextBox2) : = vvod(TextBox7) : y3 = vvod(TextBox8) PS(x1, y1, x2, y2, x3, y3, Per, Plo) vivod(Plo, TextBox4) : vivod(Plo, TextBox5) Крај на под приватно подкопче(ByValck испраќач Како систем.Објект, _ ByVal e како систем. Настан Аргс) Копче за рачки2. Кликнете Крај Крај Под Крај класа

Извршување на апликацијата и добивање резултати

Резултатот е прикажан на сл. 4,3-10.

Доказ за точноста на резултатот

A=
= 2,82843 B =
= 2

C \u003d \u003d 2 P \u003d A + B + C \u003d 6,828427; Рр = Р/2 = 3,414213 S= = 2


Безбедносни прашања на темата

„Структура на VB-програми, модули и процедури.

Програмски алатки за алгоритми за линеарна структура“

1. Што е математички модел?

2. Кои се главните чекори вклучени во решавањето на компјутерските проблеми?

3. Кои фази на решавање на компјутерски проблеми се изведуваат без учество на компјутер?

4. Што се нарекува математички модел на објект или феномен?

5. Кои се чекорите во процесот на развој на програмата?

6. Што се нарекува алгоритам?

7. Кои се главните својства на алгоритам?

8. Кои се начините за опишување на алгоритми?

9. Кои графички симболи обично се прикажани во алгоритамските дијаграми?

10. Како работи преведувачот?

11. Како работи компајлерот?

12. Што е линеарен алгоритам?

13. Што е цикличен алгоритам?

14. Што е алгоритам за разгранување?

15. Која е разликата помеѓу пренесување на резултатите од извршувањето на функциите и процедурите?

16. Дали добивањето веродостоен резултат ја докажува исправноста на програмата?

17. Кои грешки може да останат неоткриени ако не ја проверите (гледате, скролувате) програмата?

18. Како се разликува тестирањето програма од дебагирањето?

19. Дали тестирањето може да ја докаже исправноста на програмата?

20. Во која фаза од работата на програмата се пресметуваат резултатите од репер тестовите?

21. Наведете ги главните чекори во процесот на тестирање.

22. Која е разликата помеѓу синтаксичките грешки и семантичките грешки?

23. Што укажува отсуството на машински пораки за синтаксички грешки?

24. Какви видови грешки не може да открие компајлерот?

25. Што е програма?

26. Во која фаза е пребарувањето и отстранувањето на грешките во програмата?

27. Што е програмски систем?

28. Што е процедура?

29. Кои се придобивките од програмата што има процедури?

30. Кои процедурални алатки за програмирање се достапни во VB?

31. Како се разменуваат податоците помеѓу поединечните програмски процедури?

32. Кои се вистинските и формалните параметри?

33. Како се пренесува како параметар: константа, променлива, израз?

34. Како се користат глобалните променливи?

35. Како се користат локалните променливи?

36. Кои се формалните параметри?

37. Кои се вистинските параметри?

38. Што се случува кога ќе се повика постапка?

39. Како може параметрите да се пренесат на процедура?

40. Кои параметри се пренесуваат по вредност?

41. Кои параметри се пренесуваат на адресата?

42. Што е процесно програмирање?

43. Кој е резултатот од извршување на функцијата?

44. Како да декларирате поединечни променливи така што тие се локални во функцијата?

45. Кој оператор се користи за рано излегување од функција?

46. Што се контролира при повикување функции и процедури?

47. Како треба да се декларираат формалните параметри за да се помине променлива параметар по вредност?

48. Како е потребно да се декларираат формални параметри за да се помине променлива параметар по адреса?

49. Како се повикува функционална процедура од програмата за повикување?

50. Каков може да биде резултатот од постапката?

51. Која изјава се користи за рано излегување од процедура?

52. Каде може да се најдат описи на функции и процедури?

53. Каде ќе биде достапна променливата декларирана со Јавната изјава?

54. Каде може да се наоѓа приватниот оператор?

55. Што е коментар и правила за негово снимање?

56. Кои се вредностите на променливите на почетокот на програмата?

57. Зошто се опишани (дефинирани) процедурите и функциите?

58. Како се нарекуваат процедурите?

59. Како се нарекуваат функциите?


Слични информации.





Врв