Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Реализация алгоритмов линейных процессов
Линейными называют алгоритмы, в которых операции (или самостоятель- ные этапы вычислений) выполняются одна за другой, в естественном и единственном порядке следования. В таких алгоритмах все блоки имеют последовательное соединение передачи информационных потоков. В них могут использоваться все блоки, за исключением блоков проверки условия и модификации. Алгоритмы линейных процессов не содержат условий и имеют одну ветвь вычислений. Для линейных процессов характерно то, что направление вычислений не зависит от значений исходных данных или промежуточных результатов. Линейные алгоритмы, как правило, являются составной частью любого алгоритмического процесса. Линейные алгоритмы в блок-схеме изобра- жаются с помощью управляющей структуры «Сле- дование» (рис. 8) – последовательностью блоков, размещаемых сверху вниз. Действия С1 и С2 вы- полняются друг за другом. Под действиями С1 и С2 понимаются, как правило операции присваивания, записываемые в виде: А:= В, где А – имя вычис- ляемой переменной, В – выражение. Справа от знака присваивания используются константы и перемен- ные, причем значения переменных должны быть определены до выполнения этого блока, т. е. долж- ны быть введены, либо вычислены ранее. Кроме этого, в одном вычислительном блоке не рекомен- дуется записывать такие операции присваивания, в правой части которых исполь- зуются переменные, значения которых вычисляются в этом же блоке. Знак := означает присваивание, т. е. «вычислить» значение переменной, стоящей в левой части операции присваивания и запомнить в соответствующей ячейке памяти. Перечислим правила использования и выполнения операции присваивания. Слева от знака присваивания записывается имя вычисляемой переменной, значение этой переменной к моменту выполнения операции присваивания мо- жет быть неизвестно. Если же до выполнения операции эта переменная имела значение, то оно безвозвратно теряется. Справа от операции присваивания записывается выражение. Имя одной переменной или константа – частный случай выражения. Значения переменных, используемых в правой части операции присваивания должны быть известны к моменту выполнения операции. Они могут быть введены с помощью блока ввода (ввод исходных данных), либо быть вычислены ранее с помощью опера- ций присваивания, записанных в предыдущих блоках.
Тип переменной в левой части операции присваивания должен соответст- вовать типу выражения, записанного в правой части. При выполнении операции присваивания вычисляется значение выраже- ния, вычисленное значение заносится в переменную, записанную в левой части, предыдущее ее значение «стирается». В выражении могут использоваться условные обозначения стандартных функций, встроенных в современные языки программирования. В рамках дан- ного пособия мы будем использовать обозначения следующих функций: триго- нометрические, такие как SIN(x), COS(x), TG(x) и др.; математические – SQRT(x) – квадратный корень из числа х, LN(x) – натуральный логарифм числа х; числовые: ABS(a) – модуль числа а, MOD (a,b) – остаток от деления числа a на число b, DIV (a,b) – целая часть от деления числа a на число b. Приведем примеры записи операции присваивания. Арифметические: A:=2/5; A:=X; Sum:=X+Z; D:=A/(x+y); y=SIN(x); Ost:=MOD(a,2). Логические: R:=‘TRUE’; F:=‘FALSE’; FLAG:=a>b. Строковые: S:= ‘Здравствуйте’ Рассмотрим на примере последовательности нескольких операций при- сваивания, как переменные получают новые значения. В табл. 2 приведены примеры последовательности операций присваивания и значений переменных, которые они принимают после выполнения операции присваивания. Таблица 2
Для решения задачи 1 был использован линейный алгоритм. Рассмотрим еще две задачи, решение которых реализуется с помощью линейного алгоритма. Задача 3. На плоскости заданы две точки А и В. Пусть через точку В проведена окружность с центром в точке А. Определить длину окружности и площадь круга. Для построения математической модели задачи нужно обладать знаниями из элементарной геометрии. Точка на плоскости задается ее координатами в прямоугольной системе координат. Радиус окружности определяется как рас- стояние между двумя точками, координаты которых известны. Для вычисления длины окружности и площади круга используется константа π. Таким образом, получаем следующую формализованную постановку задачи.
Исходные данные: XA, YA – координаты точки А; XB, YB – координаты точки B. Выходные данные: S – площадь круга; L – длина окружности. Рабочие переменные:
R – радиус; Pi – константа 3.1416. Формулы, рассчитывающие результаты: ; L= 2·Pi·R; S = Pi·R·R. Очевидно, что эту задачу можно решить с помощью линейного алгорит- ма. Блок-схема 2 и программа Krug описывают алгоритм решения поставлен- ной задачи по построенной математической модели. Комментарии к алгоритму. В начале алгоритма используются операции вывода для ведения диалога с пользователем, т. е. для вывода на экран приглаше- ния для ввода исходных данных. После ввода исходных данных задается значение переменной Pi – арифметическое значение числа «пи». Далее по известной фор- муле вычисляется радиус окружности. В следующем блоке блок-схемы вычисля- ются значения длины окружности и площади круга. Два последних действия за- писаны в отдельном блоке от предыдущего действия в связи с тем, что в них ис- пользуются результаты предыдущих вычислений. После того, как искомые значе- ния вычислены, они выводятся на экран (принтер) с помощью операции «вывод».
НАЧАЛО ВЕЩЕСТВЕННОЕ XA, YA, XB, YB,Pi, R, L,S ВЫВОД “Введите координаты точки А” ВВОД XA, YA ВЫВОД “Введите координаты точки B”
ВВОД XB, YB
R:= SQRT((XB-XA)**2+(YB-YA)**2)
L:= 2*Pi*R S:= Pi*R**2
ВЫВОД “L=”,L,”S=”,S
Блок-схема 2 КОНЕЦ.
Программа Krug
Задача 4. Группа студентов сдавала экзамен. Известно общее количество чело- век и количество студентов, сдавших экзамен на «отлично», «хоро- шо», «удовлетворительно». Определить средний балл и качество зна- ний сдавших экзамен и процент не сдавших экзамен. Примечание. Качество знаний рассчитывается как процент студентов, сдавших экзамен на «отлично» и «хорошо», от количества всех сдавших экзамен.
Запишем математическую модель задачи. Исходные данные: N – общее количество студентов; X – количество студентов, сдавших на «5»; Y – количество студентов, сдавших на «4»; Z – количество студентов, сдавших на «3». Выходные данные: SR – средний балл; K – качество знаний; PR – процент не сдавших. Рабочие переменные: B=X+Y+Z – общее количество сдавших; C=X+Y – количество сдавших на «4 и 5»; A=N-B – количество не сдавших. Формулы, рассчитывающие результаты: SR = (5X + 4Y + 3Z) / B; K = (C·100) / B; PR = (A·100) / N. Очевидно, что эту задачу также можно решить с помощью линейного ал- горитма. Следует обратить внимание на то, в какой последовательности прово- дить вычисления, и как сгруппировать операции присваивания по вычисли- тельным блокам. Алгоритм решения задачи изображен на блок-схеме 3, а про- грамма Exam реализует этот алгоритм. НАЧАЛО ЦЕЛОЕ N, X, Y, Z, B, C, A ВЕЩЕСТВЕННОЕ SR, K, PR ВВОД N, X, Y, Z B:=X+Y+Z C:=X+Y A:=N-B
SR:=(5*X+4*Y+3*Z)/B K:=(C*100)/B PR:=(A*100)/N
ВЫВОД SR, K, PR
Блок-схема 3 КОНЕЦ.
Программа Exam
|
||||||||||||||||||||
Последнее изменение этой страницы: 2021-07-18; просмотров: 149; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.30.253 (0.016 с.) |