lgolar
10.10.2022 12:46

Задание 1.
Автомат получает на вход два трехзначных числа. По этим числам строится новое число по следующим правилам. Вычисляются три числа - сумма старших разрядов заданных трехзначных чисел, сумма средних разрядов этих чисел, сумма младших разрядов.
Полученные три числа записываются друг за другом в порядке убывания без разделителей ( исходные числа 835, 196 12119).
Определить, какое из следующих чисел может быть результатом работы автомата.
161205 15121 19175 111612

Задание 2.
Автомат получает на вход трехзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам. Вычисляются два числа - сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа.
Полученные два числа записываются друг за другом в порядке неубывания без разделителей.
Определите, сколько из приведенных ниже чисел могут получаться в результате работы автомата.
1616 169 163 1916 1619 316 116
В ответе запишите количество чисел и обоснование результата.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
IIIayni
10.01.2021 23:48
Const n=8;
var 
a:array[1..n,1..n] of integer;
i,j,k,s,s1,si,dmin,smin:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do
  begin
  a[i,j]:=random(50);
  write(a[i,j]:4);
  end;
  writeln;
 end;
write('k = '); readln(k);
s:=0;
for j:=1 to n do s:=s+a[k,j];
writeln('s = ',s);
dmin:=999999; smin:=999999;
for i:=1 to n do
 if i<>k then
  begin
  s1:=0; 
  for j:=1 to n do s1:=s1+a[i,j];
  writeln('s',i,' = ',s1);
  if abs(s1-s)<dmin then begin dmin:=abs(s1-s); smin:=s1; si:=i; end;
  end;
writeln('Номер строки = ',si,', smin = ',smin);
end.

Пример:
Исходный массив:
   9   0  22  40  20  35   2  25
  23  30  22  35  41   0   9  40
   1  15   6  18  43  47  34  33
  26   5   2  45  13  46  40   2
  26  39   7  31   3  43  20   8
  25  15  24   6  10  16   3  25
  47   0  27  35  14  15  36  11
  16  38  14  14  33   7  11  26
k = 5
s = 177
s1 = 153
s2 = 200
s3 = 197
s4 = 179
s6 = 124
s7 = 185
s8 = 159
Номер строки = 4, smin = 179
0,0(0 оценок)
Ответ:
sofia27supko
30.04.2020 12:18
Type
  tR = real;
  tF = file of tR;

procedure SwapFile(fn1, fn2: string);
var
  r: tR;
  fin, fout: tF;
begin
  Assign(fin, fn1); Reset(fin);
  Assign(fout, fn2); Rewrite(fout);
  while (not Eof(fin)) do begin Read(fin, r); Write(fout, r) end;
  Close(fin); Close(fout)
end;

var
  f1, f2, f3, f4, f5, fh: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin'; fh := 'tmp.bin';
  { f2 <-> f4 }
  SwapFile(f2, fh); SwapFile(f4, f2); SwapFile(fh, f4);
  { f5->h, f3->f5, f1->f3, h->f1 }
  SwapFile(f5, fh); SwapFile(f3, f5); SwapFile(f1, f3); SwapFile(fh, f1)
end.

Для тестирования
Можно создать тестовые файлы с следующей программы:
type
  tR = real;
  tF = file of tR;

procedure WF(fn: string; m, n: integer);
var
  fout: tF;
  i: integer;
begin
  Assign(fout, fn); Rewrite(fout);
  for i := m to n do Write(fout, i / 2);
  Close(fout)
end;

var
  f1, f2, f3, f4, f5: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin';
  WF(f1, 3, 7); WF(f2, 11, 19); WF(f3, -6, 9); WF(f4, 0, 11); WF(f5, 14, 22);   
end.

Далее можно просмотреть содержимое созданных файлов с следующей программы:
type
  tR = real;
  tF = file of tR;

procedure WF(fn: string);
var
  fin: tF;
  r: tR;
begin
  Writeln(fn);
  Assign(fin, fn); Reset(fin);
  while (not Eof(fin)) do
  begin Read(fin, r); Write(r:0:1, ' ') end;
  Writeln;
  Close(fin)
end;

var
  f1, f2, f3, f4, f5: string;

begin
  f1 := 'f1.bin'; f2 := 'f2.bin'; f3 := 'f3.bin';
  f4 := 'f4.bin'; f5 := 'f5.bin';
  WF(f1); WF(f2); WF(f3); WF(f4); WF(f5)
end.

Затем выполнить основную программу по перезаписи и снова запустить программу для просмотра обновленнных файлов.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота