Нейросети и программирование. Выпуск 3. Николай Петрович Морозов

Читать онлайн.
Название Нейросети и программирование. Выпуск 3
Автор произведения Николай Петрович Морозов
Жанр
Серия
Издательство
Год выпуска 0
isbn 9785006705975



Скачать книгу

т. 3)

      ISBN 978-5-0062-6016-0

      Создано в интеллектуальной издательской системе Ridero

      Лабораторные и практические работы №5 и 6 (Смотрите тему занятий «Создание алгоритмов и отладка программ циклической структуры» в таблице) являются для студентов достаточно сложными работами.

      Поэтому, для лучшего понимания и усвоения данного материала я рекомендовал бы вам предварительно познакомиться (еще лучше, изучить) с содержанием ГЛАВы 8. ТЕХНОЛОГИИ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ:

      8.1. Этапы решения задач на компьютере

      8.2. Понятие алгоритма и его свойства

      8.3. Способы записи алгоритмов

      8.4. Основные виды алгоритмов Основные виды алгоритмов

      8.5. Принципы программирования

      8.6. Языки программирования

      8.7. Классификация и обзор языков программирования

      Вопросы для самопроверки

      в моих электронных книгах «Информатика и ИТ. Нейросети» (выпуски 1 и 2).

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

      1.Операторы цикла

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

      1.1.Структурные схемы

      Циклы с предусловием (на рис.1, левый) и с постусловием (рис.1, правый)

      Рис.1.

      Формат оператора с предусловием:

      while выражение do оператор

      Формат оператора с постусловием:

      repeat тело цикла until выражение

      1.2.Примеры

      Программа печати таблицы значений функции sin для аргумента, изменяющегося в заданных пределах с заданным шагом.

      program tabl_fun;

      var

      Xn, Xk: real; {начальное и конечное значения аргумента}

      dX: real; {шаг изменения аргумента}

      x, y: real; {текущие значения аргумента и функции}

begin

      writeln («Введите Xn, Xk, dX»);

      readln (Xn, Xk, dX);

      writeln (» – — – — – — – — – — – —»); {заголовок таблицы}

      writeln (»│ X │ Y │»);

      writeln (» – — – — – — – — – — – —»);

      x:= Xn; {первое значение аргумента}

      while x <= Xk do {заголовок цикла}

      begin

      y:= sin (x); {вычисление значения функции}

      writeln (»│», x:9:2, ‘ │», y:9:2, ‘ │»); {вывод строки таблицы}

      x:= x+dX; {переход к следующему значению аргумента}

end;

      writeln (» – — – — – — – — – — – —»);

readln;end.

      Программа, вычисляющая квадратный корень вещественного аргумента Х с заданной точностью eps по итерационной формуле:

      уn = (yn-1 + x/yn-1) /2,

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

      program square_root;

      var

      X, eps, {аргумент и точность}

      Yp, Y: real; {предыдущее и последующее приближение}

begin

      repeat

      writeln («Введите X, eps’);

      readln (X, eps);

      until (X> 0) and (eps> 0);

Y:= 1;

      repeat

      Yp:= Y;

      Y:= (Yp + X / Yp) / 2;

      until abs (Y – Yp) <eps;

      writeln («Корень из», Х:6:3, «с точностью», eps:7:5, «равен», Y:9:5);

      readln;

      end.

      1.3.Цикл с параметром for

      Параметром цикла называется переменная, которая используется при проверке условия продолжения цикла и принудительно изменяется на одну и ту же величину на каждой итерации. Если параметр цикла целочисленный, то он называется счётчиком цикла.

      В циклах for языка Паскаль используется счётчик, который автоматически либо увеличивается, либо уменьшается на единицу.

      Соответственно, могут быть две формы записи этого цикла:

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

      for параметр:= выражение_2 downto