- •Оглавление
- •Глава 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. 20
1. Построить изображение бегущей, отраженной и стоячей волн на отрезке длиной L=9*Pi, м для бесконечного процесса (закончить при нажатии клавиши) при V=1, м/с, p1=p2=0. 5, A1=3, м.
2. 2. 3. Электростатика и электромагнетизм
Расчет напряженности электростатического и магнитного поля. Электростатические и магнитные поля аналогичны и имеют общую характеристику: напряженность поля. Многие задачи электростатики связаны с определением емкости электрических устройств - конденсаторов. Емкость характеризует способность конденсатора накапливать электрический заряд и обратно пропорциональна напряженности электрического поля внутри конденсатора. Задачи электромагнетизма связаны с определением сил, действующих на проводник с током в магнитном поле. Величина электромагнитной силы пропорциональна напряженности магнитного поля. Таким образом, при решении задач электростатики или электромагнетизма необходимо
определять напряженность поля. По определению напряженность поля численно равна силе, действующей на единичный точечный заряд, помещенный в это поле. Модуль вектора напряженности определяется его проекциями на оси координат и в плоском случае находится по формуле:
|E| = (Ex2 + Ey2); Ex = Q*Rx/R3; Ey = Q*Ry/R3;
где Q - величина точечного заряда, образующего поле,
R - расстояние от точечного заряда до расчетной точки (x, y),
Rx, Ry - проекции "R" на оси "X", "Y".
Касательные к силовым линиям электрического и магнитного полей показывают направление векторов напряженности в каждой точке поля. Качественную картину расположения силовых линий, созданных электрическими зарядами можно получить с помощью семян травы, помещенных в жидкость. Электрическое поле наводит на концах семян одинаковые по величине и противоположные по знаку заряды, поэтому семена ориентируются вдоль силовых линий. Аналогичную картину расположения силовых линий магнитного поля получают с использованием железных опилок, помещенных на плоской поверхности.
Составим алгоритм расчета расположения векторов напряженности электростатического поля, созданного двумя точечными зарядами Q1 и Q2.
1) Зададим расчетную область: 0<=x<=X_Max, 0<=y<=Y_Max. Пусть заряды находятся в расчетной области и имеют координаты: (X1, Y1), (X2, Y2).
E
E1
3*dy
E2
2*dy
R1
R2 dy
+ Q1 +
Q2
0 dx 2*dx 3*dx
Ex1 = Q1*(x-X1)/R13; Ex2 = Q2*(x-X2)/R23;
Ey1 = Q1*(y-Y1)/R13; Ey2 = Q2*(y-Y2)/R23;
где R1 = ((x-X1)2 + (y-Y1)2);
R2 = ((x-X2)2 + (y-Y2)2);
При изображении вектора на рисунке необходимо нормировать его модуль до размеров сетки: Ex = Ex*Km/ |E|; Ey = Ey*Km/ |E|;
где Km= 0. 5*dL; - масштабирующий множитель, dL = (dx2 + dy2);
Рисуя в каждом узле сетки нормированный вектор напряженности электростатического поля, получаем картину направлений силовых линий.
Построение силовых линий можно проводить по алгоритму “ из точки в точку”: из точки, расположенной на окружности радиуса R рисуется вектор, из конца которого проводится следующий вектор, и т, д,
+ +