М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
sergei200457
sergei200457
01.09.2021 10:38 •  Информатика

Ты — системный администратор, и тебе надо избавиться от трёх старых жёстких дисков. Для этого необходимо скопировать с них всю важную информацию и отформатировать.
У тебя есть 2 компьютера. Каждый может работать только с одним жёстким диском и выполнять одну из двух операций: копирование (30 минут) и форматирование (10 минут).
Как быстро ты сможешь избавиться от этих жёстких дисков?

👇
Ответ:
nikitka1011
nikitka1011
01.09.2021

За 80 мин можно сделать.

Объяснение:

Одновременно запустить копирование информации с двух дисков - 30 мин

Одновременно отформатировать их - 10 мин

Скопировать информацию с третьего диска - 30 мин

Отформатировать третий диск - 10 мин

4,8(55 оценок)
Открыть все ответы
Ответ:
1. Современное решение

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите строку:').Select(c->LowCase(c));
  var nd:=s.GroupBy(c->c).Select(c->(c.Key,c.Count)).OrderBy(kv->kv[0]);
  var n:=nd.Count;
  nd.Select(kv->(kv[0],kv[1]/n)).ForEach(kv->Writeln(kv[0],' : ',kv[1]:5:3))
end.

Пример работы
Введите строку: В чащах юга жил бы цитрус? Да, но фальшивый экземплярЪ!
  : 0.250
! : 0.028
, : 0.028
? : 0.028
а : 0.139
б : 0.028
в : 0.056
г : 0.028
д : 0.028
е : 0.028
ж : 0.028
з : 0.028
и : 0.083
й : 0.028
к : 0.028
л : 0.083
м : 0.028
н : 0.028
о : 0.028
п : 0.028
р : 0.056
с : 0.028
т : 0.028
у : 0.028
ф : 0.028
х : 0.028
ц : 0.028
ч : 0.028
ш : 0.028
щ : 0.028
ъ : 0.028
ы : 0.056
ь : 0.028
э : 0.028
ю : 0.028
я : 0.028

2. Школьное решение в стиле ТурбоПаскаль 1983г.

uses Crt;
const
  uc:string[33]='';
  lc:string[33]='';
var
  s:string;
  i,n,k,p:integer;
  mc:array[1..255] of char;
  mn:array[1..255] of byte;
  c:char;
begin
  ClrScr;
  Write('Введите строку: ');
  Readln(s);
  n:=Length(s);
  for i:=1 to 255 do mn[i]:=0;
  k:=0;
  for i:=1 to n do begin
    c:=s[i];
    p:=Pos(c,uc);
    if p>0 then c:=lc[p];
    p:=Ord(c);
    if mn[p]=0 then begin
      mc[p]:=s[i];
      mn[p]:=1;
      k:=k+1
      end
    else mn[p]:=mn[p]+1
    end;
  for i:=1 to 255 do
    if mn[i]<>0 then Writeln(mc[i],' : ',mn[i]/k:5:3);
  ReadKey
end.
4,5(45 оценок)
Ответ:
fuccatsumi1
fuccatsumi1
01.09.2021
Const
   N = 13;
Var
   A:array[1..N] of integer;
   i,Max,Min,S:integer;
Begin
Randomize;
Write('Исходный массив A(',N,'):');
Min:=1;
Max:=1;
For i:= 1 to N do
    Begin
    A[i]:=random(201)-100;
    Write(' ',A[i]);
    if A[i]<A[Min] then Min:=i;
    if A[i]>A[Max] then Max:=i;
    S:=S+A[i];
    End;
WriteLn;
WriteLn('Min(A) = A[',Min,'] = ',A[Min]);
WriteLn('Max(A) = A[',Max,'] = ',A[Max]);
WriteLn('Среднее арифметическое элементов массива = ',S/N);
Write('Новый массив:');
S:=A[Min];
A[Min]:=A[Max];
A[Max]:=S;
For i:= 1 to N do
    Write(' ',A[i])
End.

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

Исходный массив A(13): 60 -61 8 -60 58 -73 93 82 74 -35 89 -72 -44
Min(A) = A[6] = -73
Max(A) = A[7] = 93
Среднее арифметическое элементов массива = 9.15384615384615
Новый массив: 60 -61 8 -60 58 93 -73 82 74 -35 89 -72 -44
4,4(72 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ