В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Марго22111
Марго22111
18.03.2021 04:24 •  Информатика

На рисунке изображён логический диск, разделённый на кластеры. Размер каждого кластера составляет 16 Кбайт. Используемые кластеры — серые, свободные кластеры — белые.

На диск требуется записать файлы: файл А размером 20 Кбайт, затем файл В размером 30 Кбайт, затем файл С размером 65 Кбайт, и наконец — файл D размером 60 Кбайт.

Операционная система для хранения каждого файла пытается искать смежные (соседние) свободные кластеры, чтобы избежать фрагментации файла — рассеивания содержимого файла по диску, приводящего к уменьшению производительности.

В какие кластеры может быть записано содержимое файлов при соблюдении этого условия?

Показать ответ
Ответ:
masaynay22mailru
masaynay22mailru
22.06.2022 04:24
Пусть ученик неуспевающий, если сумма его отметок меньше 2+2+3+3=10.

var
  count_losers, sum, current_sum, mark, i, j, n: integer;

begin
  read(n);
  count_losers := 0;
  for i := 1 to n do
  begin
    current_sum := 0;
    for j := 1 to 4 do
    begin
      read(mark);
      current_sum := current_sum + mark;
    end;
    if current_sum < 10 then
      inc(count_losers);
    sum := sum + current_sum;
  end;
  writeln('Неуспевающих учеников: ', count_losers);
  writeln('Средняя сумма четырёх отметок: ', sum / n);
  writeln('Средняя отметка: ', sum / 4 / n);
end.

Пример ввода:
4
2 2 2 5
2 2 5 2
2 5 2 2
3 2 2 2

Пример вывода:
Неуспевающих учеников: 1
Средняя сумма четырёх отметок: 10.5
Средняя отметка: 2.625
0,0(0 оценок)
Ответ:
MrtMiyaGi
MrtMiyaGi
24.04.2023 21:52
Для того, чтобы узнать, не встречалось ли 20-е число раньше, надо помнить, какие числа были до этого. Так что без массива с меньшим размером, чем 19, не обойтись (на самом деле это так, только если в каждом элементе массива хранить только одно число. Но мы так и будем делать). 

Алгоритм для решения задачи выберем простой: записываем все предыдущие числа в массив и для каждого следующего числа проходим по массиву.

var
  a: array[1..19] of byte;
  i, j, t: byte;

begin
  for i := 1 to 20 do
  begin
    read(t);
    if i < 20 then a[i] := t;
    for j := 1 to i - 1 do
      if a[j] = t then
        t := 0;
    if t > 0 then write(t, ' ');
  end;
end.

Пример ввода:
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10

Пример вывода:
1 2 3 4 5 6 7 8 9 10
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота