Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Новая методичка.rtf
Скачиваний:
6
Добавлен:
22.07.2019
Размер:
7.64 Mб
Скачать

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;

Задания к лабораторной работе

Разработать приложение, в котором при щелчке на кнопке "Решение" на форме появляется решение вашего варианта:

  1. Указать число, в двоичном представлении которого больше всего единиц.

  2. Разложить на простые множители числа последовательности, сумма цифр которых кратна 7.

  3. Указать число, которое делится на каждую из своих цифр.

  4. Найти все натуральные числа, не превосходящие заданного N и делящиеся на каждую из своих цифр.

  5. Для каждого простого числа этой последовательности найти число, чья двоичная запись числа получается из двоичной записи найденного числа изменением порядка цифр на обратный.

  6. Найти все совершенные числа последовательности.

  7. Найти все симметричные числа последовательности.

  8. Для всех простых чисел последовательности найти цифровой корень.

  9. Распечатать числа последовательности равные числу А.

  10. Определить количество простых чисел палиндромов.

  11. Определить количество взаимно простых чисел палиндромов.

  12. Распечатать количество чисел, чья сумма цифр кратна заданному числу.

Лабораторная работа №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;