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

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


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

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

Выпуск № 381
от 27.05.2007, 01:05

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


Вопрос № 87955: Помогите написать программу,которая строит график ф-ции y=-2,7*x*x*x+0,23*x*x-1,4 при помощи линий.Максимальное и минимальное значение аргумента вводится самостоятельно.Шаг вычислений - одна двадцатая диапазона....
Вопрос № 87984: Уважаемые эксперты. Вот программа: (условие задачи - максимальное по модулю отриц. число заминить нулем) program lab_3_1; label 1; const n=20; var a:array [1..n] of real; max:integer; i:byte; BEGIN max:=1; ...

Вопрос № 87.955
Помогите написать программу,которая строит график ф-ции y=-2,7*x*x*x+0,23*x*x-1,4 при помощи линий.Максимальное и минимальное значение аргумента вводится самостоятельно.Шаг вычислений - одна двадцатая диапазона.
Отправлен: 21.05.2007, 20:09
Вопрос задал: Безпалов Владимир Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss

Здравствуйте, Безпалов Владимир Александрович!

См. пример в приложении.
Из данного примера можно любую функцию сделать, нужно только вставить ее в функцию funcY(X).

Удачи!

Приложение:

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
WWW: Хлама много, по сути ничего...
----
Ответ отправлен: 21.05.2007, 21:52

Отвечает: Const
Здравствуйте, Безпалов Владимир Александрович!

Модуль в приложении должен помочь Вам построить график функции.
Думаю, что для Вас не составит проблем подкорректировать этот код под свои нужды.

Приложение:

Ответ отправил: Const (статус: 1-ый класс)
Ответ отправлен: 21.05.2007, 21:59


Вопрос № 87.984
Уважаемые эксперты. Вот программа:
(условие задачи - максимальное по модулю отриц. число заминить нулем)
program lab_3_1;
label 1;
const n=20;
var a:array [1..n] of real;
max:integer;
i:byte;
BEGIN
max:=1;
Writeln ('VVEDITE MASSIV');
for i:=1 to n do
Readln (a[i]);
for i:=1 to n do
if a[i]<0 then max:=i;
for i:=1 to n do
if (abs(a[max])<abs(a[i])) and (a[i]<0) then max:=i;
Writeln ('max otrichatelnoe chislo= ',a[max]:3:2);
a[max]:=0;
for i:=1 to n do
Write (' ',a[i]:3:1);
Writeln;
END.

если в массив ввести все положительные числа, то алгоритм заменяет первое число в массиве на 0 (этого бы как раз и не нужно). Как сделать так чтоб при обнаружении в массиве только положительных чисел программа выдавала например "НЕТ ОТРИЦАТЕЛЬНЫХ ЧИСЕЛ. НЕСООТВЕТСВИЕ УСЛОВИЮ ЗАДАЧИ".
Отправлен: 22.05.2007, 00:10
Вопрос задал: DancaN (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Gh0stik
Здравствуйте, DancaN!

Ищите изменения в выделенных строках.

program lab_3_1;
const n=20;
var a:array [1..n] of real;
max:integer;
i:byte;
BEGIN
max:=0;
Writeln ('VVEDITE MASSIV');
for i:=1 to n do
Readln (a[i]);
for i:=1 to n do if a[i]<0 then max:=i;
if max < > 0 then
begin

for i:=1 to n do
if (abs(a[max]) < abs(a[i])) and (a[i] < 0) then max:=i;
Writeln ('max otrichatelnoe chislo= ',a[max]:3:2);
a[max]:=0;
for i:=1 to n do
Write (' ',a[i]:3:1);
Writeln;
end
else
writeln('net otricatelnich!!!');

END.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 22.05.2007, 00:21
Оценка за ответ: 5
Комментарий оценки:
Все четко и понятно!. Спасибо!

Отвечает: Загиров Рустам
Здравствуйте, DancaN!
Чтобы не бегать 2 раза по массиву, можно прямо при вводе массива проверять на отрицательность элемента. Можно также опускать функции Abs, заменив знак на противоположный.

Приложение:

---------
Этот мир обречён на нас
©Сергей Маврин

Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 22.05.2007, 00:48

Отвечает: Denisss

Здравствуйте, DancaN!

См. исправленный пример в приложении.

Убрал функцию получения модуля abs.
Т.к. нам известно, что число отрицательное, то, чтобы найти наибольшее по модулю, нужно всего лишь сравнить два отрицательных числа. Если одно число меньше другого, значит по модулю оно будет больше.

Пример:
-5 < -2 --- значит -5 по модулю больше, чем -2

В конце добавил код проверки элемента a[max] на отрицательность.
Если a[max] не отрицательно, значит это первый элемент массива. Значит в массиве нет отрицательных чисел.

Удачи!

Приложение:

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
WWW: Хлама много, по сути ничего...
----
Ответ отправлен: 22.05.2007, 00:55

Отвечает: Анна Игоревна
Здравствуйте, DancaN!
вот я думаю, что это будет выглядеть следующим образоом
(немного переделала твою задачу, так мне кажется будет порациональнее ...)

Приложение:

Ответ отправила: Анна Игоревна (статус: 1-ый класс)
Ответ отправлен: 22.05.2007, 15:16


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное