- •Лабораторная работа №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 m,n,nod,nok:word; I,k:word;
begin
M:=StrToInt(Edit1.text); N:=StrToInt(Edit2.text);
if N>M then k:=M else k:=N;
NOD:=1;
for i:=1 to k do
if (N mod i=0) and (M mod i=0) then NOD:=i;
NOK:=NOD*(N div NOD)*(M div NOD);
Label4.Caption:='NOD='+IntToStr(NOD);
Label5.Caption:='NOK='+IntToStr(NOK)
end;
Задания к лабораторной работе
Разработать приложение, в котором при щелчке на кнопке "Решение" на форме появляется решение вашего варианта:
Указать число, в двоичном представлении которого больше всего единиц.
Разложить на простые множители числа последовательности, сумма цифр которых кратна 7.
Указать число, которое делится на каждую из своих цифр.
Найти все натуральные числа, не превосходящие заданного N и делящиеся на каждую из своих цифр.
Для каждого простого числа этой последовательности найти число, чья двоичная запись числа получается из двоичной записи найденного числа изменением порядка цифр на обратный.
Найти все совершенные числа последовательности.
Найти все симметричные числа последовательности.
Для всех простых чисел последовательности найти цифровой корень.
Распечатать числа последовательности равные числу А.
Определить количество простых чисел палиндромов.
Определить количество взаимно простых чисел палиндромов.
Распечатать количество чисел, чья сумма цифр кратна заданному числу.
Лабораторная работа №5
Работа с массивами
Цель работы:
изучить характеристики и основные операции с структурой данных – массив,
получить навыки ввода и вывода одномерных и двумерных массивов.
Пример 5.1. Нахождение значения и номера максимального элемента одномерного массива
Описание переменных:
-
Имя
Структура
Тип
Семантика
n
a
max
imax
простая
массив
простая
простая
целый
целый
целый
целый
количество элементов массива
заданный массив
максимальный элемент
номер максимального элемента
Для решения данной задачи используется функция GetSubStr(st:string;n:integer):string для выделения подстроки из строки. Данная функция размещается в разделе Implementation модуля формы Unit1. Т.к. вводимые элементы массива записываются в поле редактора Edit2, то функция Getsubstr будет выделять символы в строке Edit2 до пробела, т.е. цифры числа очередного элемента массива.
function GetSubStr(st:string;n:integer):string;
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=20;// количество элементов массива
type size=1..nn;