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

2.1. Программа должна работать в консольном режиме. Основой программного кода для выполнения данной практической работы является программный код, реализованный в
практической работе №13 «Программирование модуля. Создание библиотеки
подпрограмм». Таким образом, проект для данной практической работы будет включать,
как минимум, 3 файла: главная программ, файл реализации и заголовочный файл
(названия файлов приведены в таблице вариантов)
2.2. Необходимо дополнить алгоритм командами для реализации задач по формированию
динамического списка и для его удаления (очистки). Для этого необходимо:
- Дополнить меню пунктами, соответствующими решению указанных задач
(«создание списка» и «очистка списка») (рис.1).
- Дополнить оператор switch дополнительными предложениями case … с наборами
соответствующих операторов для решения задач «создание списка» и «очистка
списка».
- Алгоритмы задач «создание списка» и «очистка списка» следует оформить в виде
подпрограмм и разместить их в файле реализации, а их прототипы – в заголовочном
файле.
- Действия, необходимые для решения дополнительных задач следует оформить в
виде отдельных подпрограмм
Изменить условие основного цикла главной программы для завершения работы по
выбору пункта «Выход».

1 В п.2.Х и п.3.Х описаны требования и приведены рекомендации на примере структуры,
описывающей объект «книга». При выполнении заданий для описания имен переменных, объекта
и всех действий по его обработке следует руководствоваться предметной областью своего
варианта.
Дисциплина: ОП.04 «Основы алгоритмизации и программирования»
Специальность: 09.02.07 «Информационные системы и программирование»
Квалификация: Специалист по информационным системам
3
Рис.1 Пример главного меню программу с учетом функций работы со списком
2.3. Дополнительные задания на «4»
Изменить программу таким образом, чтобы при выборе пункта «Выход»
осуществлялась проверка: если динамический список создан, то:
 Автоматически очистить список, вывести соответствующее сообщение
пользователю и выйти из программы
ИЛИ
 Не выходить из программы и вывести сообщение пользователю о том, что
выход из программы невозможен до тех пор, пока динамический список
сформирован и его требуется очистить
ИЛИ
 Вывести пользователю сообщение с вариантами: 1) очистить список и выйти из
программы; 2) не очищать список и не выходить из программы. В зависимости
от выбора пользователя, выполнить необходимые действия в программе
2.4. Дополнительные задания на «5» (при условии выполнения п.2.3)
 Вывести на экран элементы динамического списка с указанием их адресов, а
также адресов следующих и предшествующих элементов, например, как
показано на рис.2)
 Добавление нового элемента в список, используя имеющиеся функции ввода
данных, записи данных в файл, очистки списка и построения списка

Показать ответ
Ответ:
spirt708ozrmv0
spirt708ozrmv0
06.02.2021 03:38
Выполняя алгоритм, получаем следующий результат (15 итераций)

1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190  -> 4095
5. 0..4094  -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001

Если лень перебирать вручную, можно воспользоваться программой

var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
  begin
  writeln(k,' ',l,' ',r,' ',x);
  k := k + 1;
  if f < x then r := x - 1
    else l := x + 1;
  x := (l + r) div 2
  end;
writeln(k,' ',l,' ',r,' ',x);
end.
0,0(0 оценок)
Ответ:
Aann1
Aann1
28.09.2020 14:19
Вот задача для "троечников" с дополнительной оценкой:

program pr1;
uses
crt;

const
arr1 : array[1..12] of integer = (5, 4, -3, 1, 0, -4, 0, 25, -8, 0, -17, -1);

type
arr2 = array of integer;

var
arr : arr2;
n : integer;
i, sot, spl, snu : byte;
ch : char;

begin
write('Хотите использовать заданный по умолчанию массив? (y/n): ');
ch := readkey;
writeln(ch);
sot := 0;
spl := 0;
snu := 0;
if ((ch='y') or (ch='Y')) then begin
{ Используем заданный по умолчанию }
for i:=1 to 12 do begin
if arr1[i] > 0 then inc(spl);
if arr1[i] < 0 then inc(sot);
if arr1[i] = 0 then inc(snu);
write(arr1[i], ' ');
end;
writeln;
end
else begin
{ Создаём и заполняем новый массив }
write('Введите желаемый размер массива: ');
readln(n);
setLength(arr, n);
writeln('Введите элементы массива:');
for i:=0 to high(arr) do
readln(arr[i]);
for i:=0 to high(arr) do begin
if arr[i]>0 then inc(spl);
if arr[i]<0 then inc(sot);
if arr[i]=0 then inc(snu);
write(arr[i], ' ');
end;
writeln;
end;

writeln('Количество отрицательных элементов: ', sot);
writeln('Количество нулевых элементов: ', snu);
writeln('Количество положительных элементов: ', spl);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота