- •Лабораторная работа №1 Структура программы на языке Pascal и организация ввода-вывода данных
- •Var Form1: tForm1;
- •Var z: integer;
- •Лабораторная работа № 2
- •Var X,a,y:real;
- •Лабораторная работа № 3 Проект с несколькими формами
- •Form1 (Unit1)
- •Var Form1: tForm1; X,y,s,r,p:real;
- •Implementation
- •Form2 (Unit2)
- •Implementation
- •Лабораторная работа №4
- •Var X ,I: integer;
- •Inc (I);{следующий номер делителя}
- •Var m,n,nod,nok:word; I,k:word;
- •Лабораторная работа №5
- •Var I,p:integer;
- •Var a:array[size]of integer;
- •I,n,imax:size;
- •Var I:size;
- •Var n:integer;//количество строк в поле Memo1
- •Var I,p:integer;
- •Var a:array[size,size]of integer; m,n:size; max:integer;
- •Imax,jmax: size; I,j,k: integer;
- •Лабораторная работа №6
- •Var Str:string; otvet, I, n: integer;
- •Лабораторная работа №7
- •Var f: textfile; I: integer;
- •Var f: textfile; ch:string; I,s: integer;
- •Vozr,rost:integer;
- •Var st,r:string; rzap:sz; I:integer; f1:TextFile;
- •Лабораторная работа №8
- •Interface
- •Лабораторная работа №9
- •Var I,j,k:integer;
- •Var I,j:integer;
- •Var b:vec; n1,I,j,k:integer;
- •Приложение 1
- •Приложение 2
Var I,p:integer;
begin for i:=1 to n-1 do begin p:=pos(' ',st);
st:=copy(st,p+1,length(st)-p) end;
p:=pos(' ',st);//конец нужной подстроки
if p <> 0 then result:=copy(st,1,p-1) else result:=st end;
procedure TForm1.Button1Click(Sender: TObject);
const nn=6; type size=1..nn;
Var a:array[size,size]of integer; m,n:size; max:integer;
Imax,jmax: size; I,j,k: integer;
begin
m:=StrToInt(Edit1.text); n:=StrToInt(Edit2.text);
{ Ввод матрицы из Edit3}
k:=1;
for i:=1 to m do
for j:=1 to n do
begin
a[i,j]:=StrToInt(GetSubStr(Edit3.text,k));
k:=k+1
end;
{Вывод номеров строк в 0-м столбце и столбцов в 0-й строке}
with StringGrid1 do
begin i:=0; //0-й столбец
for j:=1 to RowCount-1 do //вывести номера строк
Cells[i,j]:=IntToStr(j);
j:=0; //0-я строка
for i:=1 to ColCount-1 do //вывести номера столбцов
Cells[i,j]:=IntToStr(i); end;
{ Вывод элементов матрицы в таблицу }
with StringGrid1 do
for i:=1 to m do
for j:=1 to n do Cells[j,i]:=IntToStr(a[i,j]);
max:=a[1,1]; imax:=1; jmax:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j] > max then
begin max:=a[i,j];imax:=1;jmax:=1 end;
Label8.Caption:='max='+IntToStr(max);
Label9.Caption:='imax='+IntToStr(imax);
Label10.Caption:='jmax='+IntToStr(jmax);end;
Сценарий выполнения программы:
Запустить программу (Run).
Ввести в поле Edit1 значение m - количество строк матрицы
6.Ввести в поле Edit2 значение n - количество столбцов матрицы n.
Ввести в поле Edit3 m
n
элементов матрицы, отделяя одно число
от другого пробелом.
Нажать кнопку “Расчет”.
Проанализировать появившиеся результаты (рисунок выше).
Для завершения работы нажать кнопку “Выход”.
Задание к лабораторной работе № 5
1. Даны переменные К, значения массивов А(К) или А(К,К) и переменные В, С, Д в зависимости от условий задачи варианта (в вариант входят пять самостоятельных задач). Составьте схемы алгоритмов и программы вычисления значений переменных, указанных в варианте задания. Составьте отладочные тесты. Включите в программы операторы выдачи на экран дисплея исходных данных (отладочного теста) и полученных результатов с пояснительным текстом.
Вариант задания |
Имя переменной |
Вариант задания |
Имя переменной |
1 |
М1,Р5,Р2,Р14,Р26 |
7 |
М6,М10,Р13,Р20,Р30 |
2 |
М2,М7,Р7,Р15,Р27 |
8 |
М12,Р3,Р12,Р21,Р15 |
3 |
М3,М7,Р8,Р16,Р28 |
9 |
М8,Р9,Р11,Р22,Р16 |
4 |
М4,М11,Р5,Р17,Р29 |
10 |
М9,Р4,Р13,Р23,Р17 |
5 |
М5,М8,Р1,Р18,Р25 |
11 |
М10,Р6,М13,Р24,Р18 |
6 |
Р3,М6,Р13,Р19,Р24 |
12 |
Р10,М8,Р2,Р25,Р19 |
М1 – количество нулевых элементов матрицы А(К,К);
М2 – количество положительных элементов матрицы А(К,К);
М3 – количество положительных элементов вектора А(К);
М4 – количество отрицательных элементов матрицы А(К,К);
М5 – количество нулевых элементов вектора А(К), заключённых между двумя первыми соседними нулями; если в векторе А нет нулевых элементов, то М5=0;
М6 – количество диагональных элементов матрицы А(К,К), равных заданному числу С;
М7 – количество диагональных элементов матрицы А(К,К), не равных заданному числу С;
М8 – количество элементов матрицы А(К), находящихся в пределах В Аi С (В и С заданы);
М9 – количество нулевых элементов вектора А(К), находящихся за первым элементом вектора А, равным заданному числу С;
М10–количество нулевых элементов вектора А(К), предшествующих (имеющих меньший индекс) первому элементу вектора А, равному заданному числу С;
М11 – номер (индекс) минимального элемента вектора А(К);
М12 – номер (индекс) строки максимального элемента матрицы А;
М13 – номер (индекс) столбца максимального элемента матрицы А (К,К);
Р1 – сумма элементов матрицы А(К,К);
Р2 – сумма положительных элементов матрицы А(К,К);
Р3 – сумма элементов вектора А(К), больших заданного числа С;
Р4 – среднее арифметическое значение вектора А(К);
Р5 – сумма отрицательных элементов вектора А(К), имеющих чётный индекс (стоящих на чётных местах);
Р6 – сумма элементов массива А(К), значения которых лежат в пределах В Аi С (В и С заданы);
Р7
– сумма элементов вектора А(К), значения
которых удовлетворяют условию: Аi
C
или Аi
Д
(С и Д заданы, С<Д);
Р9 – значение максимального элемента матрицы А(К,К);
Р10 – произведение элементов матрицы А(К,К), больших максимального элемента первой строки матрицы А;
Р11 – сумма элементов вектора А(К), стоящих на чётных местах (с чётными индексами) и больших С;
Р12 – сумма положительных элементов вектора А(К), стоящих на нечётных местах;
Р13 – произведение отрицательных элементов матрицы А(К,К);
2. Дан целочисленный массив А(К) (0<К<50; 0<Аi<100). Составьте схемы алгоритмов и программы вычисления значений переменных, указанных в варианте задания:
Р14 – значение элемента, сумма цифр которого максимальна. Если таких элементов несколько, то сумму значений таких элементов;
Р15 – максимальный делитель, оканчивающийся на 3 для максимального числа А(К);
Р16 – наибольший чётный делитель для максимального числа А(К);
Р17 – сумма делителей из заданного диапазона (нижняя граница диапазона n1 и верхняя граница диапазона n2);
Р18 – значение минимального нечётного делителя, большего 1 для М3 (числа равного количеству положительных элементов вектора А(К));
Р19 – количество делителей делящихся на 5, для числа равного сумме положительных элементов А(К), стоящих на нечётных местах (Р12);
Р20–величина простого делителя для максимального числа А(К);
Р21 – сумма простых делителей, заканчивающихся на 3 для максимального элемента А(К);
Р22 – сумма тех элементов массива, у которых совпадают младшая и старшая цифра;
Р23 –сумма элементов, индексы которых являются степенью двойки;
Р24 – максимальный элемент из чисел, встречающихся а А(К) более одного раза;
Р25 – минимальное число среди элементов массива, сумма цифр которых максимальна;
Р26 – наименьшее общее кратное (НОК) простых чисел А(К);
Р27 – НОК элементов А(К), индексы которых кратны 3;
Р28 – произведение элементов, сумма цифр которых максимальна;
Р29 – сумма индексов простых чисел;
Р30 – сумма тех чисел вектора А(К), которые имеют наименьшее количество цифр в своём изображении и являются простыми;
Р31 – индексы элемента вектора А(К), равного заданному числу В.
