Есть ответ 👍

Пусть у меня есть действительная переменная в, диапазон которой (-10; 10). как ограничить ее в диапазоне типа real, чтобы нельзя было использовать значения выходящие за диапазон. аналогично, если переменная тип integer. видел такой вариант var b: -10..10; но тут же не понятно к какому типу переменная относится. объясните .

198
395
Посмотреть ответы 2

Ответы на вопрос:


ответ на ваш вопрос простой: никак!

в языке паскаль есть так называемый диапазонный тип. он реализуется, как "вырезка" части диапазона базового типа. например, если базовый тип целочисленный, можно вырезать из него числа в диазахоне "от" и "до".

например, описание k: -10..10 означает, что k целочисленное и может изменять от -10 до 10. целочисленное оно потому, что константы -10 и 10 в pascalabc.net имеют тип integer. проблема же состоит в том, что в pascalabc.net контроль за выходом значения переменной за отведенные границы всего отсутствует! т.е. описание k: -10..10 - это просто "хотелка". и вы можете продолжать этого хотеть. может быть, вы подумали, что это pascalabc.net такой плохой язык? спешу разочаровать: так ведут себя все диалекты паскаля. дело в том. что проверка границ диапазона фактически должна делаться при каждой машинной операции с участием переменной диапазонного типа. и это настолько замедляет программу, что такая проверка, даже если она предусмотрена в конкретном компиляторе, по умолчанию выключена. более того, оказывается, что гораздо проще проверять выход за границы диапазона напрямую в программе!

что касается переменной типа real - с ней еще хуже: ее даже нельзя объявить в диапазонном типе, поскольку тип real не является порядковым.

как итог: проверяем if (k> =-10) and (k< =10) then < все хорошо> .

можно воспользоваться вариантом if k.between(-10,10) then

between работает и с real: if r.between(3.4,15.063) then

tans83lsk
4,4(51 оценок)

Обычный массив: берем список покупок. допустим, нужно купить молоко, хлеб, яйца, чай и мороженое. всего покупок: 5. и мы перебираем каждую покупку. в массиве можно записать как: array [1..5], так как 5 покупок.  то же молоко под цифрой 1, значит это 1 элемент массива. чай будет 4 элементом массива. двухмерный массив: берем многоквартирный дом. в доме 3 этажа, на каждом этаже 4 квартиры. соответственно этаж можно приравнять как array [1..3,1..4] 1..3 это количество этажей, 1..4 это кол-во квартир. если в доме 3x4=12 этажей, то получается 12 элементов массива. так же, элементы массива могут быть как одинаковыми, так и разными, но чаще второе. (пример: дан массив с двумя элементами. первый элемент равен 5, второй 33) создать массив в pascal: в var напишите x: array [y..z] of what x - название массива y - начальная цифра массива (обычно 1, так и представим) x - последняя цифра массива (представим как 10) what - тип (integer, real и т.д.) найти значение массива и редактировать его: a: =x[4] данным действием мы присваиваем 4 элемент массива для a. x[4]: =b данным действием мы присваиваем b для 4 элемента массива. если что-то непонятно, задайте вопрос в комментарий. постараюсь объяснить именно то, что вам непонятно.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS