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

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

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

Чемпионы рейтинга экспертов в этой рассылке

Пупорев Юрий Борисович
Статус: Специалист
Рейтинг: 626
∙ повысить рейтинг >>
_Ayl_
Статус: 7-й класс
Рейтинг: 537
∙ повысить рейтинг >>
Micren
Статус: Практикант
Рейтинг: 296
∙ повысить рейтинг >>

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

Выпуск № 919 от 24.06.2009, 16:35
Администратор рассылки: Калашников О.А., Руководитель
В рассылке: подписчиков - 339, экспертов - 154
В номере: вопросов - 5, ответов - 7

Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
оценить выпуск >>

Вопрос № 169594: Помогите пожалуйста с задачкой!!! Дан текст. Определить, содержит ли он символы, отличные от букв и пробела....


Вопрос № 169596: Здравствуйте дорогие эксперты, вот сидел решал задачу, но она до конца не получается, и преподаватель не принимает ее. Подскажите что не так и как это исправить. За ранее спасибо) А. Создать файл, содержащий сведения о количестве изделий, соб...
Вопрос № 169600: Уважаемые эксперты помогите написать программы: 1) Написать функцию для преобразования строки в число (целое) используя ord. ord - выражает порядковый номер элемента (его цифровой код) 2) написать функцию которая находит число букв "о&...
Вопрос № 169613: Доброго времени суток уважаемые эксперты, помогите пожалуйта решить задачу (см приложение). Если у кого есть возможность - решите пожалуйста, очень нужно в ближайший час решение....
Вопрос № 169607: Уважаемые эксперты, подскажите, как можно в линейном динамическом списке, состоящем из нулей, единиц и двоек, стоящих в различной последовательности, расставить по возрастанию не применяя сортировку? ...

Вопрос № 169594:

Помогите пожалуйста с задачкой!!!
Дан текст. Определить, содержит ли он символы, отличные от букв и пробела.

Отправлен: 19.06.2009, 09:04
Вопрос задал: Savie, Посетитель
Всего ответов: 1
Страница вопроса >>


Отвечает Botsman, Специалист :
Здравствуйте, Savie.
В приложении - код программы, рассчитанной на латинский алфавит.
При необходимости дополните константу possibleSymbols требуемыми символами.
Рад был помочь.

Приложение:

-----
Хочешь победить Excel? Спроси меня как! ;)

Ответ отправил: Botsman, Специалист
Ответ отправлен: 19.06.2009, 11:26

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 251192 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Вопрос № 169596:

    Здравствуйте дорогие эксперты, вот сидел решал задачу, но она до конца не получается, и преподаватель не принимает ее. Подскажите что не так и как это исправить. За ранее спасибо)

    А. Создать файл, содержащий сведения о количестве изделий, собранных сборщиками цеха за неделю. Каждая запись содержит поля: фамилия сборщика, количество изделий, собранных им ежедневно в течение шестидневной недели, т.е. раздельно в понедельник, вторник и т. д. Количество записей — произвольное.

    Б. Написать программу, выводящую в текстовый файл следующую информацию:
    - фамилию сборщика и общее количество деталей, собранное им за неделю;
    - фамилию сборщика, собравшего наибольшее число изделий, и день, когда он достиг наивысшей производительности труда

    Отправлен: 19.06.2009, 15:45
    Вопрос задал: Иванов Виктор Олегович, Посетитель
    Всего ответов: 1
    Страница вопроса >>


    Отвечает _Ayl_, 7-й класс :
    Здравствуйте, Иванов Виктор Олегович.

    Ну, в вашей программе первые 2 задания сделаны, проблема в третьем.
    Собственно, у вас ошибка при поиске лучшего сборщика. Вы выводите первого попавшегося вместо того, чтобы организовать сначала поиск, а потом уже выбор найденного.
    Во-вторых, для него вам нужно вывести не общее число собранных деталей за неделю, а день, в который он изготовил наибольшее число деталей. То есть требуется еще один поиск уже внутри записи.
    В-третьих, вы внесли оператор закрытия файла внутрь цикла, что приводит к ошибке попытки записи в закрытый файл.

    Еще пара штрихов.
    Зачем указан полный путь к выходному файлу? Просто имени файла не достаточно? Он тогда будет создан в текущей директории.
    Зачем вы используете одновременно операторы reset (f) и append (f)? Append'а вполне достаточно.
    Неудачно выбрана структура для описания сборщика. Из-за этого пришлось расписывать поиск лучшего дня на отдельные сравнения, хотя можно испол ьзовать цикл.
    Лучшей выбор - это массив из 6-ти или 7-ми элементов для описание недельной производительности.
    Тогда, если еще ввести массив названий дней недели, то можно упростить и ввод данных.
    Также у меня подозрение, что в части А предполагается формирование типизированного файла, а не текстового.

    В приложении ваш поправленный код.

    Приложение:

    Ответ отправил: _Ayl_, 7-й класс
    Ответ отправлен: 19.06.2009, 17:02

    Оценка ответа: 5
    Комментарий к оценке:
    Огромное спасибо :)

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 251209 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Вопрос № 169600:

    Уважаемые эксперты помогите написать программы:
    1) Написать функцию для преобразования строки в число (целое) используя ord.
    ord - выражает порядковый номер элемента (его цифровой код)
    2) написать функцию которая находит число букв "о" в предложении.
    3)Составить процедуру для вывода двумерного масива на экран и генерация массива вида:
    4321
    3000
    2200
    1110

    4)Дана строка S перевернуть все слова в ней, при этом последовательность этих слов не должна изменьяться

    Отправлен: 19.06.2009, 11:04
    Вопрос задал: Sirbesh, Посетитель
    Всего ответов: 2
    Страница вопроса >>


    Отвечает Пупорев Юрий Борисович, Специалист :
    Здравствуйте, Sirbes!
    Решение задач 1 и 2 в приложении.

    Приложение:

    Ответ отправил: Пупорев Юрий Борисович, Специалист
    Ответ отправлен: 19.06.2009, 12:31

    Оценка ответа: 5
    Комментарий к оценке:
    Большое спасибо

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 251195 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает Sky-er, 3-й класс :
    Здравствуйте, Sirbesh.
    Сделал процедуру для 4 задания
    Исправлено по просьбе автора ответа.
    -----
    ∙ Отредактировал: Зенченко Константин Николаевич, Модератор
    ∙ Дата редактирования: 19.06.2009, 23:57 (время московское)

    Приложение:

    Ответ отправил: Sky-er, 3-й класс
    Ответ отправлен: 19.06.2009, 12:37

    Оценка ответа: 5
    Комментарий к оценке:
    Спасибо!

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 251197 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Вопрос № 169613:

    Доброго времени суток уважаемые эксперты, помогите пожалуйта решить задачу (см приложение). Если у кого есть возможность - решите пожалуйста, очень нужно в ближайший час решение.

    Отправлен: 19.06.2009, 14:43
    Вопрос задал: DancaN, Посетитель
    Всего ответов: 1
    Страница вопроса >>


    Отвечает Пупорев Юрий Борисович, Специалист :
    Здравствуйте, DancaN!
    Решение задачи в приложении.

    Приложение:

    Ответ отправил: Пупорев Юрий Борисович, Специалист
    Ответ отправлен: 19.06.2009, 16:35

    Оценка ответа: 5
    Комментарий к оценке:
    Огромное спасибо!!!

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 251207 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Вопрос № 169607:

    Уважаемые эксперты, подскажите, как можно в линейном динамическом списке, состоящем из нулей, единиц и двоек, стоящих в различной последовательности, расставить по возрастанию не применяя сортировку?

    Отправлен: 19.06.2009, 12:25
    Вопрос задал: Egbert26, Посетитель
    Всего ответов: 2
    Страница вопроса >>


    Отвечает _Ayl_, 7-й класс :
    Здравствуйте, Egbert26.

    Все правильно пишешь.
    Нужно сосчитать количество 0, 1 и 2.
    После этого идешь по своему списку и изменяешь значения соответствующим образом.
    В приложении - код для решения задания.

    Приложение:

    Ответ отправил: _Ayl_, 7-й класс
    Ответ отправлен: 19.06.2009, 13:27

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 251201 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает Micren, Практикант :
    Здравствуйте, Egbert26.
    Код:

    program FigovuyList;

    { Максимальное значение для данных }
    const MaxData=2;

    type
    { Диапазон данных }
    TData=0..MaxData;

    { Узел списка }
    PNode=^TNode;
    TNode=object
    private
    data:TData;
    next:PNode;
    end;

    { Итератор для списка }
    TIterator=object
    private
    current:PNode;
    { Конструктор }
    constructor Init(node:PNode);
    public
    { Если достигнут конец списка то true }
    function IsEndList: Boolean;
    { Возвращает значение }
    function GetValue: TData;
    { Устанавливает новое значение }
    procedure SetValue(value: TData);
    { На следующий узел }
    procedure GoNext;
    end;

    { Список }
    TList=object
    priva te
    head:PNode;
    public
    { Конструктор }
    constructor Init;
    { Деструктор }
    destructor Done; virtual;
    { Добавляет данные к списку }
    procedure Add(value: TData);
    { Итератор на начало списка }
    procedure GetBeginIterator(var iterator: TIterator);
    end;

    procedure TList.Add(value: TData);
    var
    node:PNode;
    begin
    new(node);
    node^.data:=value;
    node^.next:=head;
    head:=node;
    end;

    procedure TList.GetBeginIterator(var iterator: TIterator);
    begin
    iterator.Init(head);
    end;

    destructor TList.Done;
    var
    node:PNode;
    begin
    while head<>nil do begin
    node:=head;
    head:=head^.next;
    dispose(node);
    end;
    end;

    constructor TList.Init;
    begin
    head:=nil;
    end;

    function TIterator.GetValue: TData;
    begin
    GetValue:=current^.data;
    end;

    procedure TIterator.GoNext;
    begin
    current:=current^.next;
    end;

    constructor T Iterator.Init(node:PNode);
    begin
    current:=node;
    end;

    function TIterator.IsEndList: Boolean;
    begin
    IsEndList:=current=nil;
    end;

    procedure TIterator.SetValue(value: TData);
    begin
    current^.data:=value;
    end;

    { Выводит список на экран }
    procedure PrintList(msg:String;list:TList);
    var
    it:TIterator;
    begin
    WriteLn(msg);
    list.GetBeginIterator(it);
    while not it.IsEndList do begin
    Write(it.GetValue,' ');
    it.GoNext;
    end;
    WriteLn;
    end;

    { Сортирует согдасно условия }
    procedure Solve(list:TList);
    type
    TCountersArray=array[0..MaxData] of Integer;
    var
    counters:TCountersArray;
    it:TIterator;
    i:TData;
    begin
    for i := 0 to MaxData do begin
    counters[i]:=0;
    end;
    list.GetBeginIterator(it);
    while not it.IsEndList do begin
    Inc(counters[it.GetValue]);
    it.GoNext;
    end;
    list.GetBeginIterator(it);
    for i := 0 to MaxData do begi n
    while counters[i]>0 do begin
    it.SetValue(i);
    Dec(counters[i]);
    it.GoNext;
    end;
    end;
    end;

    const
    itemsNumber=20;

    var
    list:TList;
    i:Integer;

    begin
    list.Init;
    Randomize;
    for i := 1 to itemsNumber do begin
    list.Add(Random(MaxData+1));
    end;
    PrintList('List:',list);
    Solve(list);
    PrintList('Sorted List:',list);
    list.Done;
    ReadLn;
    end.


    Пример работы программы:
    Код:

    List:
    2 1 0 1 2 1 2 0 2 1 1 2 0 1 0 2 0 0 2 1
    Sorted List:
    0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 2

    Ответ отправил: Micren, Практикант
    Ответ отправлен: 19.06.2009, 14:30

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 251203 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
    оценить выпуск >>

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

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.3 от 20.06.2009

    В избранное