- •Оглавление
- •Глава 1. Алгоритмический язык Турбо-Паскаль 3
- •Глава 2. Программирование в среде Турбо - Паскаль 112
- •Глава 1. Алгоритмический язык Турбо-Паскаль
- •1. 1. Общие сведения
- •1. 2. Среда Турбо-Паскаль
- •1. 3. Структура языка Турбо-Паскаль
- •1. 4. Типы переменных
- •Практическое задание n 1. 1
- •1. 5. Структура программы
- •1. 6. Операции и стандартные функции
- •1. 7. Операторы Турбо-Паскаля
- •Составной оператор Begin "операторы" end;
- •1. 7. 1. Операторы ввода/вывода данных
- •Операторы вывода данных на экран Write("сп"); или Writeln("сп");
- •Практическое задание n 1. 2
- •Практическое задание n 1. 3
- •1. 7. 2. Оператор выбора
- •0..9: Writeln('однозначное');
- •1. 7. 3. Условный оператор
- •If "условие" Then "оператор1" Else "оператор2";
- •Практическое задание n 1. 5
- •Практическое задание n 1. 6
- •Практическое задание n 1. 7
- •Практическое задание n 1. 8
- •1. 7. 4. Оператор цикла с параметром
- •Практическое задание n 1. 9
- •Практическое задание n 1. 10
- •Практическое задание n 1. 11
- •Практическое задание n 1. 12
- •Практическое задание n 1. 13
- •Практическое задание n 1. 14
- •1. 7. 5. Операторы цикла с условием
- •Практическое задание n 1. 15
- •Практическое задание n 1. 16
- •1. 7. 6. Операторы ограничения и прерывания цикла
- •1. 7. 7. Оператор перехода к метке
- •1. 8. Блок - схемы алгоритмов
- •1. 9. Составление диалоговых программ
- •Практическое задание n 1. 17
- •1. 10. 1. Линейные массивы
- •Практическое задание n 1. 18
- •Практическое задание n 1. 19
- •Практическое задание n 1. 20
- •Практическое задание n 1. 21
- •1. 10. 2. Работа с элементами переменной строкового типа
- •Практическое задание n 1. 22
- •1. 10. 3. Двумерные массивы
- •2 S[2] Массив a: a[2, 1] a[2, 2] a[2, 3] a[2, 4] . . . A[2, j] . . . A[2, m]
- •Практическое задание n 1. 23
- •1. 10. 4. Создание баз данных с использованием массивов записей
- •Практическое задание n 1. 23
- •1. 10. 5. Работа с большими массивами
- •Практическое задание n 1. 25
- •1. 11. Текстовые файлы
- •Практическое задание n 1. 26
- •Практическое задание n 1. 27
- •1. 12. Разработка функций и процедур
- •1. 12. 1. Описание функций и процедур
- •Viz(Dat); { вызов процедуры } Readln end.
- •Практическое задание n 1. 28
- •Практическое задание n 1. 29
- •Практическое задание n 1. 30
- •1. 12. 2. Рекурсивные функции и процедуры
- •Практическое задание n 1. 31
- •Практическое задание n 1. 32
- •1. 13. Разработка модулей
- •Практическое задание n 1. 33
- •1. 14. Модуль сrt
- •1. 14. 1. Управление экраном в текстовом режиме
- •InsLine; Вставка пустой строки.
- •1. 14. 2. Управление клавиатурой
- •Практическое задание n 1. 34
- •Практическое задание n 1. 35
- •Практическое задание n 1. 36
- •Практическое задание n 1. 37
- •1. 14. 3. Работа с символьными переменными
- •Практическое задание n 1. 38
- •Практическое задание n 1. 39
- •Практическое задание n 1. 40
- •Практическое задание n 1. 41
- •Практическое задание n 1. 42
- •1. 14. 4. Работа со строковыми переменными
- •Практическое задание n 1. 43
- •1. 14. 5. Управление звуковыми сигналами
- •Практическое задание n 1. 44
- •Практическое задание n 1. 45
- •1. 15. Модуль Graph
- •1. 15. 1. Инициализация графического режима
- •1. 15. 2. Простейшие графические процедуры и функции
- •Практическое задание n 1. 46
- •Практическое задание n 1. 47
- •Практическое задание n 1. 48
- •Практическое задание n 1. 49
- •Практическое задание n 1. 50
- •Практическое задание n 1. 51
- •Практическое задание n 1. 52
- •Практическое задание n 1. 53
- •1. 15. 3. Рисование геометрических фигур
- •1. 15. 3. 1. Построение заполненных фигур
- •Практическое задание n 1. 54
- •1. 15. 3. 2. Работа с линиями
- •Практическое задание n 1. 55
- •Практическое задание n 1. 55
- •Практическое задание n 1. 56
- •1. 15. 3. 3 Создание графических узоров
- •1. Перемещение фигуры.
- •Практическое задание n 1. 56
- •2. Масштабирование фигуры.
- •Практическое задание n 1. 57
- •3. Симметричное отображение фигуры.
- •Практическое задание n 1. 58
- •4. Штриховка углов.
- •Практическое задание n 1. 59
- •5. Использование рекурсии.
- •Практическое задание n. 1. 60
- •Практическое задание n . 1. 61
- •6. Создание узоров построением зеркальных отображений фигуры.
- •Практическое задание n 1. 61
- •1. 15. 3. 4. Работа с текстом в графическом режиме
- •Практическое задание n 1. 62
- •1. 15. 5. Мультипликация
- •1. 15. 5. 1. Мультипликация с запоминанием части экрана
- •Практическое задание n 1. 63
- •1. 15. 5. 2. Мультипликация с чередованием видеостраниц
- •Практическое задание n 1. 64
- •1. 15. 5. 3. Мультипликация с управлением движения образа
- •Практическое задание n 1. 65
- •1. 15. 5. 4. Модификация контурного изображения
- •Практическое задание n 1. 66
- •Глава 2. Программирование в среде Турбо-Паскаль
- •2. 1. Геометрические построения на плоскости
- •2. 1. 1. Построение графиков функций
- •Практическое задание n 2. 1
- •Var right, left, down, up: integer; k_xy, kx, ky, x_max, x_min, y_max, y_min: double; { описание глобальных переменных }
- •Практическое задание n 2. 2
- •Практическое задание n 2. 3
- •Практическое задание n 2. 4
- •Практическое задание n 2. 5
- •12 Строфоида a*Cos(2*fi)/Cos(fi) 0,1 ... 1,5 -3 -2 1 -
- •13 Циссоида a*Sin2(fi)/Cos(fi) 0,1 ... 1,5 -1 1 2 -
- •2. 1. 2. Графическое решение уравнений
- •Практическое задание n 2. 6
- •2. 1. 3. Уравнение прямой на плоскости
- •Практическое задание n 2. 7
- •2. 1. 4. Построение касательных и нормалей к плоским кривым
- •Практическое задание n 2. 8
- •2. 1. 5. Двумерные преобразования координат
- •Практическое задание n 2. 9
- •2. 1. 6. Проецирование пространственного изображения тела на плоскость
- •Практическое задание n 2. 10
- •2. 2. Некоторые задачи физики
- •2. 2. 1. Механика
- •Практическое задание n 2. 11
- •Y V xПрактическое задание n 2. 12
- •Практическое задание n 2. 13
- •Практическое задание n 2. 14
- •Практическое задание n 2. 15
- •Практическое задание n 2. 16
- •Практическое задание n 2. 17 X
- •Практическое задание n 2. 18 y
- •2. 2. 2. Оптика и свет
- •Практическое задание n 2. 19
- •Практическое задание n 2. 20
- •2. 2. 3. Электростатика и электромагнетизм
- •Практическое задание n 2. 21
- •2. 3. Математическое моделирование физических процессов
- •Практическое задание n 2. 22
- •Практическое задание n 2. 23
- •Практическое задание n 2. 24
- •Практическое задание n 2. 25
- •Практическое задание n 2. 26
- •2. 4. Моделирование многовариантных задач с использованием графов
- •Практическое задание n 2. 27
- •2. 5. Программы математических расчетов
- •2. 5. 1. Численное решение уравнений
- •Практическое задание n 2. 28
- •Практическое задание n 2. 29
- •2. 5. 2. Аппроксимация по методу наименьших квадратов
- •Практическое задание n 2. 30
- •2. 5. 3. Численный расчет интегралов
- •Практическое задание n 2. 31
- •Практическое задание n 2. 32
- •2. 5. 4. Сортировка одномерных массивов
- •Практическое задание n 2. 33
- •Практическое задание n 2. 34
- •Список литературы
Практическое задание n 2. 15
1. Построить зависимость изменения координаты точки "X" от времени "t", при следующих значениях амплитуды: A = B = 10 (в случае биений) и A = 5, B = 15. Круговые частоты k1=10, k2=11, начальные фазы колебаний равны нулю. Параметр "t" изменять от нуля до 4*Pi / |k1-k2|.
2. Построить зависимость изменения координат точки "X" и "Y" от времени "t" в случае взаимно перпендикулярных колебаний, для различных случаев:
1) k1=k2=k, fi1=0, fi2=Pi/2; 2) k1=k*(1+0. 1*t), k2=k, dFi=0;
3) k1=2*k, k2=3*k, dFi=Pi/2; 4) k1=k, k2=2*k, dFi=Pi/2;
Значения амплитуд: A = 10, B = 20, круговая частота: k=100. Параметр "t" изменять от нуля с шагом 0. 01*Pi/k до нажатия клавиши Enter.
Свободное движение точки (тела) часто можно представить в виде составного, полученного сложением нескольких движений. Например, пловец, переплывающий реку плывет прямо к противоположному берегу, а течение реки сносит его. Таким образом, абсолютное движение пловца относительно неподвижной системы отсчета состоит из движения вдоль и поперек реки. Пусть пловец движется со скоростью "V1", а скорость течения "Vp", тогда вектор абсолютной скорости V=V1+Vp. Направим ось "X" - вдоль реки (по течению), а ось "Y" - поперек реки. Проекции абсолютной скорости на оси координат: Vx=Vp, Vy=V1.
Пусть скорость течения реки постоянна, а пловец плывет с постоянным ускорением "A1", тогда траектория пловца имеет вид:
X = Vp*t; Y = V1*t + 0.5*A1*t2; Y V1 V
где A1 = (V2-V1)/tn; - ускорение пловца,
tn= 2*H/(V2+V1); - время движения пловца,
V1, V2 - начальная и конечная скорости пловца, V2
t - параметр времени.
X
Практическое задание n 2. 16
1. Построить траектории движения десяти пловцов, заканчивающих движение со скоростью V2 = V1 / N, где N - номер пловца. Ширина реки H=1000, м, скорость V1=2, м/с, Vp=1, м/с.
2. Построить траектории движения спортсмена, прыгающего вертикально со скакалкой в поезде. Скорость движения поезда прямолинейна и постоянна Vp=20, м/с. Спортсмен отрывается от пола со скоростью V1=5,м/с и до касания движется по закону: Y= V1*t - 0. 5*g*t2. Движения повторяются 10 раз с периодом t = 2*V1/g, где g=9. 81, м/с2.
3. Построить траектории движения шести точек на колесе радиусом R=0. 5, м, катящемся по горизонтальной плоскости с постоянной скоростью V=0. 2, м/с. Траектория точки описывается уравнениями:
X = V*t - R1*sin(fi); Y = -R1*cos(fi);
где R1= R +(N-3)*R/2 - радиус N -ой точки, N=1, . . . , 6;
fi= V*t/R, t - время движения 0<=t<=3*(2*Pi*R/V).
Динамика. В задачах динамики рассматривается движение тел под действием сил. Для определения характеристик движения (траектории, скорости и т. д. ) составляются дифференциальные уравнения движения, которые затем интегрируются, а также используются законы сохранения энергии или импульса.
Рассмотрим задачу столкновения двух шаров, движущихся со скоростью V1 и V2. Если центры масс соударяющихся тел находятся на общей нормали, проведенной в точку контакта, то удар называется центральным. Например, удар при столкновении двух шаров. При центральном ударе двух тел с идеально гладкой поверхностью справедлива гипотеза Ньютона: проекция скорости на нормаль к поверхности в точке контакта уменьшается после удара в "k" раз. Коэффициент восстановления "k" характеризует потери энергии на тепло при ударе и зависит от материала тел. Используя также закон сохранения импульса, получаем формулу расчета векторов скорости шаров W1 и W2 после удара:
W1 = V1 + M2*(1+k)/(M1+M2)*(|V1|*cos(fi1) + |V2|*cos(fi2))*n1;
W2 = V2 + M1*(1+k)/(M1+M2)*(|V1|*cos(fi1) + |V2|*cos(fi2))*n2;
Здесь fi1 и fi2 - углы между линией общей нормали и векторами скоростей V1 и V2 в момент удара.
n1 и n2 - векторы единичных нормалей к поверхности шаров в точке контакта.
|V1| и |V2| - модули векторов скоростей V1 и V2.
Рассмотрим случай построения плоской траектории при столкновении шара "1", движущегося со скоростью "V1" с неподвижным шаром "2". В проекциях на оси скорость первого шара равна:
W1x = V1x + M2*(1+k)/(M1+M2)*|V1|*cos(fi1)*n1x;
W1y = V1y + M2*(1+k)/(M1+M2)*|V1|*cos(fi1)*n1y;
n1
где n1x=cos(-fi1+Pi); n1y=sin(-fi1+Pi); Y
1
Аналогичный вид имеет формула для W2x и W2y, V1
2
причем n2x=cos(-fi1); n2y=sin(-fi1); n2