Программирование алгоритмов разветвляющихся вычислительных процессов

Программирование разветвляющихся алгоритмов

1. Условный оператор имеет полную и сокращенную форму записи. Полная форма условного оператора имеет вид:

if логическое выражение then оператор_1 else оператор_2;

Вычисляется значение логического выражения; если оно равно true, то выполняется оператор_1, если же — false — оператор_2.

Сокращенная форма условного оператора имеет вид:

Вычисляется значение логического выражения; если оно равно true, то выполняется оператор, записанный после then, если же — false, то этот оператор не выполняется.

thenz:=sqr(x)elsez:=y;

Здесь в результате выполнения условного оператора переменная z в любом случае получает новое значение.

Здесь, например, при x = 5 переменная b сохраняет то значение, которое она имела до выполнения условного оператора.

В условном операторе после служебных слов then или else записывается лишь один оператор; если необходимо выполнить несколько действий, то соответствующие операторы объединяются в составной оператор, который имеет вид: begin оператор_1;

Пример: if x>y then begin min:=y; max:=x end

else begin min:=x; max:=y end;

2. С помощью оператора выбора можно выбрать один из любого количества вариантов. Оператор выбора имеет вид:

else оператор

Сначала вычисляется значение выражения (имеющего порядковый тип), затем среди констант отыскивается константа, равная вычисленному значению. Выполняется оператор, записанный после найденной константы, и оператор выбора завершает работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению выражения, то выполняется оператор, стоящий за словом else. Если же часть else оператор отсутствует, и в списке выбора нет нужной константы, то выполнение оператора выбора завершается.

Пример:case mof

else writeln(‘ошибка в данных’)

3. Оператор безусловного перехода позволяет перейти к нужному оператору, при этом нарушается естественный порядок выполнения операторов. Оператор имеет вид: goto метка;

В качестве метки используется идентификатор или целое число без знака (0-9999). Метка описывается в разделе label:

label метка_1,метка_2, метка_n;

Одной меткой можно пометить только один оператор. Метка отделяется от помеченного оператора двоеточием.

Например: ab: writeln(‘переход по метке’);

Программирование циклических алгоритмов

Для программирования циклических алгоритмов используются операторы цикла. В языке Pascal различают три вида операторов цикла: for, while, repeat. Оператор цикла for имеет вид:

for параметр цикла:= выражение_1 to выражение_2 do оператор;

for параметр цикла:=выражение_1 downto выражение_2 do оператор;

параметр цикла — переменная порядкового типа;

выражение_1— начальное значение параметра цикла;

выражение_2– конечное значение параметра цикла.

Сначала вычисляются и запоминаются значения выражения_1 и выражения_2. Далее проверяется: значение выражения_1 меньше или равно (для downto — больше или равно) значению выражения_2. Если нет, то выполнение оператора цикла завершается, если же — да, то параметр цикла получает значение выражения_1, выполняется оператор и параметр цикла получает следующее значение (для downto – предыдущее значение). Затем проверяется: параметр цикла меньше или равен (для downto — больше или равен) значению выражения_2. Если да, то снова выполняется оператор и параметр цикла получает новое значение, если же — нет, то выполнение оператора цикла завершается.

for i:=1to10dowriteln(‘i=’,i);

for i:= 10downto1dowriteln(‘i=’,i);

Оператор цикла while имеет вид:

while логическое выражение do оператор;

Пока значение логического выражения true, выполняется оператор, записанный после служебного слова do, как только значение станет false, оператор цикла завершит свою работу. Если значение выражения с самого начала false, то указанный в цикле оператор не выполнится ни разу.

Оператор цикла repeatимеет вид:

until логическое выражение;

Операторы выполняются до тех пор, пока значение логического выражения не станет true. Поэтому, независимо от значения логического выражения, операторы, указанные в цикле repeat, выполнятся, по крайней мере, один раз.

Источник

Лабораторная работа № 23. Программирование разветвляющихся вычислительных процессов

Для реализации алгоритмов разветвляющейся структуры в программе используется оператор условного перехода, который может иметь следующий синтаксис:

1) If условие Then оператор1 Else оператор2

Оператор1 выполняется, если условие истинно, в противном случае выполняется оператор2.

Блок операторов 1 выполняется, если условие истинно, в противном случае выполняется блок операторов 2.

Задача 1. Составить программу для решения квадратного уравнения вида ах 2 +bх+с=0. Для решения выполнить следующее:

  1. Переименовать текущий рабочий лист Excel в Решение уравнения.
  2. На листе Решение уравнения создать таблицу:

  1. На листе Модуль ввести текст программы, используя Редактор Visual Basic (блок-схема решения задачи представлена на стр.48). Ввод исходных данных осуществлять с клавиатуры. Окно ввода данных должно содержать заголовок «Исходные данные». Вывод результатов осуществлять в окнах сообщений. В начале программы поставить оператор описания переменных:

DIM a,b,c,x,x1,x2 As Single

  1. Скопировать текст программы. В копии программы изменить имя. Изменить текст программы таким образом, чтобы исходные данные брались из соответствующих ячеек с листа Решение уравнения, а результаты помещались в следующие ячейки на лист Решение уравнения:

Уравнение не имеет действительных корней

Уравнение имеет один корень

Уравнение имеет два корня

Для очистки блока ячеек C5:D7 в соответствующем месте программы вставить оператор:

Worksheets(“Решение уравнения”).Range(“C5:D7”).Clear

Задача 2. Составить программу, реализующую гороскоп на ближайшие дни. В результате работы программы на экране должно появляться окно ввода с заголовком «Гороскоп на ближайшие дни», содержащее сообщение «Введите дату своего рождения» и поле ввода, куда пользователь будет вводить дату своего рождения. В программе введенная дата должна анализироваться, определяться какому знаку Зодиака она соответствует, и выдаваться резюме в окне сообщения (например, «Вы – Овен. Завтра Вас ожидает крупное денежное вознаграждение»).

При написании программы использовать следующее:

Переменная типа Date используется для хранения информации о дате и времени (диапазон значений: от 1 января 100 г. до 31 декабря 9999 г.). Указать в операторе объявления переменных Dim.

Функция преобразования типов Cdate(выражение) – преобразует числовое или текстовое значение в дату.

Day(Дата) – возвращает число от 1 до 31, соответствующее числу месяца в аргументе Дата.

Month(Дата) — возвращает число от 1 до 12, соответствующее номеру месяца в аргументе Дата.

Источник

Программирование разветвляющихся вычислительных процессов

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

Если в выражении присутствует несколько операций отношения, то они соединяются между собой логическими операциями. Логические операции:

б) || — логическая операция ИЛИ – результат операции истина или 1 если хотя бы один операнд истинен, или ложь в противном случае;

в) ! – логическая операция НЕ (пишется перед операндом) если операнд –истина, то результат операции – ложь, и наоборот.

Пример: X>= X>= 5&&X

Анализ символьной информации.

0’ ‘9’ ‘A’ ‘Z’ ‘a’ ‘z’ ‘А’ ‘Я’ ‘а’ ‘п’ ‘р’ ‘я’

  1. Убедиться, что в переменной записана цифра sim>=’0’&&sim
  2. В переменной sim содержится большая латинская буква. sim>=’A’&&simZ

Источник

Лабораторная работа № 23. Программирование разветвляющихся вычислительных процессов

Для реализации алгоритмов разветвляющейся структуры в программе используется оператор условного перехода, который может иметь следующий синтаксис:

1) If условие Then оператор1 Else оператор2

Оператор1 выполняется, если условие истинно, в противном случае выполняется оператор2.

Блок операторов 1 выполняется, если условие истинно, в противном случае выполняется блок операторов 2.

Задача 1. Составить программу для решения квадратного уравнения вида ах 2 +bх+с=0. Для решения выполнить следующее:

  1. Переименовать текущий рабочий лист Excel в Решение уравнения.
  2. На листе Решение уравнения создать таблицу:

  1. На листе Модуль ввести текст программы, используя Редактор Visual Basic (блок-схема решения задачи представлена на стр.48). Ввод исходных данных осуществлять с клавиатуры. Окно ввода данных должно содержать заголовок «Исходные данные». Вывод результатов осуществлять в окнах сообщений. В начале программы поставить оператор описания переменных:

DIM a,b,c,x,x1,x2 As Single

  1. Скопировать текст программы. В копии программы изменить имя. Изменить текст программы таким образом, чтобы исходные данные брались из соответствующих ячеек с листа Решение уравнения, а результаты помещались в следующие ячейки на лист Решение уравнения:

Уравнение не имеет действительных корней

Уравнение имеет один корень

Уравнение имеет два корня

Для очистки блока ячеек C5:D7 в соответствующем месте программы вставить оператор:

Worksheets(“Решение уравнения”).Range(“C5:D7”).Clear

Задача 2. Составить программу, реализующую гороскоп на ближайшие дни. В результате работы программы на экране должно появляться окно ввода с заголовком «Гороскоп на ближайшие дни», содержащее сообщение «Введите дату своего рождения» и поле ввода, куда пользователь будет вводить дату своего рождения. В программе введенная дата должна анализироваться, определяться какому знаку Зодиака она соответствует, и выдаваться резюме в окне сообщения (например, «Вы – Овен. Завтра Вас ожидает крупное денежное вознаграждение»).

При написании программы использовать следующее:

Переменная типа Date используется для хранения информации о дате и времени (диапазон значений: от 1 января 100 г. до 31 декабря 9999 г.). Указать в операторе объявления переменных Dim.

Функция преобразования типов Cdate(выражение) – преобразует числовое или текстовое значение в дату.

Day(Дата) – возвращает число от 1 до 31, соответствующее числу месяца в аргументе Дата.

Month(Дата) — возвращает число от 1 до 12, соответствующее номеру месяца в аргументе Дата.

Источник

Читайте также:  Программирование функций поло седан
Оцените статью