Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Целочисленная арифметика




Алгоритмы по работе с целыми числами подробно рассмотрены в [2]. Поэтому рассмотрим следующий пример как напоминание и основу для реализации подобных задач. Необходимо обратить внимание, что при решении задач по теме “распаковка целых чисел” также можно работать с числами, представленными как строки символов; иногда это значительно упрощает решение задачи.

Задача. Даны натуральные числа и . Проверить, есть ли в записи числа цифра .

Форма имеет следующий вид (рис. 15):

Рис.15

Фрагмент кода:

{***********************************************************}

procedure Tfrm_Z4.bBtn_OKClick(Sender: TObject);

var N,k,m,i,z:Byte;

p,p_ish:Longword;

f:Boolean ;

begin

N:=StrToInt(edt_N.Text);

k:=StrToInt(edt_k.Text);

m:=StrToInt(edt_m.Text);

p:=N;

for i:=2 to k do p:=p*N; {накопление степени}

p_ish:=p; {дублируем полученное N в степени k}

f:=false;

{f - «флажок», его значение изначально ложно в предположении, что цифра m не входит в запись N в степени k}

while p<>0 do

begin

z:=p mod 10;

if z=m {если цифра z совпала с m}

then begin

f:=true;

p:=0 {обнуляем р, чтобы не продолжать цикл}

end;

p:=p div 10;

end;

if f

then lbl_Result.Caption:='Цифра '+edt_m.Text+' встречается в

записи числа '+IntToStr(p_ish)

else lbl_Result.Caption:='Цифра '+edt_m.Text+' не встречается в записи числа '+IntToStr(p_ish);

end;

{***********************************************************}


Данная страница нарушает авторские права?

mylektsii.ru - Мои Лекции - 2015-2017 год. (0.007 сек.)