Тема: Допоможіть зрозуміти, що означає таки запис масиву у блок схемі
s[j,1] , або s[j, 2]
де J змінна циклу
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Допоможіть зрозуміти, що означає таки запис масиву у блок схемі
Для відправлення відповіді ви повинні увійти або зареєструватися
s[j,1] , або s[j, 2]
де J змінна циклу
це синтаксичний цукор - другий елемент j+1го масива
Можете записати кодом, просто не повністю зрозумів.
це синтаксичний цукор - другий елемент j+1го масива
Синтаксичний цукор ваших мізків хіба що
s[j,1]
У межах загального виразу кома діє, як оператор виразу. Коли кома є оператором виразу між двома виразами, це означає визначити лівий вираз, відкинути його результат, а потім оцінити правий вираз, який і буде результатом загального виразу.
У межах [] кома не є роздільником. Тому вона діє, як оператор вираження. А [j, 1] означає визначити j, відкинути, а потім визначити 1. Тож використаний індекс буде 1.
Блок-схеми - це засіб візуалізації алгоритму, що використовувався з 1940-х по 70-і. З розвитком читаних, і особливо структурних, мов програмування потреба в них зникла. Вас не вчать логарифмічними лінійками користуватися? Чи абаком? А уроки фехтування та користування пращею скільки разів на тиждень?
Блок-схеми визначають лише значення блоків. Текст у блоках - довільний, прийнятний для розуміння програмістом.
Позначення s[j,1], швидше за все, означає елемент матриці (двовимірного масиву) s у j-му рядку і 1-му стовпчику, але, ще раз, це визначається НЕ блок-схемою.
Якщо цей елемент розглядається як вираз мовою C++ (а ви спитали саме в цьому розділі), тоді вам відповів пан wander, однак швидше за все це не так, бо не має сенсу писати зайву змінну.
Гм, я чомусь одразу не помітив, що в питанні фігурують блок-схеми
Ну, тоді, це може означати, що завгодно. Залежить від контексту чи особливостей вашої блок-схеми.
Бо, це явно не схоже на те, як записували "класичні" блок-схеми у мому розумінні, ті, що я вивчав в універі та, схоже, про ті ж, що говорив пан koala повідомленням вище.
Тут, напевне, краще буде надати текст завдання.
Синтаксичний цукор ваших мізків хіба що
пан графоман не знає, мабуть, що така конструкція навіть не скомпілюється. Авжеж, як визначити s[j або j]? І куди що відкидати... Доречи, пишаюся тим, що вони в мене принаймні є
така конструкція навіть не скомпілюється.
https://ideone.com/EVQTAH
Гм... скопмілювалося. І означає саме те, що пан wander казав.
Доречи, пишаюся тим, що вони в мене принаймні є
Тоді скористайтеся ними, щоб вивчити значення виразу "синтаксичний цукор". І як пишеться "до речі" теж вивчить, воно корисно.
Гм... скопмілювалося.
шо? масив від об'єкта так складно відрізнити?. Доречі, чи відомо вам, що в плюсах нема ніяких масивів? І тим більше ніяких матриць. Усе що зв'язано з масивами і квадратними дужками є синтаксичний цукор. Може хоч вікіпедію прочитаєте?...
І доречи, доречі в мене підкреслюється як помилка. може ви відстали від мейнстріму? Може щось пропустили? Ще пан Гринченко, доречи, знав слово "доречі", а до речі, як і до порожньої голови, не прикладають. Візьміть у шухлядці емблемку ґраманаці, вона вам дуже личить.
і наостанок оцініть вислів "квадратні дужки"
Розумні думки часто переслідують його (ur_naz), але він швидший.
Це ви про себе? Мабуть п'ятниця, рівень тролетоніна підвищений?...
шо? масив від об'єкта так складно відрізнити?.
Ой, а аж така різниця в цьому контексті... https://ideone.com/dkjKoc
ur_naz написав:шо? масив від об'єкта так складно відрізнити?.
Ой, а аж така різниця в цьому контексті... https://ideone.com/dkjKoc
Нащо ви на це ведетесь?
Відколи це масив не об'єкт?
[...]
An object is created by a definition, by a new-expression, when implicitly changing the active member of a union, or when a temporary object is created. An object occupies a region of storage in its period of construction, throughout its lifetime, and in its period of destruction. [Note: A function is not an object, regardless of whether or not it occupies storage in the way that objects do. —end note]
Ой, а аж така різниця в цьому контексті..
Різниця в тому, що так писати, то краще піти... і не писати.
За таке можна отримати по макітрі... от ліда
Відколи це масив не об'єкт?
нащо плутати літри і кілометри?
мабуть налітрували вже...
Блок-схеми - це засіб візуалізації алгоритму, що використовувався з 1940-х по 70-і. З розвитком читаних, і особливо структурних, мов програмування потреба в них зникла. Вас не вчать логарифмічними лінійками користуватися? Чи абаком? А уроки фехтування та користування пращею скільки разів на тиждень?
Службу відлову неадекватних викладачів, що навантажують студентоту блок-схемами, де можна викликати?
Абак (по-простому — рахівниця) ще першокласники вчать, здається — бо помагає розумінню позиційної десяткової системи, від якої далі доведеться все життя відштовхуватись. Логарифмічна лінійка — взагалі, корисна штука і як математичний інструмент (візьміть-но кубічний корінь калькулятором, на якому передбачили тільки квадратний), і, що важливіше, як зразок організації обчислювального процесу, що можна використати і в своїй програмі (скажімо, звівши знаходження добутку до знаходження суми логарифмів). Як варіант, можна завчити таблицю логарифмів і користуватися нею для усних приблизних обчислень — поставте собі новий додаток у великі півкулі.
Щодо фехтування — не бачу благородних кандидатів, яких було б приємно заколоти на дуелі в рівному бою. А от праща як бойова зброя, яку можна зробити буквально з нічого, могла б стати дешевою альтернативою травматичній зброї, наприклад.
Ne pryhaduju abaka (uznav nazvu, bhh, zazvytcaj nazyvav raxivnytsjoju) v ckoli. Jak i loq. linijky. A osj blok-sxemy dosji utcatj v percomu kursi, ehe.
З іншого боку, якщо студентові не показати ні блок-схем, ні переходів на мітку, то як йому взагалі пояснити, що таке цикл і чим while відрізняється від do while? Інша річ, блок-схеми потрібні переважно на початковому етапі вивчення алгоритмічних мов — далі вони вже зайві, але їх за звичкою продовжують вимагати де треба й де не треба.
Логарифмічних лінійок моє покоління школярів теж не знало. І знаходження кореня в стовпчик нам теж не показували. На той час вже поширилися калькулятори, а логарифмічні лінійки та інші більш примітивні засоби обчислень уже стали анахронізмом. І я от шкодую, що ми всього цього не вчили — прогалина в знаннях, ілюзія, ніби всі ці калькулятори з коренями нам з небес Джон Фрум спускає, а як таке самому зробити — не знаємо.
З іншого боку, якщо студентові не показати ні блок-схем, ні переходів на мітку, то як йому взагалі пояснити, що таке цикл і чим while відрізняється від do while?
Словесний опис алгоритму. Я вважаю, що перші два-три алгоритми треба показувати саме словами, а вже потім переходити на МП, і це у будь-якому разі.
А якщо так хочеться показати графічне представлення алгоритму, то діаграма діяльності UML.
Блок-схеми з чіткими правилами побудови з коду і "мова C/C++" - це почвари, які треба випалювати напалмом.
діаграма діяльності UML.
Глянув, що воно за звір. Та ж блок-схема алгоритму, доповнена позначеннями для паралельних процесів.
Блок-схеми з чіткими правилами побудови з коду
Побудова блок-схеми з коду — просто беззмістовна муштра.
А от будувати структурований код з блок-схеми (у т.ч., такої, що безпосередньо не розгортається в структуровані цикли) студентові навчитись треба, ІМНО.
Для відправлення відповіді ви повинні увійти або зареєструватися