с маткадом
Вот ссылка на методичку http://irbis.bti.secna.ru/doc8/2018-157.pdf 2,3 и 4 лабы
1. Используя стандартную функцию rnd(1), определите новую функцию F(a,b), которая возвращает случайные числа в диапазоне a…b.
2. Дано число. Если оно четное, увеличить его в два раза, если нечетное – в три
раза. Используйте стандартные функции if и mod
3. Решите задачу о случайном блуждании, но на плоскости x-y (за аналог возьмите
задачу 1): пешеход может двигаться только вперед-назад и влево-вправо. Постройте график его траектории и отметьте место его остановки. Как далеко он смог отойти от начального места?
1. Определите любыми двумя вектор W, содержащий все нечетные
числа от 1 до 19.
2. Определите некоторые векторы V, V1, V2, скаляр X и проделайте над ними
векторные операции, приведенные в таблице 4.2.
3. Определите вектор x = (0.12, 0.2, 0.23, 0.27, 0.45, 0.66, 0.7, 0.85, 0.9, 0.99). Рассчитайте значения
Определите некоторые матрицы M, M1, M2, вектор V и скаляр X. Проделайте
над ними матричные операции, приведенные в таблице 4.3.
6. Определите два вектора одинаковой размерности. Объедините их в матрицу,
отсортируйте по первому столбцу и получите из матрицы вновь два вектора.
7. Определите единичную матрицу Е размером 4×4 и вектор V, содержащий четыре элемента. Вычислите матрицу
T VV
V
H E 2
2
.
8. Решите задачу 1 из п.4.4 о поиске оптимального расположения домика садоводства при количестве домов > 50. Изобразите на графике все дома садоводства, выделив
дом с оптимальным и самым неудачным расположением.
var
a, b, c, d, x1, x2: real;
begin
write('Введите a = '); readln(a);
write('Введите b = '); readln(b);
write('Введите c = '); readln(c);
if ((a = 0) and (b = 0) and (c = 0)) then
writeln('X любое')
else
if a <> 0 then
begin
d := sqr(b) - 4 * a * c;
if (d > 0) then
begin
x1 := (-b+sqrt(d))/(2*a);
x2 := (-b-sqrt(d))/(2*a);
writeln('x1 = ', x1);
writeln('x2 = ', x2);
end
else
if d = 0 then
begin
x1:=-b/(2*a);
x2:=x1;
writeln('x1 = ', x1);
//writeln('x2 = ', x2);
end
else
if d < 0 then
writeln('Корней нет.');
end
else
if (a = 0) and (b = 0) then
writeln('Решений нет.')
else
if (a = 0) then
begin
x1 := (-c)/b;
writeln('x = ', x1);
end;
end.
A: array [1..255] of integer;
N, i, j, k, min, max: integer;
begin
//Ввод количества элементов в массиве
write('Введите четное количество элементов: ');
readln(N);
//Ввод двух чисел для диапазона случайных чисел
write('Введите диапазон случайных чисел: ');
readln(min, max);
//Инициализация датчика случайных чисел.
//(в PascalABC.NET необязательно)
randomize;
//Заполнение массива
for i := 1 to N do
begin
A[i] := random(max-min+1)+min;
write(A[i]:4);
end;
writeln;
//Сортировка первой половины по убыванию
for i := 1 to ((N div 2)-1) do
for j := 1 to (N div 2)-i do
if A[j] > A[j+1] then
begin
k := A[j];
A[j] := A[j+1];
A[j+1] := k;
end;
//Сортировка второй половины по убыванию
for i:=(N div 2) to N-1 do
for j:=i+1 to N do
if A[i]<A[j] then
begin
k:=a[i];
A[i]:=A[j];
A[j]:=k;
end;
//Вывод массива
for i := 1 to N do write(A[i]:4);
writeln;
readln;
end.