- •Оглавление
- •Глава 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. 11
Построить оси координат с началом в середине экрана и многоугольник сил, действующих на тело. Определить величину уравновешивающей силы и вывести на экран ее значение. Построить вектор уравновешивающей силы другим цветом. Силы заданы проекциями на оси координат:
Y F1 F2
N Fx1 Fx2 Fx3 Fx4 Fx5 Fy1 Fy2 Fy3 Fy4 Fy5
1 5 7 -4 -3 -5 4 -7 -6 5 4 F3
2 8 4 7 -9 -10 -7 11 8 20 -14 F4
3 11 24 -32 26 -16 -21 -23 15 17 25 F5
4 21 15 18 -9 -24 -11 18 -17 14 -14 0 x5 x1 x4 x2 x3 X
Кинематика. В кинематике изучается движение тела (точки) без анализа причин (сил), вызывающих это движение. Основной задачей является построение траектории точки, а также определение скорости и ускорения точки в любой момент движения. Траекторией точки называется линия, описываемая точкой, движущейся в пространстве. Движение точки определяется уравнением (законом) движения, в котором устанавливается зависимость положения точки в пространстве от времени. В параметрической форме траектория точки описывается зависимостями: X=X(t), Y=Y(t).
Вектор скорости направлен по касательной к траектории движения точки.
Проекции скорости на оси координат равны: Vx = dX/dt; Vy = dY/dt;
Проекции ускорения на оси координат равны: Ax = dVx/dt; Ay = dVy/dt;
Рассмотрим уравнения, описывающие движение точки в некоторых случаях.
Для точки, начинающей движение в некоторый момент времени "t0" (полагается t0=0) под углом "fi" к горизонту со скоростью "V0" уравнения движения без учета сопротивления воздуха имеют вид:
X = V0*t*cos(fi); Y = V0*t*sin(fi) - 0. 5*g*t2;
Для точки, начинающей движение под углом "fi" к горизонту со скоростью "V0" траектория движения с учетом сопротивления воздуха пропорционального скорости точки имеет вид:
X = V0*cos(fi)*Fc(t); Y = (V0*sin(fi) + g/kc)*Fc(t) - g*t/kc;
где Fc(t) = (1-e(-kc*t))/kc; kc - коэффициент сопротивления.
g = 9. 81, м/с - ускорение свободного падения.
Для точки, движущейся над горизонтальной поверхностью расчетную область можно ограничить: X_max=V02 /g; Y_max=0.5*X_max. Время движения tp=2*V0*sin(fi)/g.
Y V xПрактическое задание n 2. 12
1. Построить траекторию движения точки без учета и с учетом сопротивления воздуха при начальных условиях: fi=450, V=1000, м/с, k=0. 01. Через равные интервалы времени выводить на графике вектор скорости и ускорения точки, умноженные на масштабные коэффициенты: KV=10; KA=1000. Построить траектории движения массива точек, моделирующих: а) фонтан, б) фейерверк.
2. Рассчитать процесс поражения воздушной цели, движущейся по траектории:
Xs = X1 - Vs*t; Ys = Y1; снарядом, летящим со скоростью Vc по траектории:
Xc = Vc*t*cos( fi ); Yc = Vc*t*sin( fi ); В случае поражения цели в некоторый момент времени tp: Xs=Xc; Ys=Yc; Решая эти уравнения, получаем :
Y
Vs
* 1
Vc
fi
X
cos( fi )= (1-sin2 ( fi ));
где Z=X1/Y1; W=Vs/Vc; tp=Y1/(Vc*sin( fi ));
Условие поражения цели: Vc > Vs*sin(fi).
Зададим X1=3000, Y1=10000, Vc=2000, Vs=900;
Y
Vc
fi * (Xs,Ys)
X
cos( fi )= Xs/L* (W (W2 - Z2 ) )/2 );
sin( fi )= (1-cos2 ( fi ));
где L2= Xs2 + Ys2; W= 1-Ys*g/ Vc2;
Z=g*L/Vc2; tp= Xs/(Vc*cos( fi ));
Условие поражения цели: Vc2 > g*(L+Ys). Зададим Xs=15000, Ys=100, Vc=500,
Y
* Vc
(X0, H)
* (Xs, Ys )
X
H = 0. 5*g*L2 / Vc2 + Ys; L = Xs - X0.
где H - высота на которой должен лететь
самолет, чтобы сбросить бомбу не долетая
до цели расстояния "L". tp=L/Vc;
Зададим X0=150; Xs=80000; Ys=500; Vc=850;
Примечание к п. п. 2-4: Выводить на экран координаты цели и снаряда.
Y
V
r
X
r = p/(1 + e*cos(fi));
где r - расстояние от спутника до центра планеты,
fi - угловая координата,
p = (R0*V0/Rz)2/g - параметр эллипса,
e = p/R0-1 - эксцентриситет эллипса,
|e|<1 - эллипс, |e|=1 - парабола, |e|>1 - гипербола.
R0 - начальное расстояние от спутника до центра планеты,
Rz - радиус планеты, g - ускорение свободного падения при r=Rz,
V0 - начальная скорость спутника при r=R0.