Тема: Оператор циклу (for, do while)
Завдання:
Побудувати таблицю значень для функції f(x)=sin(1/x) на відрізку [pi/8,2/pi] з числом розбиття відрізка m=10.
За допомогою двох циклів for і do while.
Чи правильно складено код і блок-схема?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Оператор циклу (for, do while)
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Завдання:
Побудувати таблицю значень для функції f(x)=sin(1/x) на відрізку [pi/8,2/pi] з числом розбиття відрізка m=10.
За допомогою двох циклів for і do while.
Чи правильно складено код і блок-схема?
Блок-схема виконана іноземною, до того ж не англійською, мовою. Навіщо?
Блок-схема вочевидь не відповідає коду. У коді жодного goto, самі цикли, а в блок-схемі самі переходи, жодного циклу. Крім того, в коді є switch, а в блок-схемі немає відповідної "гребінки".
Блок-схема щось дивне в циклі робить - точніше, нічого.
А ще ви чомусь проголошуєте власне M_PI із низькою точністю замість використання стандартного.
Блок-схема виконана іноземною, до того ж не англійською, мовою. Навіщо?
Блок-схема вочевидь не відповідає коду. У коді жодного goto, самі цикли, а в блок-схемі самі переходи, жодного циклу. Крім того, в коді є switch, а в блок-схемі немає відповідної "гребінки".
Блок-схема щось дивне в циклі робить - точніше, нічого.
А ще ви чомусь проголошуєте власне M_PI із низькою точністю замість використання стандартного.
така схема ніяк не пройде для здачі?
Дивіться.
Колись давно, в часи ламп і перфокарт (незначне перебільшення), єдиною мовою програмування були машинні коди. В кращому разі асемблер. Програмувати на них було дуже незручно, і для того, щоб уявити собі навіть просту програму на цикл і пару розгалужень, доводилося спершу складати оті блок-схеми, які унаочнювали код, який треба писати.
З того часу програмування значно розвинулося. Структурний код із нормальними назвами змінних читається легше, ніж відповідна блок-схема; відтак, сенсу в блок-схемах немає. Але невдахи-викладачі, тяжко травмовані блок-схемами під час свого навчання, як ті дєди в армії, зриваються на салагах, змушуючи їх мести плац ломами, тобто складати ці блок-схеми. Жодного сенсу в блок-схемі, що складається не перед програмуванням, а після нього, тим більше, автоматично за кодом, немає. Тому, якщо вже потрапили до такого нещасного, просто відлагодьте код на паскалі, щоб він робив, що треба, і здавайте без дурних питань тут. Це форум програмістів, а не викладачів-невдах. Дати серйозні поради по блок-схемі ми можемо; але вам же не це потрібно.
Ну чому ж, переписати неструктурований код (поданий у вигляді блок-схеми чи програми, побудованої на умовних та безумовних переходах) у структурований — цілком реальна задача для тренування початківців. Зокрема, блок-схема може дати розуміння, що саме і в якій послідовності роблять оператори циклу та інші структуровані елементи (не дуже уявляю, як пояснити принцип їхньої роботи, повністю відмовившись від абстракцій переходу та галуження). Зрозуміло, після того, як студент навчився писати структурований код з нуля, блок-схеми алгоритмів стають для нього непотрібним баластом. Проте, навіть структурований код інколи треба розгорнути більш оптимальним способом — фактично, розкладаючи його на уявну блок-схему і складаючи в правильно структурований алгорим. Ну і мови, де засоби для написання структурованого коду неповні чи відсутні, остаточно нікуди не зникли — відкривши файл з розширенням .asm чи .bat, ніяких структурованих вкладених while'ів ви не побачите.
Але тут мова якраз про побудову блок-схеми по структурованому коду.
Ну добре, робити блок-схеми до вже написаних та відлагоджених лаб та курсачів і виписувати їх на аркушах з ГОСТівською рамочкою — це мести плац ломами, згоден на 100%. Але якщо студент не може відрізнити на блок-схемі власний switch від чужого while (продубльованого в вигляді недопаскалівського коду на тому ж скріншоті), то аж самому кортить дати йому в руки лом і відправити на плац.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися