Для тех ,кто решил зарегистрироваться на форуме «Беседка» !
Категорически запрещена регистрация  с одноразового и временного e-mail !Такие пользователи будут отправляться в бан без объяснения причин.
После регистрации необходимо активировать свою учетную запись .Если Вы в почте не обнаружили письмо с активацией рекомендуется проверить папку «Спам».
С уважением
 Администрация форума

Автор Тема: Язык Pascal в среде Delphi  (Прочитано 42281 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #60 : 13 Января 2013, 18:54 »
В том то и дело,что по заданию требуется использование оператор-case,вот,если для Х задать значение массив-от минус бесконечности до плюс бесконечности,но как?Поскольку в первом варианте Х<=-1,во втором случае- -1<X<2,в третьем случае- Х>=2.Или надо будет читать,пока слабо это все представляю.

Оффлайн lexus

  • *
  • Сообщений: 1527
  • Пол: Мужской
  • Статус : ути-пути

Re: Язык Pascal в среде Delphi 7
« Ответ #61 : 13 Января 2013, 18:57 »
Olga, а можно ещё раз точную формулировку задания вместе со всеми исходными параметрами?

Оффлайн lexus

  • *
  • Сообщений: 1527
  • Пол: Мужской
  • Статус : ути-пути

Re: Язык Pascal в среде Delphi 7
« Ответ #62 : 13 Января 2013, 19:02 »
Сорри, выше всё нашёл.

Оффлайн lexus

  • *
  • Сообщений: 1527
  • Пол: Мужской
  • Статус : ути-пути

Re: Язык Pascal в среде Delphi 7
« Ответ #63 : 13 Января 2013, 19:19 »
Что-то я совсем не понимаю, как имелось в виду использование case, если во-первых в задании даже не оговорён тип вводимых данных (целые они будут или вещественные, аль ещё какие?), а во-вторых границы интервалов бесконечны. Ну не знаю, видать составителям лабы и спецам по делфям виднее.  :D

ЗЫ. Может и правда в 7-ой версии так можно? Не знаю, с ней не работал.

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #64 : 13 Января 2013, 19:31 »
Там есть ещё понятие типизированных констант.
Первый раз слышу, но допускаю что есть. Я не один язык программирования системно не знаю - отсюда и пробелы в знании возможностей.

Что-то я совсем не понимаю, как имелось в виду использование case
Вот и я не понял, какая выгода в данной задаче от использования оператора case.
Я сделал на if - сказали не правильно, нужно именно на case.

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #65 : 13 Января 2013, 19:35 »
Olga, я Делфи поставил. Прикрепите к посту получившийся у вас проект - посмотрю.

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #66 : 13 Января 2013, 19:48 »
вот эта лаба.Может case не работает с Real?Только с константами?

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #67 : 13 Января 2013, 20:27 »
Цитата
Может case не работает с Real
case не работает с выражениями, а у вас в качестве условия записано выражение.
case x of x<=-1:

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #68 : 13 Января 2013, 20:27 »
Сейчас пороюсь в интернете...

Оффлайн lexus

  • *
  • Сообщений: 1527
  • Пол: Мужской
  • Статус : ути-пути

Re: Язык Pascal в среде Delphi 7
« Ответ #69 : 13 Января 2013, 20:28 »
Olga, версия 6 не работает точно, а насчёт версии 7 смотрите справку и руководство. Но с другой стороны я о том и талдычу, что в условии не сказано, к какому числовому типу должна относиться вводимое пользователем значение переменной Х, в этом вся и соль. Если целое число, то это меняет дело, но опять же такое допущение ни на чём не основывается (в условии такого допущения не видел). Вообще, как почитаешь формулировки некоторых задач, так в качестве авторов представляются счастливые обладатели купленных дипломов.  :D

Если вводимое число целое, то можно использовать и в качестве переменной для оператора case. Хотя если извращаться, то "костыли" всегда придумать можно. Например, всегда же можно преобразовать вещественное число в целое, и поскольку нам нужны тупые сравнения (у нас имеют место неравенства), то такое преобразование типа вполне можно использовать.

Не хочется думать над задачей, но на всякий случай несколько направлений для раздумья подкину, возможно примите на вооружение. Во-первых, существуют  констант MaxInt, определённая в стандартном модуле System, соответственно -MaxInt означает самое маленькое целое число. Таким образом, мы всегда можем определить интервалы, в т.ч. и бесконечные. Например, -MaxInt..4 или 7..MaxInt .  Эти интервалы уже можно использовать для case. Кстати сказать, для вещественных типов существуют константы, аналогичные MaxInt (к примеру, MaxExtended).

Вот может примерно из этих соображений и стоит плясать?

Да, есть ещё полезная функция sign, возвращающая знак вещественного числа, её вполне можете использовать при проверке неравенств. К примеру, для определения, что i>7 достаточно вычислить sign(i-7), в качестве значения которого будет всего три: -1, 0 и +1.  :smile: Так что можно проверить условие с помощью case так:

case sign(i-7) of 
  -1: ........ // значит i<7
  0: ........ // значит i=7
  1: ........ // значит i>7
end


Если составители задания и имели в виду эту околесицу, то им лучше застрелиться сразу.

Оффлайн lexus

  • *
  • Сообщений: 1527
  • Пол: Мужской
  • Статус : ути-пути

Re: Язык Pascal в среде Delphi 7
« Ответ #70 : 13 Января 2013, 20:30 »
case не работает с выражениями
технарь, case с выражениями работает, важно какого они типа, и когда вычисляются (во время выполнения или на этапе компиляции). Вычисление на этапе компиляции как раз важно для выражения вариантов выбора (caseListn).

Оффлайн lexus

  • *
  • Сообщений: 1527
  • Пол: Мужской
  • Статус : ути-пути

Re: Язык Pascal в среде Delphi 7
« Ответ #71 : 13 Января 2013, 20:33 »
Первый раз слышу, но допускаю что есть.
Записываются следующим образом:

const  vasya_kozyol: integer = 10;

Во-первых, присваивается начальное значение, во-вторых, в программе такой константе можно присваивать значения.


Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #72 : 13 Января 2013, 20:44 »
Мне пока еще не понятно в условие вот это-5.   F = Max(u, x),

Оффлайн lexus

  • *
  • Сообщений: 1527
  • Пол: Мужской
  • Статус : ути-пути

Re: Язык Pascal в среде Delphi 7
« Ответ #73 : 13 Января 2013, 20:47 »
Только что проверил, конструкция

case sign(i-7) of
   1: Statusbar1.SimpleText:='x > 7 ';
   -1: Statusbar1.SimpleText:='x < 7';
end;

работает. Так это в Делфи 6, а в 7-ой версии и подавно.

Мне пока еще не понятно в условие вот это-5.   F = Max(u, x),
Ольга, это как я понял функция, означающая максимум из двух значений. Одно у вас есть (х), а другое (u) вы вычислите. Только там в задаче используются то заглавные, то строчные обозначения, с составителями не соскучишься.  00))  :D

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #74 : 13 Января 2013, 22:10 »
Вот сделала-работает только только так(хотя Х можно назначить не  -50 и +50,а и больше.
(открыть/скрыть)