Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UCHPOS98.DOC
Скачиваний:
4
Добавлен:
04.11.2018
Размер:
1.44 Mб
Скачать

5.2.22. Опе­ра­тор цик­ла со счет­чи­ком

Опе­ра­тор цик­ла со счет­чи­ком за­да­ет, в от­ли­чие от цик­ла с ус­ло­ви­ем, яв­но за­дан­ное ко­ли­че­ст­во вы­пол­не­ний цик­ла и име­ет сле­дую­щий вид:

for   Переменная =  На­чалЗнач   to    Ко­нечЗнач    step   При­ра­ще­ние

       Груп­паОпе­ра­то­ров

next    Переменная 

Он со­сто­ит как ми­ни­мум из трех строк: на­чаль­ной с име­нем пе­ре­мен­ной-счет­чи­ка (Переменная ); од­ной или не­сколь­ких строк, за­даю­щих Груп­пуОпе­ра­то­ров, и за­вер­шаю­щей стро­ки ви­да "next    Переменная". В на­чаль­ной стро­ке ука­зы­ва­ют­ся три чи­сло­вых вы­ра­же­ния: На­чалЗнач, Ко­нечЗнач и При­ра­ще­ние, оз­на­чаю­щие со­от­вет­ст­вен­но на­чаль­ное зна­че­ние пе­ре­мен­ной-счет­чи­ка, ее ко­неч­ное зна­че­ние и ве­ли­чи­ну при­ра­ще­ния, на ко­то­рую ме­ня­ет­ся зна­че­ние пе­ре­мен­ной-счет­чи­ка на ка­ж­дом сле­дую­щем ша­ге вы­пол­не­ния. В на­чаль­ной стро­ке мож­но не ука­зы­вать со­че­та­ние "step   При­ра­ще­ние". В этом слу­чае счи­та­ет­ся, что При­ра­ще­ние рав­но 1.

Здесь, FOR, NEXT, STEP - ключевые слова состветственно: с анг­лийского - для, следующий, шаг.

Опе­ра­тор цик­ла со счет­чи­ком эк­ви­ва­лен­тен сле­дую­щей по­сле­до­ва­тель­но­сти опе­ра­то­ров:

Переменная =  На­чалЗнач 

do   while   Переменная ЗнакСравнения   Ко­нечЗнач    

       груп­па опе­ра­то­ров

       Переменная = Переменная + При­ра­ще­ние

loop

Для по­ло­жи­тель­но­го зна­че­ния При­ра­ще­ния ЗнакСравнения есть знак опе­ра­ции МЕНЬ­ШЕ-ИЛИ-РАВ­НО (<=). Для от­ри­ца­тель­но­го зна­че­ния При­ра­ще­ния это   знак опе­ра­ции БОЛЬ­ШЕ-ИЛИ-РАВ­НО (>=).

Пример. Программа нахождения суммы первых восьми нечетных це­лых чисел.

DIM I AS INTEGER, J AS INTEGER

J=0

FOR I=1 TO 15 STEP 2

J=J+I

NEXT

PRINT "сумма равна",J

5.2.23. Процедуры

В языке Basic имеется зна­чи­тель­ный за­пас встроен­ных операций над числовыми и строковыми данными, в том числе реализуемых вызовом арифметических и строковых функций.

Кроме того, язык Basic позво­ляет зада­вать и любые другие нестан­дартные операции и функции над данными. Вся­кая новая не­стандарт­ная операция определяется набором ее данных (операндов) и алго­ритмом вы­пол­нения операции.

Операнды нестандартной операции разделяются на входные и вы­ход­ные операнды (данные). Вы­ход­ными данными нестандартной опера­ции яв­ляются данные, вычис­ляемые этой опе­ра­цией. Входными данными явля­ются данные, исполь­зуемые для вы­чис­лений результирующих выход­ных данных.

Процесс вычислений результатов нестандартной операции задается ка­ким-то алго­ритмом. Этот алгоритм является вспомогательным алго­рит­мом по отно­шению к основному алгоритму (главному алгоритму), решаю­щему всю за­дачу. Таким образом, ал­го­ритм решения любой зада­чи, в об­щем случае, со­сто­ит из основного алго­ритма и набора вспо­мога­тельных ал­горитмов.

В соответствии с делением алгоритмов на основные и вспомога­тель­ные, также и программа, в общем случае, состоит из основной про­граммы (главной программы) и набора вспомогательных программ, на­зываемых процеду­рами.

В языках программирования процедурой называется отдель­но оформленная часть программы, служащая для задания некоторой не­стандартной опера­ции над данными.

Про­це­ду­ры об­ра­зу­ют­ся в ре­зуль­та­те вы­де­ле­ния из про­грам­мы от­дель­ных ее час­тей, вы­пол­няю­щих наи­бо­лее час­то ис­поль­зуе­мые од­но­тип­ные дей­ст­вия, вы­чис­ле­ния и операции. При этом про­це­ду­ры мо­гут быть на­де­ле­ны фор­маль­ны­ми па­ра­мет­ра­ми - пе­ре­мен­ны­ми, зна­че­ния ко­то­рых про­це­ду­ра ис­поль­зу­ет (вход­ные па­ра­мет­ры) и пе­ре­мен­ны­ми, зна­че­ния ко­то­рых про­це­ду­ра вы­чис­ля­ет (вы­ход­ные па­ра­мет­ры). На­ли­чие па­ра­мет­ров по­зво­ля­ет ис­поль­зо­вать од­ну и ту же про­це­ду­ру для ши­ро­ко­го на­бо­ра ее вход­ных дан­ных, как в этой же про­грам­ме, так и во мно­гих дру­гих.

Вся­кая про­це­ду­ра со­сто­ит из за­го­лов­ка и те­ла про­це­ду­ры. В за­го­лов­ке про­це­ду­ры ука­зы­ва­ет­ся ее имя и пе­ре­чис­ля­ют­ся фор­маль­ные па­ра­мет­ры про­це­ду­ры (их име­на и ти­пы). Те­лом (со­дер­жа­ни­ем) про­це­ду­ры яв­ля­ет­ся за­пись тре­буе­мо­го вспо­мо­га­тель­но­го ал­го­рит­ма.

Раз­ли­ча­ют про­це­ду­ры двух ви­дов: про­це­ду­ры-функ­ции и про­це­ду­ры-под­про­грам­мы.

Про­це­ду­ры-функ­ции слу­жат для за­пи­си опе­ра­ций, ко­то­рые, как и обыч­ные ма­те­ма­ти­че­ские функ­ции, вы­чис­ля­ют од­но вы­ход­ное зна­че­ние по од­но­му или не­сколь­ким вход­ных па­ра­мет­рам. Все ос­таль­ные про­це­ду­ры яв­ля­ют­ся про­це­ду­ра­ми-под­про­грам­ма­ми (под­про­грам­ма­ми).

Под­про­грам­мы при­ме­ня­ют­ся для вы­пол­не­ния раз­лич­ных дей­ст­вий, не сво­дя­щих­ся толь­ко к вы­чис­ле­нию од­но­го ка­ко­го-то зна­че­ния (на­при­мер, пе­чать ре­зуль­та­тов), а так­же для вы­чис­ле­ния зна­че­ний, чис­ло ко­то­рых, в от­ли­чие от про­це­ду­ры-функ­ции, мо­жет быть боль­ше еди­ни­цы. Прин­ци­пи­аль­ной раз­ни­цы ме­ж­ду эти­ми ви­да­ми про­це­дур нет, те и дру­гие реа­ли­зу­ют не­ко­то­рые вспо­мо­га­тель­ные ал­го­рит­мы, раз­ли­ча­ют­ся толь­ко спо­со­бы их ис­поль­зо­ва­ния и опи­са­ния.

Ис­пол­ня­ет­ся про­це­ду­ра пу­тем ее вы­зо­ва (опе­ра­то­ром вы­зо­ва для про­це­дур-под­про­грамм или вы­ра­же­ни­ем вы­зо­ва для про­це­дур-функ­ций).

При вы­зо­ве про­це­ду­ры для всех ее фор­маль­ных па­ра­мет­ров ука­зы­ва­ют­ся так на­зы­вае­мые фак­ти­че­ские ар­гу­мен­ты, по од­но­му для ка­ж­до­го фор­маль­но­го па­ра­мет­ра. Для вход­ных па­ра­мет­ров это - вы­ра­же­ния, за­даю­щие не­об­хо­ди­мые зна­че­ния; для вы­ход­ных па­ра­мет­ров - име­на пе­ре­мен­ных, ко­то­рым при­сваи­ва­ет­ся по окон­ча­нию ра­бо­ты про­це­ду­ры вы­чис­лен­ные ею зна­че­ния.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]