- •Информатика
- •Часть 2
- •Содержание
- •9. Этапы создания программных продуктов
- •10. Алгоритм. Свойства и способы описания
- •10.1. Основные понятия
- •10.2. Свойства алгоритма
- •10.3. Способы описания алгоритмов
- •10.4. Структуры алгоритмов
- •11. Языки программирования
- •11.1. Основные понятия
- •11.2. Уровни языков программирования
- •11.3. Поколения языков программирования
- •12. Основные логические конструкции языков программирования
- •12.1. Условный оператор
- •12.2. Операторы цикла
- •12.3. Конструкция переключателя
- •13. Компьютерные сети
- •13.1. Понятие и назначение компьютерной сети
- •13.2. Топология сетей
- •13.3. Глобальные и локальные сети
- •13.4. Сетевое оборудование
- •13.4.1. Мост
- •13.4.2. Коммутатор
- •13.4.3. Маршрутизатор
- •13.4.4. Шлюз
- •13.5. Требования к сетям
- •13.8. Протоколы Internet
- •14. Моделирование
- •14.1. Основные понятия. Задачи моделирования
- •14.2. Этапы моделирования
- •15. Базы данных и системы их управления
- •15.1. Понятие базы данных и системы управления базой данных
- •15.2. Функции, возможности и области применения субд
- •16. Экспертные системы
- •17. Автоматизированные системы управления
- •18. Компьютерная безопасность
- •19. Введение в сапр
- •Библиографический список
- •620002, Екатеринбург, ул. Мира, 19
- •620002, Екатеринбург, ул. Мира, 19
12. Основные логические конструкции языков программирования
Для всех универсальных языков программирования существуют типичные логические конструкции, имеющие одинаковую структуру и отличающиеся, как правило, лишь синтаксисом, который зависит от конкретного языка. К таким операторам относят операторы условия, цикла, множественного выбора и ряд других.
12.1. Условный оператор
Условный оператор IF часто называют оператором ветвления, так как он делить программу на несколько ветвей. Ход выполнения программы в этой случае зависит от выполнения заданного условия. Конструкция условного оператора представлена в таблице 5.
Таблица 5
Конструкция оператора IF
Блок-схема |
Pascal |
|
IF условие THEN BEGIN инструкции 1; END ELSE BEGIN инструкции 2; END; |
Работа условного оператора состоит в следующем. Если (IF) условие возвращает логическое значение «1» (то есть «истина»), то (THEN) выполняются инструкции 1 идущие за служебным словом THEN, иначе (ELSE) выполняются инструкции 2 в блоке ELSE (т.е, если условие возвращает логическое значение «0»). Если используется одна инструкция, то операторные скобки BEGIN…END можно опустить. Инструкции в списке разделяются оператором «,» (запятая) или «;» (точка с запятой). Если условие не выполняется (дает логическое значение «0», «ложь»), то инструкции также не выполняются.
Эта конструкция допускает несколько частных вариантов и в простейшем случае выглядит так: IF условие THEN инструкции; .
Условия записываются в следующем виде:
Выражение_1 оператор_отношения выражение_2,
причем, в качестве операторов_отношения используются следующие операторы: ==, <, >, <=, >= или ~=. Все эти операторы представляют собой пары символов без пробелов между ними.
Пример 12.1. Задача: написать программу деления двух чисел и сделать вывод ошибки при вводе в качестве делителя «0». Алгоритм решения в виде блок-схемы и текста программы на Turbo Pascal представлен в таб. 6.
Таблица 6
Алгоритм решения задачи примера 12.1
Блок-схема |
Текст программы |
|
var a, b,c: real begin writeln(‘a=’); readln(a); writeln(‘b=’); readln(b); if b<>0 then begin c:=a/b; writeln(‘c=’, c:3:3); end else writeln(‘деление на ноль’); end. |
12.2. Операторы цикла
Для организации циклов используются операторы FOR, REPEAT и WHILE. Первый тип используется обычно для организации вычислений с заданным числом повторяющихся циклов. Конструкция такого цикла представлена в таблице 7.
Таблица 7
Конструкция оператора FOR
Блок-схема |
Pascal |
|
FOR var:=start TO final DO BEGIN инструкции; END; |
Работу оператора FOR можно описать следующим образом: для (FOR) счётчика цикла var при изменении её от начального значения start до (TO) конечного значения final на каждом шаге её изменения выполнять инструкции. Приращение значения переменной var считается равно «1». Счётчик цикла может изменяться в противоположном направлении – убывать. Для этого место слова TO используется DOWNTO.
Цикл REPEAT…UNTIL является разновидностью циклической конструкции. Общая форма записи выглядит так:
REPEAT операторы;
UNTIL условие;
В этом случае, последовательность операторов, входящих в тело цикла REPEAD…UNTIL выполняется один раз, после чего проверяется условие. Если условие выполняется, то цикл завершается.
Последним типом цикл является конструкция WHILE, представленная в таб.8. Работает этот оператор следующим образом: до тех пор, пока (WHILE) условие верно, выполняются инструкции.
Таблица 8
Конструкция оператора WHILE
Блок-схема |
Pascal |
|
WHILE условие DO BEGIN инструкции; END; |
Пример 12.2. Задача: написать программу нахождения суммы первых n чисел натурального ряда 1,2,3,…, n. Алгоритм решения в виде блок-схемы и текста программы на Turbo Pascal представлен в таб. 9.
Таблица 9
Алгоритм решения задачи примера 12.2
Блок-схема |
Текст программы |
|
var s,i,n:integer begin writeln(‘n=’); {посл. чл. ряда} readln(n); s:=0; for i:=1 to n do s:=s+i; writeln(‘s=’); end. |
Пример 12.3. Задача: написать программу, позволяющую проверить, является ли введенная строка целым числом. Алгоритм решения в виде блок-схемы и текста программы на Turbo Pascal представлен в таб. 10.
Таблица 10
Алгоритм решения задачи примера 12.3
Блок-схема |
Текст программы |
|
var st:string[40]; n,s: integer; begin writeln(‘Введите число’); readln(st); n:=1; s:=0; while n<=length(st) do begin if (st[n]>=’0’) and (st[n]<=’9’) then s:=s+1; n:=n+1; end; if s<length(st) then begin writeln(‘строка не число’); end else writeln(‘строка явл. числом’); readln; end. |