
- •Лабораторный практикум по информатике
- •Часть II программирование в системе турбо паскаль
- •Введение
- •Лабораторная работа №1 Создание простейшей программы
- •Начало работы с новой программой
- •Задание 1
- •Сохранение текстового файла программы на диске:
- •Задание 2
- •Задание 3
- •Задание 4
- •Лабораторная работа №2 Ввод данных и вывод результатов
- •Задания
- •Лабораторная работа №3 Программирование линейных алгоритмов
- •Задание
- •Лабораторная работа №4 Программирование разветвляющихся алгоритмов
- •Задание 1
- •Задание 2
- •Лабораторная работа № 5 Программирование циклических алгоритмов с известным числом повторений
- •Задание
- •Лабораторная работа №6 Программирование циклических алгоритмов с неизвестным числом повторений
- •Задания
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Лабораторная работа №7 Программирование алгоритмов итерационной циклической структуры
- •Задание
- •Лабораторная работа №8 Массивы
- •Лабораторная работа №9 Процедуры и функции пользователя в языке Паскаль
- •Задание
- •Лабораторная работа №10 Записи
- •Задания
- •Лабораторная работа №11 Работа с файлами
- •Лабораторная работа №12 Графический режим в языке Паскаль
- •Лабораторная работа №13 Построение графика функции
- •Задания
- •Лабораторная работа №14 Создание движущихся изображений
- •Задание 1
- •Задание 2
- •Лабораторная работа №15 Вычисление определённого интеграла численными методами
- •Метод прямоугольников
- •Метод трапеций
- •Метод Симпсона
- •Задания
- •Лабораторная работа №16 Решение нелинейных уравнений численными методами
- •Метод половинного деления
- •Метод Ньютона
- •Метод хорд
- •Задания
- •Лабораторная работа №17 Решение обыкновенных дифференциальных уравнений численными методами
- •Метод Эйлера
- •Модифицированный метод Эйлера
- •Метод Рунге-Кутта
- •Задание
- •Приложение
- •Список литературы
- •Оглавление
- •Лабораторный практикум по информатике
- •Часть II программирование в системе турбо паскаль
- •Архангельск
Задание 1
Составьте программу для вычисления следующих выражений. Программа должна обеспечить ввод значений Х, расчет и вывод значений Y.
1. |
y=5x2 y=x2-2x y=tg(2x) y=lg(x) |
при x < –10 при –10 x < 0 при 0 x 2 при x > 2 |
6. |
y=5x2 y=x2–2x y=tg(2x) y=lg(x) |
при x < –5 при –5 x < 0 при 0 x 2 при x > 2 |
2. |
y=0,5x2 y=x2–4x y=tg(x) y=lg(x) |
при x < –20 при –20 x < 0 при 0 x < 2 при x 2 |
7 |
y=1,5x2 y=x2–4x y=tg(x) –sin(x) y=lg(x)+ln(x) |
при x < -10 при –10 x < 0 при 0 x < 2 при x 2 |
3. |
y=0,5x2 y=x3–4x y=tg(0,1x+3) y=lg(12x) |
при x < –25 при –25 x < 0 при 0 x < 20 при x 20 |
8. |
y=0,5x2 y=1,2x3–4x y=tg(0,1x) y=lg(12x) |
при x < -25 при –25 x < 0 при 0 x < 20 при x 20 |
4. |
y=0,5x4 y=x2–4x y=tg(x2) y=lg(x-0,5) |
при x < –10 при –10 x < 0 при 0 x < 2 при x 2 |
9. |
y=0,5x4 y=x2–4x y=tg(x2) y=lg(x-0,5) |
при x < -100 при –100 x < 0 при 0 x < 1,2 при x 1,2 |
5. |
y=x2+x y=x3 y=tg2(x) y=lg(5x) |
при x < –20 при –20 x < 0 при 0 x < 3 при x 3 |
10. |
y=x2+3x y=x3–4 y=tg2(x) y=lg(5x) –x |
при x < -20 при –20 x < 0 при 0 x < 3 при x 3 |
Задание 2
Составьте программу, которая бы выводила на экран сообщение о количестве занятий, в зависимости от дня недели (понедельник – 1, вторник – 2 и т.д.), цифровое обозначение которого ввести с клавиатуры с применением оператора Case.
Лабораторная работа № 5 Программирование циклических алгоритмов с известным числом повторений
Цикл – многократно повторяемая последовательность однотипных действий. Циклы бывают с заранее известным числом повторений и с неизвестным числом повторений.
Для организации цикла с известным числом повторений используют оператор цикла с параметром (оператор for). Вид оператора
for i:=m1 tо m2 do s;
Здесь i – параметр цикла целого или другого перечислимого типа, m1 и m2 – начальное и конечное значения параметра цикла, s – тело цикла из одного или нескольких операторов. Если тело цикла состоит из нескольких операторов (т.е. является составным оператором), то их объединяют операторными скобками begin и end. При выполнении оператора for повторяется тело цикла. Параметр цикла увеличивается на 1 при каждом повторе. При первом повторе i равно m1, при последнем повторе i равно m2. В теле оператора не следует применять операторы, меняющие значение параметра цикла. Наиболее часто этот оператор используется для выполнения операций с массивами.
Возможна следующая запись оператора: for i:=m1 downto m2 do s;
При этом параметр цикла уменьшается на 1 при каждом повторе.
Количество повторов цикла в операторе for будет следующим:
Оператор |
m1 < m2 |
m1 = m2 |
m1 > m2 |
for … to |
m 2 m1+1 раз |
1 раз |
Не выполняется |
for … downto |
Не выполняется |
1 раз |
m 1 m2+1 раз |
Пример. Вычислить
9 раз значения функции
при изменении a от –1
с шагом 0,5. Вывести на экран значения
аргумента и значения функции в виде
таблицы.
Решение. В программе перед циклом задается начальное значение аргумента, равное –1. Внутри цикла проверяется возможность вычисления функции. Если вычислить функцию невозможно, на экран выводится соответствующее сообщение. В противном случае вычисляется значение функции и выводится на экран вместе со значением аргумента. В конце цикла значение аргумента увеличивается на величину шага, и таким образом при следующем выполнении цикла все действия повторяются при новом значении аргумента. Когда будет выполнено девять повторений, произойдет выход из цикла. Ниже приведён текст программы:
Uses Crt; {Подключение модуля Crt}
Var {Описание переменных}
a,b:real;
i:integer;
Begin {Начало головной программы}
Clrscr; {Очистка экрана}
Writeln('Таблица функции b=f(a)'); {Вывод шапки таблицы}
Writeln('--------------------');
Writeln(' № a b ');
Writeln('--------------------');
a:=-1; {Начальное значение аргумента}
for i:=1 to 9 do {Начало цикла}
begin
{Проверка возможности вычисления функции}
if sqr(a)-0.3<0 then {Вывод сообщения}
writeln('При a = ',a:8:2,' функция не определена')
else
begin
b:=sqrt(sqr(a)-0.3); {Вычисление функции}
{Вывод номера точки, аргумента и функции на экран}
Writeln(i:2,' ',a:8:2, ' ',b:8:2);
end;
a:=a+0.5; {Пошаговое увеличение аргумента}
end; {Окончание цикла}
Writeln('--------------------'); {Вывод подвала таблицы}
Readln; {Ждём нажатия Enter}
End. {Окончание программы}
В теле оператора for могут находиться другие операторы for. Это позволяет строить циклы, содержащие внутренние циклы, которые называются вложенными. Ниже приведён текст программы, выводящей на экран таблицу умножения:
Uses Crt;
Var i,j:integer;
Begin
Clrscr;
Writeln('Таблица умножения'); Write(' |');
for i:=1 to 9 do Write(i:6); Writeln;
for i:=1 to 60 do Write('-'); Writeln;
for i:=1 to 9 do {Начало цикла i}
begin
Write(i:4,' |');
for j:=1 to 9 do Write(i*j:6); { Цикл j}
Writeln;
end; {Конец цикла i}
Readln;
End.