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

Опишите структуру связей между кластерами файла в файловой системе fat, если известно, что файл последовательно занимает 1-ю, 5-ю, 7-ю и 2-ю ячейку кластеров?

👇
Ответ:
тима421
тима421
13.08.2022
Структура связей показана в прилагаемом рисунке.
Опишите структуру связей между кластерами файла в файловой системе fat, если известно, что файл посл
4,5(60 оценок)
Открыть все ответы
Ответ:
бэйба123
бэйба123
13.08.2022
//Dev-C++ 5.11

#include <stdio.h>
int binaryFounder(int*,int,int,int,int*);

int main(void)
 {int ar[100],n,res=-1,i,j,buf,val,arind[100];
 scanf("%d",&n);
 for(i=0;i<n;i++)
  scanf("%d",&ar[i]);
 printf("Enter searching value:");
 scanf("%d",&val);
 for(i=0;i<n;i++)
  arind[i]=i;
 for(i=0;i<n-1;i++)
  for(j=i+1;j<n;j++)
   if(ar[i]>ar[j])
    {buf=ar[i];
    ar[i]=ar[j];
    ar[j]=buf;
    buf=arind[i];
    arind[i]=arind[j];
    arind[j]=buf;}
 binaryFounder(ar,0,n-1,val,&res);
 if (res==-1)
  printf("Not found");
 else
  printf("Found in position %d",arind[res]);
 return 0;}

int binaryFounder(int ar[],int left,int right,int val,int* res)
 {int kar=(left+right)/2;
 if (*res!=-1)
  return 0;
 if (left>right)
  return 0;
 if (ar[kar]==val)
  *res=kar;
 if (ar[kar]<val)
  binaryFounder(ar,kar+1,right,val,res);
 if (ar[kar]>val)
  binaryFounder(ar,left,kar-1,val,res);}

Пример ввода:
5
1
2
3
4
5
4
Пример вывода:
Found in position 3 //считаем с 0
4,4(78 оценок)
Ответ:
дима2872
дима2872
13.08.2022
Инвариантные фрагменты кода
Оптимизация инвариантных фрагментов кода тесно связана с проблемой оптимального программирования циклов. Внутри цикла могут встречаться выражения, фрагменты которых никак не зависят от управляющей переменной цикла. Их называют инвариантными фрагментами кода. Современные компиляторы часто определяют наличие таких фрагментов и выполняют их автоматическую оптимизацию. Такое возможно не всегда, и иногда производительность программы зависит целиком от того, как запрограммирован цикл. В качестве примера рассмотрим следующий фрагмент программы (язык Turbo Pascal):
for i := 1 to n do
begin
...
for k := 1 to p do
for m := 1 to q do
begin
a[k, m] := Sqrt(x * k * m - i) + Abs(u * i - x * m + k);
b[k, m] := Sin(x * k * i) + Abs(u * i * m + k);
end;
...
am := 0;
bm := 0;
for k := 1 to p do
for m := 1 to q do
begin
am := am + a[k, m] / c[k];
bm := bm + b[k, m] / c[k];
end;
end;
Здесь инвариантными фрагментами кода являются слагаемое Sin(x * k * i) в первом цикле по переменной m и операция деления на элемент массива c[k] во втором цикле по m. Значения синуса и элемента массива не изменяются в цикле по переменной m, следовательно, в первом случае можно вычислить значение синуса и присвоить его вс переменной, которая будет использоваться в выражении, находящемся внутри цикла. Во втором случае можно выполнить деление после завершения цикла по m. Таким образом, можно существенно сократить количество трудоёмких арифметических операций.
[править] Приоритеты оптимизации
4,6(68 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ