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

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


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

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

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

Botsman
Статус: Студент
Рейтинг: 222
∙ повысить рейтинг >>
Micren
Статус: Практикант
Рейтинг: 71
∙ повысить рейтинг >>
Тимошенко Дмитрий
Статус: 7-й класс
Рейтинг: 49
∙ повысить рейтинг >>

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

Выпуск № 865
от 28.04.2009, 02:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 253, Экспертов: 44
В номере:Вопросов: 5, Ответов: 7

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

Вопрос № 165571: Здравствуйте уважаемые эксперты. Имеется следующая функция в программе (код приведен в приложении), вычисляющая произведение суммы двух длинных чисел, представленных в виде строк. Проблема в том, что чем числа больше, тем функция медленнее работает. ...


Вопрос № 165582: Зравствуйте уважаемые эксперты! Очень нужна ваша помощь.Необходимо разобраться в небольшой программе, а именно дописать коментарии. Задача принадлежит к классу комбинаторики. Вот задание "Задача о трех станках. Даны N деталей, каждая из котор...
Вопрос № 165595: Помогите решить задачу!!Вычислить сумму кодов всех символов, которые в цикле вводятся с клавиатуры до нажатия на клавишу ESC!блок схему тоже не могу сделать! <img src="http://rusfaq.ru/images/Forum/7.gif" border="0"> ...
Вопрос № 165604: Многоуважаемые эксперты пожа луйсто помогите кто чем может!!!!! Заранее спасибо!!!!! 1.В массиве А(12, 15) найти произведение столбцов: второго на десятый, третьего на девятый. Вычисление произведения двух столбцов матрицы оформить в виде функции.<...
Вопрос № 165632: Здраствуйте эксперты!! Нужна срочно помошь!!! Нужно решить задачу с помощью рекурсии и без помощи рекурсии. Просто я не пойму что должно выйти на экран и как это должно работать. А рекурсия какая-то не понятная тема. Найти сумму и произведе...

Вопрос № 165.571
Здравствуйте уважаемые эксперты. Имеется следующая функция в программе (код приведен в приложении), вычисляющая произведение суммы двух длинных чисел, представленных в виде строк. Проблема в том, что чем числа больше, тем функция медленнее работает. Может быть можно как-то ее оптимизировать?

Небольшое уточнение: программа пишется для вычисления наименьшего общего кратного двух длинных чисел (более 25 знаков) и сделать ее нужно именно с использованием строк. Вариант с массивом не подходит. Заранее благодарю за содействие.

Приложение:

Отправлен: 22.04.2009, 13:04
Вопрос задал: Quikk (статус: 5-й класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Тимошенко Дмитрий
Здравствуйте, Quikk!

Я тут набросал процедуру умножения через умножение. (приложение)
Работает существенно быстрее :)
Только в программе надо добавить определение константы nul='0000 ... 0000'; (строка в 254 нуля, или меньше если числа будут короче.
А ваш код оптимизировать уже некуда. Могу только предложить изменить процедуру addzero на вот такую:

procedure addzero(var x:string; var y: string);
begin
y:=copy(nul,1,length(x)-length(y))+y;
x:=copy(nul,1,length(y)-length(x))+x;
end;

Опять же использует определение константы nul. А лучше эти строки вставить в код вместо вызова процедуры, хотя бы в функции summa, т.к. вызов процедуры - весч довольно накладная в смысле процессорного времени. Так должно быть побыстрее, хотя наверное и не на много.

С уважением, Дмитрий

Приложение:

Ответ отправил: Тимошенко Дмитрий (статус: 7-й класс)
Ответ отправлен: 22.04.2009, 23:05

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

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


    Вопрос № 165.582
    Зравствуйте уважаемые эксперты! Очень нужна ваша помощь.Необходимо разобраться в небольшой программе, а именно дописать коментарии. Задача принадлежит к классу комбинаторики.
    Вот задание "Задача о трех станках. Даны N деталей, каждая из которых должна быть обработана на станке A, затем на станке B, затем на станке C. Каждый станок может в данный момент времени обрабатывать только одну деталь. Если нужный станок занят, то другие детали могут ожидать его освобождения. Для каждой детали известны длительности ее обработки на каждом станке: TAi, TBi, TCi. Требуется найти такой порядок запуска деталей на обработку (т.е. найти такую перестановку номеров деталей), при котором длительность обработки всего комплекта деталей минимальна."
    В ниже приведенной программе задача рашается двумя алгоритмами 1)метод перебора-соответсвенно в программе она называется процедурой "perebor" 2) методом последовательного выбора(эвристический алгоритм) в программе называется пр оцедурой "evristika"
    Очень прошу вашей помощи. Особенно нужны коментарии в начале где основные переменные описаны и в процедурах "calc" и "evristika"
    по этой ссылке http://slil.ru/27474819 я залил текстовый файл in.txt нужный для программы - в нем записана сама матрица. В этой матрице 1000 строк -соответсвенно 1000 деталей, и 3 столбца соответсвенно для 1-го для 2-го и для 3-го станка. На пересечение строки и столбца стоит время обработки детали на данном станке.

    Приложение:

    Отправлен: 22.04.2009, 14:43
    Вопрос задал: Иванов Руслан Иванович (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Тимошенко Дмитрий
    Здравствуйте, Иванов Руслан Иванович!

    Добавил комментарии. Надеюсь понятные.

    Одно замечание - ваша программа не правильно выводит время работы процедур в файл в первом цикле обработок.
    Правильно будет эту строку
    write(fout,'N: ',N:2,'.Time: ',(GetSeconds-Time):5:2,'cek. MINIMUM: ',min1:3,' KoJI-BO ',fact(N):7);
    перенести на 3 строки выше перед Time:=Getseconds;

    С уважением, Дмитрий

    Приложение:

    Ответ отправил: Тимошенко Дмитрий (статус: 7-й класс)
    Ответ отправлен: 22.04.2009, 21:52

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

    Оценка за ответ: 5
    Комментарий оценки:
    Огромное спасибо Тимошенко Дмитрий !!! Вы отлично разъяснили программу, Очень благодарен за то что откликнулись и помогли :)


    Вопрос № 165.595
    Помогите решить задачу!!Вычислить сумму кодов всех символов, которые в цикле вводятся с клавиатуры до нажатия на клавишу ESC!блок схему тоже не могу сделать!
    Отправлен: 22.04.2009, 17:11
    Вопрос задал: Dimasic59 (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Botsman
    Здравствуйте, Dimasic59!
    Помогаю.
    Код программы - в приложении, комментарии - внутри.
    Уверен, на основе данного кода вы без труда нарисуете блок-схему.
    Рад был помочь!

    Приложение:

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

    Ответ отправил: Botsman (статус: Студент)
    Ответ отправлен: 22.04.2009, 18:14

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


    Вопрос № 165.604
    Многоуважаемые эксперты пожалуйсто помогите кто чем может!!!!! Заранее спасибо!!!!!
    1.В массиве А(12, 15) найти произведение столбцов: второго на десятый, третьего на девятый. Вычисление произведения двух столбцов матрицы оформить в виде функции.
    2.Напишите программу поиска большего из четырех чисел с использованием подпрограммы
    поиска большего из двух чисел.
    3.Составьте программу вывода на экран всех натуральных чисел, не превосходящих N и делящихся на каждую из своих цифр.
    4.Оформить процедурой преобразование натурального многоразрядного числа так, чтобы его
    цифры располагались в убывающем порядке.
    Отправлен: 22.04.2009, 19:07
    Вопрос задал: Sancheznew1 (статус: Посетитель)
    Всего ответов: 3
    Мини-форум вопроса >>> (сообщений: 1)

    Отвечает: Proce
    Здравствуйте, Sancheznew1!
    Вот решение первой задачи.

    Приложение:

    Ответ отправил: Proce (статус: 4-й класс)
    Ответ отправлен: 22.04.2009, 22:44

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

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


    Отвечает: Тимошенко Дмитрий
    Здравствуйте, Sancheznew1!

    Вот остальные три задания.
    Комментарии в тексте.

    С уважением, Дмитрий

    Приложение:

    Ответ отправил: Тимошенко Дмитрий (статус: 7-й класс)
    Ответ отправлен: 23.04.2009, 10:11

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


    Отвечает: Botsman
    Здравствуйте, Sancheznew1!
    Еще один - более математический - вариант решения третьей задачи.
    Код и комментарии - в приложении.

    Приложение:

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

    Ответ отправил: Botsman (статус: Студент)
    Ответ отправлен: 23.04.2009, 11:48

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


    Вопрос № 165.632
    Здраствуйте эксперты!! Нужна срочно помошь!!! Нужно решить задачу с помощью рекурсии и без помощи рекурсии.
    Просто я не пойму что должно выйти на экран и как это должно работать. А рекурсия какая-то не понятная тема.

    Найти сумму и произведение значений функции f(х) на интервале [-1;1] с шагом 0.1.


    {cosx+ln|x|, x<-0,5 }
    f(x)={f(x-0,2)+1, -0,5<=x<=0}
    {ln|f(x-0,1)|,x>0. }
    Отправлен: 22.04.2009, 23:24
    Вопрос задал: Infant1212 (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 2)

    Отвечает: Proce
    Здравствуйте, Infant1212!
    Вот рекурсивный способ решения.

    Приложение:

    Ответ отправил: Proce (статус: 4-й класс)
    Ответ отправлен: 23.04.2009, 06:11

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


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

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

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

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

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

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


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

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

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

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

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

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


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное