Этапы разработки программы. Разработка или выбор алгоритма решения поставленной задачи. Оформление документации на программу, страница 10

Замечание: В языке PASCAL перед else “;” не ставится. Поскольку в С отсутствует логический тип данных, то в качестве условных выражений используется обычные выражения языка С. Выражение является истинным, если оно отлично от  0 и ложным, если равно 0, т.е. условные выражения языка С не обязательно должны содержать операции отношения.

if(a<b)     if(a)     if(!a)     if(a+b)

Выполнение условного оператора: вычисляется значение выражения, если оно истинно(т.е.=0) выполняется <оператор1>, если оно ложно(т.е. =0)выполняется <оператор2>.Если веточка else отсутствует, то выполняется оператор, следующий за if.

<Оператор1> и <оператор2> могут быть в свою очередь условными. При вложении условных операторов рекомендуется <оператор1> и <оператор2> заключать в “{}”, при их отсутствии конструкция else ассоциируется с ближайшим оператором if , в котором такая конструкция отсутствует.

#include<stdio.h>

void main(void)

{

int i=4,j=6,k=8;

if(i<k)

if(i<j)

printf(“<оператор1>\n”);

else

printf(“<оператор2>\n”);

}

else относится ко 2-ому if; программа напечатает “оператор2”

10.5.Циклические операторы

Алгоритм решения многих задач является циклическим т.е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. Циклические действия могут быть реализованы при помощи циклических операторов.

10.5.1 Оператор цикла с предусловием

                                                        Синтаксис:        C                                             PASCAL             

Ромб: Условие

                                      НЕТ        while<выражение>do<оператор>  While<выражение><оператор>

Выполнение: Вычисляется значение <выражения>, если оно

                               ДА                            не равно нулю, то выполняется <оператор>, если значение                       

Последовательность     действий

 
                                                             выражения равно нулю (т.е. ложно), то оператор следующий             

                                                             за оператором while.                 

                                                             

                                                                        

Последовательность     действий

 
10.5.2 Оператор цикла с постусловием                                                               

Синтаксис: C                                                               PASCAL                                                             

                     do<оператор>                          repeat<оператор>;

Ромб: Условие

                    while(<выражение>);              until<выражение>;   

Выполнение оператора repeat … until: Выполняется оператор                                              

 цикла, а затем вычисляется значение выражения, если значение ложно, то выполнение оператора повторяется, если истинно, то выходим из цикла.

Выполнение оператора do … while: Выполняется оператор цикла, а затем вычисляется значение выражения, если значение истинно, то выполнение оператора повторяется, если ложно, то выходим из цикла.

10.5.3 Оператор пошагового цикла

Обычно используется если последовательность действий надо выполнить несколько раз, причем, число повторений заранее известно.

Параметр цикла,= начальное значение

 
Синтаксис:

PASCAL

For<>:=<начальное значение>to/downto<конечное значение>

Ромб: Пар-р<=
Конечное значение

do<оператор>;

Параметр цикла не может быть величиной действительного типа.

Шаг изменения параметра цикла +1 при ключевом слове to и

-1 при ключевом слове downto.

C

for([<начальное выражение>];[<условное выражение>];

[<выражение приращения>]) <оператор>;