bannerbanner
Нейросети и программирование. Выпуск 3
Нейросети и программирование. Выпуск 3

Полная версия

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

Настройки чтения
Размер шрифта
Высота строк
Поля

Нейросети и программирование

Выпуск 3


Николай Петрович Морозов

© Николай Петрович Морозов, 2025


ISBN 978-5-0067-0597-5 (т. 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;varXn, Xk: real; {начальное и конечное значения аргумента}dX: real; {шаг изменения аргумента}x, y: real; {текущие значения аргумента и функции}beginwriteln («Введите Xn, Xk, dX»);readln (Xn, Xk, dX);writeln (» – — – — – — – — – — – —»); {заголовок таблицы}writeln (»│ X │ Y │»);writeln (» – — – — – — – — – — – —»);x:= Xn; {первое значение аргумента}while x <= Xk do {заголовок цикла}beginy:= 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 – предыдущее приближение к корню (в начале вычислений выбирается произвольно), уn – последующее приближение. Процесс вычислений прекращается, когда приближения станут отличаться друг от друга по абсолютной величине менее, чем на величину заданной точности.

program square_root;

varX, eps, {аргумент и точность}Yp, Y: real; {предыдущее и последующее приближение}beginrepeatwriteln («Введите X, eps’);readln (X, eps);until (X> 0) and (eps> 0);Y:= 1;repeatYp:= Y;Y:= (Yp + X / Yp) / 2;until abs (Y – Yp)

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

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

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

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


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

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


1.3.1.Структурная схема


Рис.2.


1.3.2.Примеры.


1. Вывести на экран в столбик числа от 1 до 10.

program digit;var i: integer;beginfor i:= 1 to 10 do writeln (i)end.

2. Вывести на экран в столбик числа от 10 до 1 и подсчитать их сумму.

program digit;var i, sum: integer;beginsum:= 0;for i:= 10 downto 1 dobeginwriteln (i);inc (sum, i) {инкремент – inc (х) —увеличивает х на 1, inc (х, 3) – на 3}end;writeln («Сумма чисел:», sum);readln;end.

2.Реализация программы, ее тестирование и отладка на примере решения задачи определения наибольшего общего делителя

2.1.Черновой вариант алгоритма определения наибольшего общего делителя

Рис.3.


На рисунке 3 показан черновой (рабочий) вариант алгоритма решения данной задачи. Он содержит неточности и ошибки, допущенные при его оформлении. Вам предлагается самостоятельно их устранить.

2.2.Реализация программы, ее тестирование и отладка










3.Лабораторная работа. Программирование алгоритмов циклической структуры с известным числом повторений

При выполнении работы необходимо знать:

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Конец ознакомительного фрагмента
Купить и скачать всю книгу