- •Основы алгоритмизации и программирования
- •Введение
- •1.1. Структура программы
- •1.2. Типы данных
- •1.2.1. Целый тип данных
- •1.2.2. Логические типы данных – Boolean
- •1.2.3. Данные символьного типа
- •1.3. Операторы языка программирования Турбо Паскаль
- •1.3.1. Операции в Турбо Паскаль
- •1.3.2. Правила вычисления выражений
- •1.3.3. Встроенные функции в Турбо Паскаль
- •1.3.4. Описание констант и переменных
- •1.3.5. Операторы в Турбо Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №1 Организация программ линейных структур
- •Варианты заданий
- •2. Организация форматного вывода данных на языке Паскаль
- •Вопросы для самопроверки
- •Лабораторная работа №2 Организация ввода-вывода данных на языке Паскаль
- •Методические указания
- •Варианты задания
- •3. Организация программ разветвляющихся структур
- •3.1. Полная форма условного оператора
- •3.2. Краткая форма условного оператора
- •Вопросы для самопроверки
- •Лабораторная работа №3 Организация программ разветвляющихся структур
- •Варианты заданий
- •4. Организация циклических процессов
- •Лабораторная работа №4 Составление циклических программ
- •Варианты заданий
- •Методические указания
- •Варианты заданий
- •5. Программирование структур с вложенными циклами
- •Вопросы для самопроверки
- •Лабораторная работа №5 программирование структур с вложенными циклами. Вычисление суммы ряда
- •Методические указания
- •Варианты заданий
- •6. Перечислимые и ограниченные типы данных
- •6.1 Перечислимый тип данных
- •6.2. Ограниченный тип данных
- •6.3. Оператор выбора (варианта)
- •Вопросы для самопроверки
- •Лабораторная работа №6 Перечислимые и ограниченные типы данных
- •Варианты заданий.
- •7. Регулярные типы данных
- •7.1. Одномерные массивы
- •7.1.1. Краткая форма объявления одномерного массива
- •7.1.2. Полная форма объявления одномерного массива
- •7.1.3. Доступ к элементам массива
- •Вопросы для самопроверки
- •Лабораторная работа №7_1 регулярные типы данных. Массивы
- •Варианты заданий
- •7.2. Двумерные массивы
- •Полная форма описания матрицы:
- •Формирование элементов случайным образом:
- •Формирование элементов матрицы при вводе с клавиатуры:
- •Фрагменты программ по обработке 2-х мерных массивов
- •Вопросы для самопроверки
- •Лабораторная работа №7_2 регулярные типы данных. МАтрицы
- •Варианты заданий
- •7.3. Сортировка элементов массива
- •7.3.1. Сортировка методом «пузырька»
- •7.3.2. Сортировка вставками
- •7.3.3. Сортировка посредством выбора
- •7.3.4. Быстрая сортировка
- •8. Составление программ с использованием подпрограмм
- •8.1. Область видимости идентификатора переменной
- •8.2. Подпрограммы - процедуры (procedure)
- •8.2.1. Формальные и фактические параметры
- •Вопросы для самопроверки
- •Лабораторная работа №8_1 составление программ с использованием подпрограмм - процедур
- •Методические указания
- •Варианты заданий
- •8.3. Подпрограммы-функции (function)
- •Вопросы для самопроверки
- •Лабораторная работа №8_2 составление программ с использованием подпрограмм - функций
- •Варианты заданий
- •8.4. Рекурсия
- •8.4.1. Вычисление факториала
- •8.4.2. Формы рекурсивных процедур
- •8.4.3. Числа Фибоначчи
- •Вопросы для самопроверки
- •9. Модули
- •Структура модуля
- •Interface
- •Implementation
- •Вопросы для самопроверки
- •10.2. Стандартные процедуры и функции для строк
- •10.3. Хранение строк
- •Вопросы для самопроверки
- •Лабораторная работа №10 обработка символьной информации
- •Варианты заданий
- •11. Комбинированные типы. Записи (Record)
- •11.1 Записи с фиксированными частями
- •11.2. Оператор with…do
- •11.3. Вариантные записи
- •Вопросы для самопроверки
- •Лабораторная работа №11 Комбинированные типы. Записи
- •Варианты заданий
- •12. Файлы
- •12.1. Классификация файлов
- •12.1.1. Чтение файла
- •12.1.2. Запись файла
- •Вопросы для самопроверки
- •13.1. Объявление множества
- •13.2. Операции над множествами
- •13.3. Сравнение множеств
- •Include (s, I);
- •13.4. Старшинство множественных операций
- •Вопросы для самопроверки
- •Лабораторная работа №13 множества
- •Варианты заданий
- •Горячие клавиши
- •Библиографический список
- •Оглавление Введение 3
- •1. Программирование на языке Паскаль 5
- •1.1. Структура программы 5
- •2. Организация форматного вывода данных на языке Паскаль 17
- •Лабораторная работа №7_1.
- •Лабораторная работа №7_2.
- •Лабораторная работа №8_2.
Варианты заданий
№ |
f(x) |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 |
5. Программирование структур с вложенными циклами
Структура программы с вложенными циклами образуется в том случае, если внутри цикла имеется один или несколько других циклов.
При этом область действия внутреннего цикла должна располагаться внутри охватывающего его цикла.
Алгоритмы вложенных циклов встречаются при вычислении сумм рядов вида , когда изменяетсяX, при работе с элементами массивов и в некоторых других случаях.
В данной работе рассматривается вычисление функций, представленных в виде ряда, и вычисление их значений сводится к вычислению частичных сумм.
Каждое слагаемое суммы зависит от параметра X и номера n, определяющего место этого слагаемого в сумме.
Алгоритмы решения задачи суммирования при X, изменяющемся в некотором диапазоне с заданным шагом, сводятся к двум вложенным циклам. Внешний цикл организует изменение параметра X, а внутренний суммирует слагаемые при фиксированном X.
Вопросы для самопроверки
Дайте определение циклов?
Какие виды циклов различают?
Каков формат оператора While..do? Как осуществляется выход из тела цикла?
Каков формат оператора Repeat..until? Как осуществляется выход из тела цикла?
Каков формат оператора for..to..do? Как осуществляется выход из тела цикла?
Дайте определение вложенного и внешнего циклов?
Лабораторная работа №5 программирование структур с вложенными циклами. Вычисление суммы ряда
Цель работы. Получить навыки составления программ с вложенными циклами.
Задание. Вычислить сумму ряда и функцию Y.
Постановка задачи. Определив тип общего члена ряда, и организовав вычисление его суммы со структурой вложенных циклов, получить таблицу, состоящую из переменных X, Y, S, при |X|<1.
Методические указания
При организации вложенных циклических структур необходимо обратить внимание на правильность выбора внешнего и внутреннего циклов. Замена внешнего цикла на внутренний цикл приведёт к изменению постановки задачи и получению неверного результата.
При вычислении суммы по формуле S=S+An, необходимо правильно определить начальное значение S, которое равно первому элементу ряда. Например, в ряде приn=0 начальное значение S=0, а в ряде при n=0 начальное значение S=0.
Получив результаты выполнения программы, сравнить их: значения S и Y должны быть одинаковыми.
Например, вычислить сумму ряда S и функцию Y.
Общий член ряда выражается по формуле , выражениеn-ого члена через (n-1)-ый равно . Шаг измененияX определяется H=(XM-X0)/M, где XM, X0 – диапазон изменения X, а M – число разбиений - может любым.
PROGRAM PRIMER1;
VAR
S, A, X, Y, X0, XM: REAL;
K, N, M: INTEGER;
BEGIN
WRITE(‘Введите интервал изменения значенияX’);
READLM(X0,XM);
WRITE(‘Введите количество точекMна этом отрезке’);
READLN(M);
WRITE(‘Введите число элементов ряда’);
READLN (K);
X := X0;
H := (XM-X0)/M;
REPEAT
S := 1;
A := 1;
FOR N := 1 TO K DO
BEGIN
A := A*X/N;
S := S+A;
END;
Y := ESP (X);
WRITELN (‘S = ’, S:8:5, ‘’:3, ‘Y = ’, Y:8:5);
X := X+H;
UNTIL X>=XM;
END.