Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Составная инструкция



В языке Basic такой инструкциинет по той же причине, что и пустой инструкции.

В языке C составная инструкция употребляется в тех случаях, когда по правилам языка требуется одна инструкция, а по логике программы необходимо несколько.

Формат:

{<инструкция>;[<инструкция>;]...}

Пример. Найти x=max(a, b), y=min(a, b).

if (a>b){

x=a; y=b;

} else {

x=b; y=a;

}

Циклы

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

Обобщенная блок-схема цикла состоит из следующих блоков(см. раздел 1.3): задание начальных значений, проверка условия продолжения (окончания) цикла, тело цикла, изменение условия продолжения (окончания) цикла.

Примеры. Программирование циклов без использования инструкции цикла.

Дано: {ai}, i=1...100. Найти сумму(ai>0) и сумму(ai<0).

C

u=v=0; i=0; // Инициализация цикла

begin: if (i>=100) goto end; // Условие окончания

if (a[ i ]>0)u+=a[ i ]; if (a[ i ]<0)v+=a[ i ]; // Тело цикла

i++; // Изменение условия

goto begin; // Переход к началу

end:;

Basic

u=0: v=0: i=0 ' Инициализация цикла

begin: if i>=100 then goto konec ' Условие окончания

if a(i)>0 then u+=a(i) ' Тело

if a(i)<0 then v+=a(i) ' цикла

i+=1 ' Изменение условия

goto begin ' Переход к началу

konec:..................................

Дано: {ai}, i=1...100. Найти y=max{ai} и его номер.

С

MaxElem=a[0]; NumbMaxElem=i=1; // Инициализация цикла

Begin: if (i>=100) goto End; // Условие окончания

if (MaxElem<a[ i ]){ // Тело

MaxElem=a[ i ]; NumbMaxElem=i+1; //

} // цикла

i++; // Изменение условия

goto Begin; // Переход к началу

End:;

Basic

MaxElem=a(0): NumbMaxElem=1: i=1 ' Инициализация цикла

Begin: if i>=100 goto Konec ' Условие окончания

if MaxElem<a(i) then MaxElem=a(i): NumbMaxElem=i+1' Тело цикла

i+=1 ' Изменение условия

goto Begin ' Переход к началу

Konec:...........................................

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

Пример. Цикл с постусловием.

MaxElem=a(0): NumbMaxElem=1: i=1

Begin: if MaxElem<a(i) then MaxElem=a(i): NumbMaxElem=i+1

i+=1

if i<100 goto Begin

Konec:...........................................





Дата публикования: 2014-11-02; Прочитано: 594 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...