Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
_Cherep_
1 / 1 / 0
Регистрация: 02.08.2012
Сообщений: 15
1

Возможен ли такой оператор присваивания?

02.08.2012, 21:38. Просмотров 1656. Ответов 11
Метки нет (Все метки)

Здравствуйте.
Задали такой вот вопрос по языку Паскаль.
Возможно ли это присваивание:
Pascal
1
x:=y mod 6*x+x/13;
Тип переменных x и y неизвестен.
Компилятор отказывается выполнять.
Помогите с объяснение почему это происходит?
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2012, 21:38
Ответы с готовыми решениями:

Записать оператор присваивания
Записать оператор присваивания, в котором переменная res (var res : Boolean; )...

При попытке добавить оператор else, появляется оператор "Ожидался оператор"
Здравствуйте, помогите пожалуйста. У меня есть программа, которая решает...

Ввод и вывод данных, оператор присваивания. Поменять местами содержимое переменных А и В
поменять местами содержимое переменных А и В и вывести новые значения А иВ

Записать оператор присваивания, эквивалентный условному оператору: if a then x:=b else х:=с, где все переменные -логического типа
Всем доброго времени суток!! Решите задачу)) Записать оператор присваивания,...

Написать оператор присваивания, в результате которого логическая переменная t получает значение false, если выполняется указанное условие: числа x, y
Написать оператор присваивания, в результате которого логическая переменная t...

11
CodeR
Фрилансер
3381 / 2782 / 3000
Регистрация: 08.02.2012
Сообщений: 6,768
Записей в блоге: 1
02.08.2012, 21:50 2
потому что надо описать переменные и затем открыть begin и туда сунуть этот кусок...а вообще возможно если y описан целым типом а х вещественным типом...
y нужен целым для того чтобы применить операцию mod так как для вещественного типа она не определена
0
_Cherep_
1 / 1 / 0
Регистрация: 02.08.2012
Сообщений: 15
02.08.2012, 22:03  [ТС] 3
В том то и дело, что тип переменных по заданию не известен.
Вот текст всего задания:
Задание 3(2).
Возможен ли следующий оператор присваивания? Ответ обосновать.
x:=y mod 6*x+x/13;
Это всё. Ничего другого по заданию не предоставляется.
0
CodeR
Фрилансер
3381 / 2782 / 3000
Регистрация: 08.02.2012
Сообщений: 6,768
Записей в блоге: 1
02.08.2012, 22:11 4
ну так я обосновал в каком только случаи это возможно, в остальных не возможно!

Добавлено через 2 минуты
а x должен быть вещественным так как операция / применима только к вещественному типу
0
Intel~lect
135 / 124 / 14
Регистрация: 03.07.2012
Сообщений: 355
02.08.2012, 22:29 5
Pascal
1
x:=y mod 6*x+x/13;
Мне кажется что здесь два варианта могут быть:
1) Это когда переменная x уже известна при выполнении этого оператора и ей просто присваивается новое значение. Тогда этот оператор возможен.
2) И когда переменная x содержит неопределенное значение (т.е. ей еще ни разу в программе не присваивали значения). Тогда этот оператор невозможен.
0
_Cherep_
1 / 1 / 0
Регистрация: 02.08.2012
Сообщений: 15
02.08.2012, 22:39  [ТС] 6
Intel~lect, можете обосновать высказывание под номером 2?
0
Intel~lect
135 / 124 / 14
Регистрация: 03.07.2012
Сообщений: 355
02.08.2012, 22:56 7
Цитата Сообщение от _Cherep_ Посмотреть сообщение
можете обосновать высказывание под номером 2?
Pascal
1
x:=y mod 6*x+x/13;
Этот оператор сначала вычисляет значение справа от знака рано = и после этого присваивает это значение x. Но с правой стороны уже используется переменная x, которая содержит неопределенное значение и поэтому результат будет неправильным. Но я могу ошибаться.

Получается что возможен
0
_Cherep_
1 / 1 / 0
Регистрация: 02.08.2012
Сообщений: 15
02.08.2012, 23:02  [ТС] 8
По-моему приоритет арифметических действий выше присваивания.
Сначала вычисляется всё, что справа от :=, а потом уже переменной присваивается значение вычисленного выражения.
0
ermolay
3430 / 2369 / 2131
Регистрация: 04.12.2011
Сообщений: 3,965
02.08.2012, 23:14 9
Цитата Сообщение от Intel~lect Посмотреть сообщение
И когда переменная x содержит неопределенное значение (т.е. ей еще ни разу в программе не присваивали значения).
тогда программа самовольно, как правило, присвоит ему значение 0. Что не противоречит законам математики. В результате будет 0. Опять же, как заметил Artem7, х должен быть вещественного типа, y - целочисленного.

Добавлено через 2 минуты
то есть ответ на задание: операция возможна при целочисленном y и вещественном x.
1
_Cherep_
1 / 1 / 0
Регистрация: 02.08.2012
Сообщений: 15
02.08.2012, 23:33  [ТС] 10
Всем спасибо за помощь и рассуждения
0
Puporev
Модератор
55112 / 42355 / 29255
Регистрация: 18.05.2008
Сообщений: 100,082
03.08.2012, 09:04 11
Цитата Сообщение от Artem7 Посмотреть сообщение
а x должен быть вещественным так как операция / применима только к вещественному типу
Абсолютно неверно. Операция / применима к любому типу числовых данных. А вот ее результат можно присвоить только переменной вещественного типа, именно поэтому х вещественного типа.
1
CodeR
Фрилансер
3381 / 2782 / 3000
Регистрация: 08.02.2012
Сообщений: 6,768
Записей в блоге: 1
03.08.2012, 09:07 12
Цитата Сообщение от Puporev Посмотреть сообщение
Абсолютно неверно. Операция / применима к любому типу числовых данных. А вот ее результат можно присвоить только переменной вещественного типа, именно поэтому х вещественного типа.
а хотя да)ошибся малость
0
03.08.2012, 09:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2012, 09:07

Условный оператор и оператор выбора. Даны два угла треугольника. Определить, существует ли такой треугольник
Даны два угла треугольника (в градусах). Определить, существует ли такой...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Помогите в следующем: Для класса шаблона следует перегрузить оператор...

Возможен ли такой Union
Здравствуйте, ребята! Помогите, пожалуйста, справиться с таким запросом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru