4. Оператори (7 год. + 5 год.) Цинчик Тетяна Петрівна
Вирази, блоки і порожні оператори
Оператори галуження
Умовний оператор if
Оператор ? (тернарний)
Оператор вибору switch
Оператори циклу
Цикл з передумовою while
Цикл з постумовою do
Цикл з параметром for
Цикл перебору foreach
Рекомендації по вибору оператора циклу
Оператори передачі управління
Оператор goto
Оператор break
Оператор continue
Оператор return
Базові конструкції структурного програмування
Обробка виняткових ситуацій
Оператор try
Оператор throw
Клас Exception
Оператори checked і unchecked
Тема 4
Сообщений 1 страница 16 из 16
Поделиться12007-05-28 13:46:54
Поделиться22007-05-29 14:54:51
Думаю, що необхідно перенести
Оператор return
в розділ 5 Класи,
а
Цикл перебору foreach
а розділ 6 Масиви.
Бо в розділі 4 просто назвати їх і посилатися в інші розділи недоцільно.
Андрій Кухар пропонував замінити слово оператори на інструкції, мені це подобається. Хочу знати думку інших, бо прийдеться переробляти теорію не тільки мені, а й іншим.
Поделиться32007-05-29 18:29:10
замінити слово оператори на інструкції,
Якщо вже відмовитись від слова "оператор", то краще взяти влово "вказівка". Досить поширене у літературі (вказівка повторення, вказівка розгалуження тощо).
Поделиться42007-05-29 19:01:16
Якщо вже відмовитись від слова "оператор", то краще взяти влово "вказівка". Досить поширене у літературі (вказівка повторення, вказівка розгалуження тощо).
Слово вказівка поширене в літературі, де вивчалась мова Паскаль. Слово інстукція зустрічається в С#. Мабуть над плутаниною цих слів задумались не ми одні, тому і з'явилось поняття ІНСТРУКЦІЇ. Для людей, які знають англійський це суттєво, а наші учні англійській приділяють багато часу і знають її. Нам потрібно бути грамотними разом з ними.
Поделиться52007-05-30 01:41:05
Мені здавалось, що в Паскалі казали "оператор", а "вказівка" - звичайне українське слово, яке гарно підходить до змісту поняття. Схильність до вживання іншомовних слів там, де існують еквіваленти в рідній мові - погана звичка.
Якщо вирішили зовсім не розрізняти "операції" і "оператори", то краще писати скрізь "оператор" (додавання, множення, умовний, розгалуження). Якщо ж розрізняємо, то можна "операція" (додавання, присвоєння і т.п.) і "вказівка" (розгалуження, повторення).
Поделиться62007-05-31 13:14:49
Я читала еще вариант - команда. А операция есть понятие математическое - действие над данными, т.е. операндами. Называть операцией команды языка - противоречит логике. Как назвать бывший опертор - инструкция, вказівка, команда - уже не так существенно. Кстати - присваивание - тоже команда, но не операция. Операции бывают унарные, бинарные, т.д. Давайте определимся наконец, чтобы все пользовались одной терминологией.
Поделиться72007-05-31 14:02:20
Кстати - присваивание - тоже команда, но не операция. Операции бывают унарные, бинарные, т.д.
В C/C++/C# присваивание -- это бинарная (двуместная) операция (operator =).
Поделиться82007-05-31 14:14:35
Що до "вказівки", давайте ще подумаємо про переклад слів "reference" та "pointer" (як я розумію зазвичай вживають слова "посилання" та "вказівник"). Щоб у нас не виникло занадто схожих термінів для позначення різних речей.
Поделиться92007-05-31 19:09:18
В C/C++/C# присваивание -- это бинарная (двуместная) операция (operator =).
Після Паскаля з цим важко змиритись , але це дійсно так. Тому, наприклад, є коректним такий фрагмент:
int a,b,c;
a=b=c*5*(c+b=a+7);
У наявному в мене перекладі книги Страустрапа другий рядок має назву "оператор вираз" (поряд з операторами розгалуження, циклу тощо).
Как назвать бывший опертор - инструкция, вказівка, команда - уже не так существенно.
Для нас це якраз істотно, нам же посібник треба писати!
Поделиться102007-05-31 19:12:13
Що до "вказівки", давайте ще подумаємо про переклад слів "reference" та "pointer" (як я розумію зазвичай вживають слова "посилання" та "вказівник"). Щоб у нас не виникло занадто схожих термінів для позначення різних речей.
Такий переклад, на мою думку, вдалий. Якщо вже почали роботу з термінологією, то варто зразу давати ОЗНАЧЕННЯ цих понять. В проблемних випадках це допоможе вибрати більш вдалий переклад.
Поделиться112007-06-01 10:04:55
Можливо ми проголосуємо всі в обов'язковому порядку і це буде нашим рішенням, бо сперечатися можна до бесконечності, той хто прийняв якусь позицію стоїть на свому і вважає свій варіант найкращим.
Поделиться122007-06-01 23:38:35
a=b=c*5*(c+b=a+7);
Цей вираз є помилковим. Не можна присвоїти значення виразові a+b. Операція + має вищий пріоритет, ніж =.
Такий переклад, на мою думку, вдалий. Якщо вже почали роботу з термінологією, то варто зразу давати ОЗНАЧЕННЯ цих понять. В проблемних випадках це допоможе вибрати більш вдалий переклад.
Я мав на увазі, що термін "вказівка" є невдалим через надмірну схожість на термін "вказівник".
Поделиться132007-06-01 23:54:32
Після Паскаля з цим важко змиритись , але це дійсно так.
В GNU C складна інструкція може повертати значення.
int x = ({ int n = 5, f = 1; for (int i = 2; i <= n; i++) f *= i; f; });
Чи є вона операцією?
Поделиться142007-06-02 04:12:36
Цей вираз є помилковим.
Упс-с-с! Трохи кнопки переплутав, коли конструював цей вираз. Клацнув "Run" замість "Build and Run" (середовище C++ Code Blocks). Треба додати ще пару дужок: a=b=c*5*(c+(b=a+7));
В GNU C складна інструкція може повертати значення.
int x = ({ int n = 5, f = 1; for (int i = 2; i <= n; i++) f *= i; f; });
Бачу, в С# це ніби не прижилося, а в С++ - скомпілювалось... Очевидно, круглі дужки перетворюють те, що написано у фігурних дужках на вираз, бо без них не компілюється. Нарешті побачив, для чого можна використати найпростіший з виразів: f;
Сам Страустрап написав: "Скобками синтаксис C++ злоупотребляет; количество способов их использования приводит в замешательство:...". І при цьому, вони не роблять того, що від них чекають в першу чергу: "С помощью скобок нельзя задать порядок вычисления.". Ну й жартівники ці розробники С++!!!
Чи є вона операцією?
Раніше я пропонував все називати однаково: ОПЕРАТОР (+, *, =, &, if..., for....). З тих міркувань, що кожен з них реалізує якусь ОПЕРАЦІЮ (іноді досить складну). Чи не допоможе це уникнути плутанини і спростити виклад? Тобто, ніяких вказівок, команд, інструкцій... Тільки оператори.
У наведеному прикладі у всередині круглих дужок - складений оператор. Очевидно, круглі дужки тут теж є оператором, який реалізує операцію "отримання значення "
Між іншим. В англійській мові все не так просто, як хотілося б. Маю "Англо-українсько-російський словник з інформатики та обчислювальної техніки":
OPERATOR - 1. оператор; 2. операція; 3. оператор (людина) (приблизно в половині з 19 словосполучень перекладено як "операція")
COMPOSITE OPERATOR - складений оператор
UNARY OPERATOR - унарна операція
STATEMENT - 1.твердження; 2.оператор (в абсолютній більшості з 44 словосполучень перекладено як "оператор")
ASSIGNMENT STATEMENT - оператор присвоєння
OPERATION - 1.команда; 2.режим роботи; 3.дія (77 словосполучень, в більшості "операція")
Поделиться152007-06-02 09:18:20
Маю "Англо-українсько-російський словник з інформатики та обчислювальної техніки":
Словники також пишуть люди і використовують якісь традиції. Подивіться у словник термінів у журналі "Комп'ютер у школі і сім'ї" та кілька інших словників і стане все ясно. У Львові є люди, які професійно займаються термінологією. Я на конференції слухав кілька років тому їх виступ. У нашій літературі з інформатики з термінами жах. Тому посилання на існуючі не таке вже тверде.
Очевидно, що якщо іти від англійських термінів і підбирати українські терміни, які не будуть давати двозначності, то це той шлях, який би нам варто було пройти. Якщо знайду ту статтю про терміни, всім вишлю.
Поделиться162007-06-02 19:52:46
Бачу, в С# це ніби не прижилося, а в С++ - скомпілювалось...
Загалом цього немає в С++. Це так зване "розширення GNU C". Компылюється тільки компіляторами GNU.