Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В языке 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!