Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2020, 15:18   #1
tara-ta-ta
Пользователь
 
Регистрация: 25.10.2019
Сообщений: 36
По умолчанию Тип запись.

Само задание: Программно (на языке Pascal) смоделировать оперативную память в виде записи с именем RAM, которая состоит из следующих полей:
- массив MEMORY из 100 целочисленных элементов, определяющих 100 блоков памяти. Объём каждого блока – случайная величина, значение которой задаётся из диапазона от 64 до 1024 байт.
- массив STATUS из 100 элементов, определяющий для каждого блока занятость (1 – занят, 0 – свободен).
- массив TIME из 100 элементов, в котором хранится время нахождения блока информации в памяти (случайные значения в диапазоне от 1 до 50).
- массив COUNT, определяющий для каждого блока количество обращений к нему (случайные значения в диапазоне от 1 до 10).
Вывести на экран монитора массив оперативной памяти, выделив красным цветом занятые блоки, а зелёным – свободные.

Как сделать все это через record?

Код вроде правильный:

Код:
uses CRT;
var 
memory:array[1..100] of integer;
status:array[1..100] of byte;
time:array[1..100] of byte;
count:array[1..100] of byte;
  i:integer;
  begin
    writeln('==========Массив STATUS==========');
    for i:=1 to 100 do begin
      status[i]:=random(2);
      If status[i]=1 then textcolor(red) else textcolor(green);
      write(status[i]:5);
    end;
    writeln;
    textcolor(white);
    writeln('==========Массив MEMORY==========');
    for i:=1 to 100 do begin
      memory[i]:=64+random(961);
      If not (status[i]=0) then textcolor(red) else textcolor(green);
      write(memory[i]:5);
    end;
    writeln;
    textcolor(white);
    writeln('==========Массив TIME==========');
    for i:=1 to 100 do begin
      time[i]:=random(51);
      If status[i]=1 then textcolor(red) else textcolor(green);
      write(time[i]:5);
    end;
    writeln;
    textcolor(white);
     writeln('==========Массив COUNT==========');
    for i:=1 to 100 do begin
     count[i]:=random(11);
     If status[i]=1 then textcolor(red) else textcolor(green);
      write(count[i]:5);
  end;
  end.
tara-ta-ta вне форума Ответить с цитированием
Старый 01.05.2020, 15:50   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,619
По умолчанию

Код:
type
MemRec = record
   memory: integer;
   status: byte;
   time: byte;
   count: byte;
end;
..................
var  MyMemRec: array [1..100] of MemRec ;
............................
   MyMemRec[i].memory :=....
Как-то так.
digitalis на форуме Ответить с цитированием
Старый 01.05.2020, 16:01   #3
tara-ta-ta
Пользователь
 
Регистрация: 25.10.2019
Сообщений: 36
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Код:
type
MemRec = record
   memory: integer;
   status: byte;
   time: byte;
   count: byte;
end;
..................
var  MyMemRec: array [1..100] of MemRec ;
............................
   MyMemRec[i].memory :=....
Как-то так.
спс

Последний раз редактировалось tara-ta-ta; 01.05.2020 в 16:08. Причина: исправил
tara-ta-ta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана строка, изображающая двоичную1|десятичную2 запись целого числа. Вывести строку, изображающую десятичную1|двоичную2 запись этого же числа Вадим5678 Помощь студентам 5 08.04.2019 17:56
Массивы - Спроектировать и разработать классы Запись в блокноте и Блокнот. Реализовать методы: Добавить запись, Удалить запись, Редактировать запись SashaRozhkov Помощь студентам 0 05.08.2017 19:16
процедура на удаление, удаляет запись из Combobox1, а как сделать что бы еще удалялись запись из полей EDIT? ИвановБ Общие вопросы Delphi 21 22.12.2016 01:28
Тип запись. Объявление типа запись. Маленыч Паскаль, Turbo Pascal, PascalABC.NET 1 11.05.2012 20:42
запись любого целого числа n (n<3999) арабскими цифрами перевести в запись римскими цифрами (на языке C) qazse Помощь студентам 1 24.11.2011 12:05