МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
||||||||||||
Характеристика циклу з параметром
Цикл з параметром(FOR – NEXT). Цикл з параметром (цикл «для») призначений для організації повторень, якщо їх кількість у циклі наперед відома. Мовою Бейсик цикл «для» записують так:
Команда FOR-TO-STEP утворює заголовок циклу, NEXT – команда, яка фіксує кінець тіла циклу і змінює значення параметра I на величину А3. Тіло циклу – це серія команд, що знаходиться між командами FOR та NEXT. Змінну I називають параметром циклу. A1, A2, A3 – арифметичні вирази, змінні або сталі. А1 задає початкове значення параметра циклу, A2 – кінцеве, A3 – значення кроку, на яке щоразу змінюємо значення параметра циклу. Дія команди. Параметрові циклу присвоюється значення виразу А1. Якщо це значення менше-рівне значення А2, то виконується серія команд. Після цього значення параметра збільшується на А3 і знову порівнюється зі значення виразу А2 і т.д. Коли значення параметра стане більше, ніж значення виразу А2, то виконується наступна після NEXT команда. Залежно від реалізації мови цикл «для» може функціонувати в режимі з передумовою або післяумовою. Розглянемо дію команд FOR i NEXT на прикладах. Задача 5. Обчислити добуток чисел від 1 до 8. 10 ' Знаходження Добутку 20 CLS 30 d=1 40 FOR n = 1 TO 8 50 d = d * n 60 NEXT n 70 PRINT "d ="; d 80 END На екрані отримаємо такий результат: d = 40320.
Задача 6. Протабулювати функцію у=х2, х є[-5;1] Dх=0,5 10 REM Табуляція функції 20 CLS 30 FOR x = -5 TO 1 STEP 0.5 40 y = x ^ 2 50 PRINT "x ="; x, "y ="; y 60 NEXT x 70 END Результати: Приклад 1. Виведемо на екран таблицю квадратів чисел від 5 до 25: 10 FOR i= 5 TO 25 STEP 1 20 PRINT "i ="; i, "i^2 ="; i^2 30 NEXT i 40 END
5. Організація циклів з використанням команди WHILE Команда циклу WHILE. Розглянемо команду WHILE (поки), призначену, зокрема, для реалізації циклів з невідомою кількістю повторень. У мові Бейсик цей цикл записують так:
Дія команди. Серія команд виконується в циклі, поки значення логічного виразу є істинне. Істинний логічний вираз описує умову продовження циклу. Задача 7. Розглянемо програму обчислення добутку чисел від 1 до 8 з використанням команди циклу WHILE. 10 ' Добуток чисел 20 CLS 30 n = 1: d = 1 40 WHILE n <= 8 50 d = d * n 60 n = n + 1 70 WEND 80 PRINT "d = "; d 90 END На екрані отримаємо такий результат: d = 40320. Задача 8. Протабулювати функцію у=х2, х є[-5;5] Dх=0,5 10 REM Табуляція функції 20 CLS 30 x = -5 40 WHILE x <= 1 50 y = x ^ 2 60 PRINT "x ="; x, "y ="; y 70 x = x + 0.5 80 WEND 90 END Результати: 6. Поняття одновимірного та двовимірного масивів Масив– це впорядкований скінчений набір даних одного типу, які зберігаються в послідовно розташованих комірках оперативної пам'яті і мають спільну назву. Назву масиву надає користувач. Масив складається з елементів. Кожний елемент має індекси, за якими його можна знайти в масиві. Кількість індексів елемента визначає розмірність масиву. Ми вивчатимемо одновимірні (з одним індексом) та двовимірні (з двома індексами) масиви. У математиці поняттю масив відповідають поняття вектора та матриці. Важливою характеристикою масиву є його розмір – загальна кількість елементів у масиві. 1. Одновимірні масиви. Елемент масиву позначають іменем масиву, а у круглих дужках пишуть значення індекса елемента. Наприклад, k елементів одновимірного масиву A у програмах позначають так: A(1) A(2) ... A(K). За допомогою одновимірних масивів в оперативній пам’яті можна зберігати такі дані: 1) список учнів (масив з текстовими елементами); 2) оцінки у класному журналі за контрольну роботу (масив з числовими елементами); 3) координати вектора (масив з елементами числового дійсного типу). Приклад 1. Опишемо у блоці даних шість чисел (виграшні номери гри «Спортлото») і занесемо їх у масив з іменем A: 10 DATA 23, 17, 35, 6, 41, 22 20 READ A(1), A(2), A(3), A(4), A(5), A(6) 2. Двовимірні масиви.Деякі дані зручно наводити у вигляді прямокутної таблиці, якій у Бейсику відповідає поняття двовимірного масиву. Розглянемо прямокутну таблицю В: b11 b12 ... b1n b21 b22 ... b2n ... bm1 bm2 ... bmn . Елементи двовимірних масивів мають два індекси. Перший індекс вказує на номер рядка, а другий – на номер стовпця, на перетині яких знаходиться елемент. Індекси записують у круглих дужках i відокремлюють комою. Елементи двовимірного масиву B позначають так: B(1, 1) B(1, 2) ... B(1, N) B(2, 1) B(2, 2) ... B(2, N) ... B(M, 1) B(M, 2) ... B(M, N), де В(1, 1) – елемент, розташований на перетині 1-го рядка та 1-го стовпця; В(5, 10) – елемент на перетині 5-го рядка i 10-го стовпця; В(K, L) – елемент на перетині K-го рядка i L-го стовпця. За допомогою двовимірних масивів в оперативній пам’яті можна зберігати такі дані: 1) текст на сторінці підручника, де кожне слово (символ) розглядаємо як один елемент (масив з елементами текстового типу); 2) оцінки учнів у класному журналі з одного предмету за певний час навчання; 3) прямокутні таблиці з тільки числовими або тільки текстовими даними, які стосуються роботи підприємств чи організацій. Використання масивів забезпечує наочність у роботі з даними та економію імен. Головна перевага – це прямий доступ до будь-якого елемента масиву, якщо відомий його індекс.
7. Побудова масивів та їх використання Описати масив можна на початку програми. Назви масивів та їхні розміри визначає користувач Таким чином резервується пам’ять, де будуть розміщуватися елементи масивів. Загальний вигляд команди опису масивів такий:
У списку масивів зазначаються імена масивів і максимальні значення відповідних індексів. Масиви перераховуються через кому. Приклад 2. Якщо в програмі використано одновимірний масив A з п’ятьма елементами i двовимірний масив B, який складається з шести рядків i десяти стовпців, то команда матиме вигляд (якщо відлік значень індексів починається з одиниці): 10 DIM A(5), B(6, 10). Розміри наперед невідомих масивів зручно задавати за допомогою команди INPUT. Наприклад: 10 INPUT "K = "; K 20 INPUT "M, N = "; M, N 30 DIM A(K), B(M, N) Зауваження 1. У мові Бейсик за замовчуванням мінімальне значення індексу дорівнює нулю. Тому насправді у прикладі 2 описано одновимірний масив A з шістьма елементами та двовимірний масив B з 7 рядками та 11 стовпцями. Довідка 1. Команда OPTION BASE. Можна задати потрібне мінімальне значення індексу на початку програми за допомогою команди
Стала задає мінімальне значення індексу, тобто 1 або 0 (або інше число в середовищі Турбо Бейсик). Наприклад, у середовищі Турбо Бейсик команди 10 OPTION BASE 1985 20 DIM C(1994) описують масив з десятьма елементами, а індекс набуває значення деякого року з діапазону 1985 .. 1994. Надалі вважатимемо, що мінімальне значення індексу дорівнює одиниці. Команду OPTION BASE можна i не використовувати, а елемент масиву з нульовим індексом не брати до уваги. Використання одновимірних масивів. Розглянемо способи введення – виведення масивів. Для введення чи виведення масивів потрібно виконати певні дії з усіма елементами масивів за допомогою команд присвоєння, команд READ, INPUT або PRINT, використовуючи команду циклу. Наприклад, увести значення п’яти елементів масиву A можна двома способами: 1) 10 DIM A(5) 2) 10 DIM A(5) 20 FOR I = 1 TO 5 20 FOR I = 1 TO 5 30 READ A(I) 30 INPUT A(I) 40 NEXT I 40 NEXT I 50 DATA список даних Задача 1. Дано масив А(5) обчислити кількість, суму і добуток додатних елементів масиву. Результати виконання програми Замінити додатні елементи масив А, який складається з шести елементів, на число 0. Результати виконання програми
Масив Аскладається з 6 елементів. Замінити всі елементи масиву на число -1.
Результати виконання програми
Використання двовимірних масивів. Для введення–виведення двовимірних масивів i виконання інших операцій з його елементами використовують конструкцію "вкладені цикли"
8. Сортування масивів.
Під сортуванням в програмуванні розуміють процес розміщення елементів в порядку зростання або спадання їх значень. Наприклад, нам треба розмістити елементи в масиві A (2, 0, -3, 1, -5) за зростанням та спаданням їх значень. В результаті маємо : · за зростанням – A (-5, -3, 0, 1, 2); · за спаданням – A (2, 1, 0, -3, -5). Існують різні методи сортування (обмінне сортування, сортування методом вибору, сортування методом перестановки за індексами, турнірне сортування, сортування вставкою та ін.). Більш детально з методами сортування можна ознайомитися в навчальній літературі. Обмінне сортування Метод добре відомий також під назвою «пузырьковая сортировка» (рос.) Тут менші значення елементів подібно до легких бульбашок повітря піднімаються вгору. Він базується на порівнянні пари сусідніх елементів та перестановки їх в потрібному порядку. Сортування вважається закінченим, якщо в ході перегляду масиву не було здійснено жодної перестановки. Розглянемо масив А= (3, 0, 5, 2, -1), що треба упорядкувати в порядку зростання значень елементів. Порівнюючи сусідні елементи (ai та аi+1), бачимо, що їх необхідно поміняти місцями, якщо аi > аi+1. Масив буде змінюватися при кожному його перегляді. Звернемо увагу на те, як найменший елемент (-1) повільно переміщується в початок масиву. В результаті одержимо: · після першого перегляду: А=(0, 3, 2, -1, 5); · після другого перегляду: А=(0, 2, -1, 3, 5); · після третього перегляду: А=(0, -1, 2, 3, 5); · після четвертого перегляду: А=(-1, 0, 2, 3, 5). При перегляді масиву цикл треба завершати на передостанньому елементі, тому що порівнюються i-й та (i+1)-й елементи. Для упорядкування масиву A(N) достатньо N-1 послідовних переглядів. Дійсно, в розглянутому масиві А(5) із останнього місця найменший елемент перемістився на перше місце за чотири перегляди масиву. Таким чином, алгоритм сортування складається з двох циклів: внутрішнього, в якому проводиться перестановка необхідних елементів, та зовнішнього, що організує повторні перегляди масиву (рис.9.1). Крім того, необхідно передбачити також виведення елементів вхідного та упорядкованого масивів.
Існує декілька модифікацій наведеного методу, які дозволяють зменшити кількість перевірок та час роботи програми. Наприклад, ввівши допоміжну змінну («прапорець»), можна перевірити настання моменту скінчення сортування (рис. 9.2). При упорядкуванні за зростанням у циклі перевіряється умова ai > aj+1. Неважко побачити, що при упорядкуванні за спаданням треба перевіряти умову ai < aj+1. Приклад 1. Задано масив D(M) та натуральні числа L, N. Упорядкувати за спаданням значень елементи, розміщені між елементами з індексом L та індексом N. Для розв’язання задачі застосуємо метод «прапорця». REM Сортування частини масиву 20 INPUT M, L, N: DIM D(M) IF NOT (L>=1 AND N>L AND N<= M) THEN GOTO 20 FOR I=1 TO M:INPUT D(I):NEXT I 80 FLAG=1 FOR I=L+1 TO N-1 IFD(I)<D(I+1) THEN SWAP D(I),D(I+1): FLAG=0 NEXT I IF FLAG=0 THEN GOTO 80 FOR I=1 TO M:PRINT D(I):NEXT I Читайте також:
|
|||||||||||||
|