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

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


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 289
от 14.01.2007, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 232, Экспертов: 48
В номере:Вопросов: 2, Ответов: 3


Вопрос № 70021: Плз помогите мне ещё раз!Мне надо решить до 21 00 ещё 3 программы!Заранее спс! 1)Работа со списками: Вставить элемент e1 в односвязную очередь q, за каждым вхождением элемента e2 С весом w. 2)Построить график функции y=sin(10/x), Xmin...
Вопрос № 70070: Dobriy den. Podskachite pojalusta, kak mojno sozdat programmu kotoraya opredelayet den. to est 2007 god 10 yanvar - sreda. 2007 god 12 yanvar - pyatnica. Podskajite pojalusta xotya bi algoritm etogo programmi....

Вопрос № 70.021
Плз помогите мне ещё раз!Мне надо решить до 21 00 ещё 3 программы!Заранее спс!
1)Работа со списками:
Вставить элемент e1 в односвязную очередь q, за каждым вхождением элемента e2
С весом w.
2)Построить график функции y=sin(10/x), Xmin=-5 Xmax=5;
Координаты графического окна(где будет размещён график): x1=0 y1=0 x2=400 y2=300!
3)По заданным значениям координат центра окружностей, радиуса R самой внутренней окружности и числа окружностей N нарисовать концентрические окружности и закрасить образуемые ими кольца разными цветами.
Отправлен: 08.01.2007, 18:23
Вопрос задал: SHTEP (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ivanich
Здравствуйте, SHTEP!
На счет графика. Проверь почту!
Фича с окружностями см. приложение

Приложение:

Ответ отправил: Ivanich (статус: 3-ий класс)
Ответ отправлен: 08.01.2007, 18:41

Отвечает: Форсман Павел Вячеславович
Здравствуйте, SHTEP!
Надеюсь, что с окружностью и графиком Вам уже помогли.
Попробую помочь со списком.
Давайте сразу определимся, что нам нужно в данном случае, а именно - значение элемента e1, т. о. задача сведется к обычной процедуре вставки элемента в список, в противном случае, мы не сможем корректно построить ссылки, т. к. никтьо не гарантировал, что элемент с весом w будет единственным.
Итак, вот что получается (если я не совсем правильно понял задание - уточните, что-нибудь придумаем).

Program ListInsert; {Вставка элемента в список}
type
PList=^List; {Описание списка}
List=record
Weight:Word; {Вес}
Next:PList;{Ссылка на следующий элемент nil-элемента не будет}
end;
var
Head,E1:PList; {Голова списка, с которым будем работать}
T:Word;
Procedure AppendList(var Head:PList;T:Word); {Добавление элемента в список}
var
C:PList;
begin
if Head<>nil then {Если список непустой - ищем последний элемент}
begin
C:=Head;
while C^.Next<>nil do C:=C^.Next; {Навигация по списку}
New(C^.Next); {Создание нового элемента}
with C^.Next^ do {и работа с ним через with для сокращения записи}
begin
Weight:=T;
Next:=nil;
end;
end
else
begin {Пустой список? - инициализируем}
New(Head);
Head^.Next:=nil;
Head^.Weight:=T;
end;
end;
Procedure OutList(L:PList); {Вывод списка L не передаем параметр с var,}
{т. к. менять ничего не требуется, в любом случае будет выделено
4 байта а переменная на навигацию по списку (текущий элемент) не потребуется}
begin
while L<>nil do
begin
write(L^.Weight,#32);
L:=L^.Next;
end;
writeln;
end;
Procedure InsertElem(var Dest,Match:PList;w:Word); {Вставка элементов}
var
C,T:PList;
begin
if Head<>nil then {Оперировать с пустым списком нет смысла выход из процедуры}
begin
C:=Head;
while C<>nil do {Навигация по списку}
begin
if C^.Weight=w then {Нашли искомый}
begin
New(T); {Генерируем новый элемент}
T^.Next:=C^.Next; {Исправляем ссылки и вставляем его с список}
C^.Next:=T;
T^.Weight:=Match^.Weight;
C:=T^.Next;
end
else
C:=C^.Next; {Иначе просто переходим к следующему}
end;
end;
end;
Procedure DestroyList(var Head:PList); {После работы список необходимо}
var {разрушить}
C:PList;
begin
while Head<>nil do
begin
C:=Head;
Head:=Head^.Next;
Dispose(C);
end;
end;
begin {Использование процедур}
Head:=nil;
repeat
write('Введите значение текущего элемента (65535 для завершения):');
readln(T);
if T<>65535 then AppendList(Head,T);
until T=65535;
write('Введите значение e1:'); {Ввод значения для вставки}
New(E1); {можно просто переменную Word, но, следуя условию задачи формируем}
E1^.Next:=nil; {элемент E1 как элемент списка}
readln(E1^.Weight);
writeln('Исходный список:');
OutList(Head);
write('Введите вес. W=');
readln(T);
InsertElem(Head,E1,T);
writeln('Результат:');
OutList(Head);
DestroyList(Head);
readln;
end.

Если что - спрашивайте.
С наилучшими пожеланиями Павел Форсман.
---------
Научить нельзя, но можно попробовать научиться!!!
Ответ отправил: Форсман Павел Вячеславович (статус: 2-ой класс)
Ответ отправлен: 09.01.2007, 03:26
Оценка за ответ: 5


Вопрос № 70.070
Dobriy den. Podskachite pojalusta, kak mojno sozdat programmu kotoraya opredelayet den. to est 2007 god 10 yanvar - sreda. 2007 god 12 yanvar - pyatnica.
Podskajite pojalusta xotya bi algoritm etogo programmi.
Отправлен: 08.01.2007, 23:39
Вопрос задал: Muhammedov Abdurohman (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Coupler
Здравствуйте, Muhammedov Abdurohman!
Решение задачи в приложении. Вначале дата проверяется на корректность, а потом используется универсальная формула для определения дня недели.

Приложение:

Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 09.01.2007, 13:46


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное