
- •Утверждаю
- •Лабораторная работа №2 Вычисление значения функции, заданной различными аналитическими выражениями, при заданных значениях аргумента (разветвляющийся алгоритм)
- •If логическое выражение then оператор_1
- •Лабораторная работа №3 Вычисление таблицы значений функции, заданной аналитически, при заданных начальном, конечном значениях и шаге изменения аргумента (циклический алгоритм)
- •Лабораторная работа №4 Работа с элементами одномерного массива
- •Var имя_массива: array[t1,t2,…,tn] of te;
- •Лабораторная работа №5 Работа с элементами двумерного массива
- •Программирование в среде turbo pascal
Лабораторная работа №3 Вычисление таблицы значений функции, заданной аналитически, при заданных начальном, конечном значениях и шаге изменения аргумента (циклический алгоритм)
Цель работы: составить программу для табулирования функции y(x);
вывести на экран значения x и y(x).
1. Операторы организации циклов
Для табулирования функции используются операторы организации циклов:
1) while – оператор цикла с предварительным условием;
2) repeat – оператор цикла с последующим условием.
Общий вид оператора while:
while логическое_выражение do оператор;
Оператор действует следующим образом. Предварительно проверяется значение
логического_ выражения. Пока логическое_выражение истинно, выполняется оператор циклической части (после do). Как только оно становится ложным, происходит выход из цикла.
Общий вид оператора repeat:
repeat
операторы
циклической
части
until логическое_выражение; .
Оператор действует так. Выполняются операторы циклической части, проверяется значение логического выражения: если логическое_выражение ложно, то вновь выполняются операторы циклической части; если же оно истинно, то цикл заканчивается.
Пример. Вычислим и выведем на экран таблицу значений функции y=lnx при x, изменяющемся от x0 до xk с шагом dx.
Организация цикла с оператором while:
x:=x0;
while x<xk+dx/2 do
begin
y:=ln(x); {операторы
writeln(‘ x=’,x,’ y(x)=’,y); циклической
x:=x+dx; части}
end;
Организация цикла с оператором repeat:
x:=x0;
repeat
y:=ln(x);{операторы
writeln(' x=',x,' y(x)=',y); циклической
x:=x+dx части}
until x>xk; .
2. Варианты заданий
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Лабораторная работа №4 Работа с элементами одномерного массива
Цель работы: составить программу для работы с элементами одномерного массива.
1. Описание массивов
Имена массивов образуются так же, как и имена переменных.
Массив в программе может быть описан следующим образом:
Var имя_массива: array[t1,t2,…,tn] of te;
где t1,t2,…,tn – типы индексов массива;
n – количество индексов – определяет размерность массива;
te – тип элементов массива.
Элемент массива можно выбрать, задав конкретные значения индексов, например:
a[k] –k-ый элемент одномерного массива A; m[i,j] –элемент двумерного массива М, расположенный на пересечении i-ой строки и j-го столбца. Для ввода и вывода числовых значений элементов массива используются циклы с оператором цикла for. Общий вид оператора
for i:=n1 to n2 do оператор;
где i –переменная цикла;
n1,n2 –начальное и конечное значения переменной цикла соответственно.
Пример. Дан массив В, содержащий 15 элементов. Выведем массив В и элементы массива B, которые стоят на четных местах и превышают по абсолютной величине 2.5. Запишем в массив T найденные элементы. Выведем массив T.
Составим программу:
PROGRAM mas1;
VAR B:array[1..15] of real; {описание исходного одномерного массива B}
T:array[1..7] of real; {описание массива T найденных элементов}
{7 –число элементов массива B, стоящих на четных местах}
i,k,n:integer; {i,n- переменные для обозначения индексов элементов-}
{-массивов B и T соотв.}
BEGIN {k-переменная для обозначения числа элементов массива T}
for i:=1 to 15 do read(b[i]); {цикл для ввода элементов b[i]массива B}
for i:=1 to 15 do writeln(' ',b[i]:8:4); {цикл для вывода элементов-}
{-исходного массива B}
k:=0; {перед началом вычислений число элементов массива T полагаем равным 0}
for i:=1 to 15 do {цикл для отыскания элементов b[i],-}
if (odd(i)=false)and(abs(b[i])>2.5) then {-удовлетворяющих поставленным-}
begin {-условиям, их вывода и записи-}
k:=k+1; {-найденных значений в массив T}
writeln(' i=',i,':',b[i]:8:4);
t[k]:=b[i];
end;
for n:=1 to k do write(' ',t[n]:8:4) {цикл для вывода массива T}
END.
2. Варианты заданий
1) В массиве из 20 целых чисел найти наибольший элемент и поменять его местами с
первым элементом.
2) В массиве из 10 целых чисел найти наименьший элемент и поменять его местами с
последним элементом.
3) В массиве из 15 вещественных чисел найти наибольший элемент и поменять его
местами с последним элементом.
4) В массиве из 25 вещественных чисел найти наименьший элемент и поменять его
местами с первым элементом.
5) Дан массив X, содержащий 27 элементов. Вычислить и вывести элементы нового
массива Y, где yi =6.85xi2-1.52. Если yi<0, то вычислить и вывести a=xi3-0.62 и
продолжить вычисления; если yi0, то вычислить и вывести b=1/xi2 и продолжить
вычисления.
6) Дан массив X, содержащий 16 элементов. Вычислить и вывести значения di, где
и
значения di0.1.
7) Дан массив Y, содержащий 25 элементов. Записать в массив R и вывести значения
элементов,
вычисляемые по формуле
,
i=1,2,…,25.
8) Дан массив F, содержащий 18 элементов. Вычислить и вывести элементы нового
массива pi=0.13fi3-2.5fi+8. Вывести отрицательные элементы массива P.
9) Вычислить и вывести элементы массива Z, где zi=i2+1, если i – нечетное, и zi=2i-1,
если i – четное. Сформировать и вывести массив D: di=2.5zi, если zi2.5 и
di=zi/2.5, если zi2.5.
10) Заданы массивы D и E. Вычислить и вывести значения fi=(2di+sin ei)/di, где
i=1,2,…,16; вывести 1fi3.
11) В массиве R, содержащем 25 элементов, заменить значения отрицательных
элементов квадратами значений, значения положительных увеличить на 7, а
нулевые значения оставить без изменения. Вывести массив R.
12) Дан массив A целых чисел, содержащий 30 элементов. Вычислить и вывести
сумму тех элементов, которые кратны 5.
13) Дан массив A целых чисел, содержащий 30 элементов. Вычислить и вывести
сумму тех элементов, которые нечетны и отрицательны.
14) Дан массив A целых чисел, содержащий 30 элементов. Вычислить и вывести
сумму тех элементов, которые удовлетворяют условию aii2.
15) Дан массив A целых чисел, содержащий 30 элементов. Вычислить и вывести
количество и сумму тех элементов, которые делятся на 5 и не делятся на 7.
16) Дан массив A вещественных чисел, содержащий 25 элементов. Вычислить и
вывести число отрицательных элементов и число членов, принадлежащих
отрезку1,2.
17) Дан массив C, содержащий 23 элемента. Вычислить и вывести среднее
арифметическое всех значений ci3.5.
18) Дан массив Z целых чисел, содержащий 35 элементов. Вычислить и вывести
R=S+P, где S – сумма четных элементов, меньших 3, P – произведение нечетных
элементов, больших 1.
19) Дан массив Q натуральных чисел, содержащий 20 элементов. Найти и вывести те
элементы, которые при делении на 7 дают остаток 1,2 или 5.
20) Дан массив Q натуральных чисел, содержащий 20 элементов. Найти и вывести те
элементы, которые обладают тем свойством, что корни уравнения qi2+3qi-5=0
действительны и положительны.
21) Дан массив, содержащий 10 элементов. Вычислить произведение элементов,
стоящих после первого отрицательного элемента. Вывести исходный массив и
результат вычислений.
22) Дан массив, содержащий 14 элементов. Вычислить сумму элементов, стоящих до
первого отрицательного элемента. Вывести исходный массив и результат
вычислений.
23) Дан массив содержащий 12 элементов. Все четные элементы сложить, вывести
массив и результат.
24) Дан массив, содержащий 15 элементов. Все положительные элементы возвести в
квадрат, а отрицательные умножить на 2. Вывести исходный и полученный
массив.
25) Дан массив, содержащий 14 элементов. Все отрицательные элементы заменить на
3. Вывести исходный и полученный массив.