vps1050
?>

Нужна с информатикой всего 2 ! много ) напишите программу которая находит минимальное и максимальное среди чётных положительных чисел записанных в файле и выводит результат в другой файл в файле записано не более 100 целых чисел вывести в другой текстовый файл те же числа отсортированные в порядке возрастания

Информатика

Ответы

EkaterinaSEMENOV702
Задача 1.
var
  f:Text;
  n,nmax,nmin:integer;
begin
  Assign(f,'input.txt'); Reset(f);
  nmax:=-32786; nmin:=32767; {границы представления integer}
  while not Eof(f) do begin
    Readln(f,n);
    if (n>0) and (n mod 2=0) then
      if nmax<n then nmax:=n
      else
        if nmin>n then nmin:=n
  end;
  Close(f);
  Assign(f,'output.txt'); Rewrite(f);
  Writeln(f,nmin,' ',nmax);
  Close(f)
end.

Задача 2.
const
  m=100; { максимальное количество чисел в файле }
var
  f:Text;
  i,j,n,k:integer;
  a:array[1..m] of integer;
begin
  { читаем данные из файла в массив }
  Assign(f,'input.txt'); Reset(f);
  i:=0;
  while not Eof(f) do begin Inc(i); Readln(f,a[i]) end;
  Close(f);
  n:=i;
  { сортируем массив по возрастанию методом пузырька }
  for i := 1 to n-1 do
    for j := 1 to n-i do
      if a[j] > a[j+1] then
      begin k := a[j]; a[j] := a[j+1]; a[j+1] := k end;
  { заполняем файл из массива }
  Assign(f,'output.txt'); Rewrite(f);
  for i:=1 to n do Writeln(f,a[i]);
  Close(f)
end.

Вложение: пример файла input.txt
peresvetoff100015
//PascalABC.NET
//Постройте алгоритм и составьте программу, по которой будет реализован
//следующий вариант сценарий: компьютер запрашивает номер дня недели,
//после ввода компьютер сообщает название этого дня (типо если ввели
//1 это понедельник 3 - среда)

type Arr = array [0..6] of string;

begin
    var DN: Arr := ('Воскресенье', 'Понедельник', 'Вторник', 'Среда',
                'Четверг', 'Пятница', 'Суббота');
    write('Введите порядковый номер дня недели: ');
    var n := ReadlnInteger;
    write('Этот день называется ', DN[n mod 7])
end.

Постройте алгоритм и составьте программу, по которой будет реализован следующий вариант сценарий: ко
ok-49566
                                     PascalABC.NET                                       function ToBinary (x:integer):string; beginif (x>0) then ToBinary := ToBinary(x div 2) + (x mod 2).ToString;end; function FromBinary (x:string):integer; beginif (x.Length>0) then FromBinary := FromBinary(x.Substring(1)) + x[1].ToDigit*Round(Power(2,x.Length-1));end; function func (x:integer):integer; beginvar s := ToBinary(x); loop 2 do s += s.AsEnumerable.Sum(c->c.ToDigit) mod 2; func:=FromBinary(s);end; begin Println('f(N):',func(ReadInteger('N:'))); Println('Количество:',(1..160).Count(x->func(x) in 90..160)); end.

Примечание:

Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).

ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.

FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.

func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).

Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).

Пример работы:


Автомат обрабатывает натуральное число N по следующему алгоритму: 1. Строится двоичная запись числа
Автомат обрабатывает натуральное число N по следующему алгоритму: 1. Строится двоичная запись числа
Автомат обрабатывает натуральное число N по следующему алгоритму: 1. Строится двоичная запись числа

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Нужна с информатикой всего 2 ! много ) напишите программу которая находит минимальное и максимальное среди чётных положительных чисел записанных в файле и выводит результат в другой файл в файле записано не более 100 целых чисел вывести в другой текстовый файл те же числа отсортированные в порядке возрастания
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

papanovar
Artak96993298
aleksey270593
Буянто1346
kitoova
Gera8061
Николаевич1033
platan3698952
Борисов
anton-www1
polariskirov
vs617
Artyukhin545
tanyatanyat
impulsmc715