Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Зайцев М. Г. / отчет практика 3 Зайцев 2 семестр

.doc
Скачиваний:
16
Добавлен:
02.01.2020
Размер:
75.78 Кб
Скачать

2.Посчитать количество цифр k в десятичной записи целого неотрицательного n, используя цикл DOUNTIL, WHILEDO.

program z2wd;

{$APPTYPE CONSOLE}

uses

SysUtils,windows;

var n: integer;

k: byte;

begin

write('n='); readln(n);

if n=0 then k:=1;

while n>=1 do

begin

inc(k);

n:=n div 10;

end;

writeln(k);

readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

n = 15

2

Цикл выполняется

2

n = 5

1

Цикл не выполняется

3

n = 1589

4

Цикл выполняется

k:=1

inc(k);

n:=n div 10;

4. Сформировать строку, содержащую двоичное представление неотрицательного целого числа.

program problem;

{$APPTYPE CONSOLE}

uses

SysUtils,windows;

var

sDv: string;

iMod, iDch, iDchr :integer;

begin

setconsolecp(1251);

setconsoleoutputcp(1251);

Write('десятичное число: ');

Readln(iDch);

iDchr := iDch;

while iDch >= 2 do

begin

iMod := iDch mod 2;

iDch := iDch div 2;

sDv := IntToStr(iMod) + sDv;

end;

sDv := IntToStr(iDch) + sDv;

Writeln(iDchr, '(10) = ', sDv, '(2)');

Readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

2

10

2

8

1000

3

1569

11000100001

iDchr:=iDch;

iMod := iDch mod 2;

iDch := iDch div 2;

sDv := IntToStr(iMod) + sDv;

sDv := IntToStr(iDch) + sDv;

14. Найти максимальное значение r среди разрядов целого числа a. Например, а = 12543, r = 5.

uses SysUtils, windows; var m,n,max:integer; begin setconsolecp(1251); setconsoleoutputcp(1251); repeat write('n= '); readln(n); until n>0; m:=n; while m div 10 >0 do begin if m mod 10 > max then begin max:=m mod 10;

end; m:=m div 10; end; writeln( 'max= ',max ); readln; end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

145879

9

2

156

6

16. Найти сумму s значений разрядов целого числа a. Например, а = 12543, s = 15.

program Project1;

{$APPTYPE CONSOLE}

uses

SysUtils,windows;

var a,x:integer;

i,s:integer;

begin

setconsolecp(1251);

setconsoleoutputcp(1251);

write('введите целое число ');

readln( a ); x:=a;

s:=0;

while ( x<>0 ) do

begin

s := s + (x mod 10);

x := x div 10;

end;

writeln( 'Сумма разрядов числа ',a,' = ', s );

readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

7856

26

2

123

6

x:=a;

s:=0;

s := s + (x mod 10);

x := x div 10;

18. Найти номер разряда, в котором находится максимальное значение r среди разрядов целого числа a. Разряды числа, пронумерованы справа налево, начиная с единицы. Например, а = 12543, r = 3.

uses SysUtils, windows; var m,n,max,i,kol,pos:integer; begin setconsolecp(1251); setconsoleoutputcp(1251); repeat write('n= '); readln(n); until n>0; m:=n; kol:=1; while m div 10 >0 do begin kol:=kol+1; m:=m div 10; end; max:=-1; pos:=1; m:=n;

for i:=kol downto 1 do begin if m mod 10 > max then begin max:=m mod 10; pos:=i; end; m:=m div 10; end; writeln( 'max= ',max, 'pos= ', pos ); readln; end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

7856

8

2

123

3