- •Лабораторная работа №1
- •Целый тип
- •Вещественный тип
- •Символьный тип
- •Булевский тип
- •Перечисляемый тип
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Оператор цикла с предусловием:
- •Оператор цикла с постусловием:
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №6
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №7
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №8
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №9
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №10
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №11
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
Решение.
Текст программы № 5
Program lab5 {вариант 2};
var x0,x1,x,e:real;
interaz:integer;
function f(x:real):real;
begin
f:=0.25*x*x*x+x-1.2502;
end;
begin
write('введите приближённое значение корня x=');
readln(x1);
write('введите точность e=');
readln(e);
interaz:=0;
repeat
interaz:=interaz+1;
x0:=x1;
x1:=x0-f(x0);
until (abs(x1-x0)<=e);
writeln('Решение уравнения:');
writeln('Точное значение корня...... ……1.0001');
writeln('Вычисленное значение корня…',x1:0:5);
writeln('Число итераций..…………......... ',interaz);
writeln('Программа закончена, нажмите Enter.');
readln;
end.
Распечатка результатов выполнения программы.
Программы №5
введите приближённое значение корня x=1.0001
введите точность e=0.0001
Решение уравнения:
Точное значение корня...... ……1.0001
Вычисленное значение корня…1.00012
Число итераций..…………......... 1
Программа закончена, нажмите Enter.
Лабораторная работа №6
Работа с массивами чисел
Вариант №2
Постановка задачи.
Написать программу, которая для введенного числа N формирует двумерный массив заданного вида. В задании дан массив для N = 4.
Вид массива:
Полученный массив напечатать.
Сравнить сумму произведений элементов строк и произведение сумм элементов столбцов и напечатать с соответствующими сообщениями.
Печать и задания оформить в виде процедур (функций).
Решение.
Текст программы № 6
program Lab6 {Вариант №2};
label sle;
const n=4;
par=(n*4);
type matriz=array[1..n,1..n] of integer;
var S,P,i,j,i1,j1,kol,kolo,l,k:integer;
mas: matriz;
str,stb: array[1..n] of integer;
im:array[1..par] of integer;
procedure vvod(var vmas:matriz);
begin {ввод массива}
writeln('Вводим элементы массива, размерность [',n,',',n,']');
for i:=1 to n do
for j:=1 to n do
begin
write('Введите элемент [',i,',',j,']=');
readln(vmas[i,j]);
end;
end;
procedure print(vmas:matriz);
begin {ввод массива}
writeln('Ваш массив имеет вид:');
for i:=1 to n do
begin
for j:=1 to n do
begin
write(' ',vmas[i,j],' ');
end;
writeln;
end;
end;
begin
vvod(mas);
print(mas);
{Произведение элементов строк}
str[i]:=1;
for i:=1 to n do
begin
for j:=1 to n do
str[i]:= mas[i,j]* str[i];
write(' ','str[',i,']=',str[i],' '); end;
writeln;
{Сумма элементов столбцов}
stb[1]:=0;
for i:=1 to n do
begin
for j:=1 to n do
stb[i]:= mas[j,i]+stb[i];
write(' ','stb[',i,']=',stb[i],' '); end;
writeln;
S:=0;P:=1;
for i:=1 to n do
begin
S:= str[i]+S;
P:= stb[i]*P;
end;
writeln(' ','S=',S,' ','P=',P);
if S>P then
writeln ('Сумма произведений элементов строк БОЛЬШЕ, чем произведение сумм элементов столбцов') else
writeln ('Сумма произведений элементов строк МЕНЬШЕ, чем произведение сумм элементов столбцов ')
end.