Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на языке Pascal


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 8742
∙ повысить рейтинг »
Орловский Дмитрий
Статус: Советник
Рейтинг: 6590
∙ повысить рейтинг »
lamed
Статус: Академик
Рейтинг: 5543
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Pascal (Паскаль)

Номер выпуска:1210
Дата выхода:19.11.2011, 23:30
Администратор рассылки:Boriss (Академик)
Подписчиков / экспертов:161 / 172
Вопросов / ответов:1 / 2

Консультация # 184453: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Задание на списки(задание скопированы с методички),среда pascal abc ТЕМА 1 ЛИНЕЙНЫЕ ОДНОСВЯЗНЫЕ СПИСКИ Разработать и реализовать программу создания и обработки линейного односвязного списка с одним информационным полем, которое содержит целое число. При реализаци...


Консультация # 184453:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:
Задание на списки(задание скопированы с методички),среда pascal abc
ТЕМА 1 ЛИНЕЙНЫЕ ОДНОСВЯЗНЫЕ СПИСКИ
Разработать и реализовать программу создания и обработки линейного односвязного списка с одним информационным полем, которое содержит целое число.
При реализации на языке Паскаль программа должна иметь модульную структуру [ 5 ].
Программа должна содержать меню с перечнем возможностей работы со списком и оператор выбора соответствующего пункта меню с обращением к подпрограмме ( процедуре или функции ), реализующей выбранное действие над списком.
Модуль ( unit ) должен содержать описание соответствующих типов и подпрограмм работы со списками:
а) создание списка добавлением нового элемента в начало списка (данные вводятся с клавиатуры или из текстового файла);
б) создание списка добавлением нового элемента в конец списка (данные вводятся с клавиатуры или из текстового файла) ;
в) просмотр списка (проход по списку с выдачей на экран значений ин-формационных полей списка );
г) уничтожение списка ( проход по списку с удалением элемента списка );
д) вставка одного или нескольких элементов в список ( Задание 1 );
е) удаление из списка одного или нескольких элементов ( Задание 2 );
ж) рекурсивная обработка элементов списка ( Задание 3 );
з) рекурсивный вариант вставки элементов в список ( Задание 4 );
и) рекурсивный вариант удаления из списка элементов ( Задание 5 ).
Задание 1
Описать подпрограмму вставки одного или нескольких элементов в спи-сок. Подпрограмма должна обеспечивать возможность после её вызова выдавать сообщение в случае невозможности вставки с указанием причины
1)(само условие задание №1) Вставить новый элемент после каждого нулевого элемента
Задание 2
Описать подпрограмму удаления одного или нескольких элементов спи-ска. Подпрограмма должна обеспечивать возможность после её вызова выдавать сообщен ие в случае невозможности удаления с указанием причины
2)Удалить из списка первый нёчетный элемент

Дата отправки: 14.11.2011, 23:15
Вопрос задал: angel.nero (Посетитель)
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Юдин Евгений Сергеевич (8-й класс):

Здравствуйте, angel.nero!
не берусь за полное выполнение вашего вопроса, ибо задано слишком много вопросов(и помоему не до конца)

Характеристика СД типа «линейный список»

1. Абстрактный уровень представления СД:
1.1 Конечная последовательность однотипных элементов (узлов). Количество элементов в последовательности называется длиной списка, причем длина в процессе работы программы может изменяться, поэтому ЛС – динамическая структура.
1.2 Набор допустимых операций:
1. Инициализация.
2. Включение элемента.
3. Исключение элемента.
4. Чтение текущего элемента.
5. Переход в начало списка.
6. Переход в конец списка.
7. Переход к следующему элементу.
8. Переход к i-му элементу.
9. Определение длины списка.
10. Уничтожение списка.
2. Физический уровень представления СД:
2.1 Последовательная или связная схема хранения.
2.2 Размер памяти зависит, прежде всего, от реализации линейного списка.
2.4 CAR(ЛС)= CAR(Base Type)0 +CAR(BaseType)1+… +CAR(BaseType)max
2.5 Тип доступа к элементам в зависимости от реализации.


модуль для работы с линейными списками в приложении...


Желаю удачного понимания! Спрашивайте что непонятно

Приложение:

Консультировал: Юдин Евгений Сергеевич (8-й класс)
Дата отправки: 15.11.2011, 14:51
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Калиниченко Максим (1-й класс):

Здравствуйте, angel.nero!
Я только что приехал домой, времени на обдумывание ответа мало, но в общих чертах напишу алгоритмы добавления и удаления ячеек в список, если захотите более точный ответ то пишите в личку!

Описание списка:

Type powl:^owl;
info: integer;
owl=record
inf: integer;
next: powl;
end;

Создание первой ячейки:

procedure NewHead (var Head: powl; x:info);
var p:powl;

begin
new(p);
p^.info:=x;
p^.next:=head;
head:=p;
end;

Добавление ячейки в конец списка:

procedure NewCell (var Head: powl; x:info);
var c, p:powl;

begin

if head=nil then begin
new(head);
head^.inf:=x;
head^.next:=nil;
end

else begin
c:=head;
while c^.next<>nil do
c:=c^.next;
new(p);
c^.next:=p;
p^.inf:=x;
p^.next:=nil;
end;

end;

А теперь полное уничтожение списка:

procedure disposeowl (var head:powl);
var p:powl;

begin

while head<>nil do begin
p:=head;
head:=p^.next;
dispose(p);
end;

end;

В общем всё! В заключение скажу что любая процедура без описания типа не будет работать, поэтому сначала прописываете тип, а потом процедуры и кстати функция dispose(n) это удаление ячейки n, а n:=nil; это её обнуление(nil это ноль). Если что-нибудь не понятно пишите, буду рад помочь!

Консультировал: Калиниченко Максим (1-й класс)
Дата отправки: 19.11.2011, 22:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное