ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Масиви у мовах Pascal і Basic
         

     

    Інформатика, програмування

    Масиви в мовах Pascal і Basic

    З поняттям "масив" доводиться стикатися при вирішенні науково-технічних і економічних задач обробки сукупностей великої кількості значень.

    Масив - це безліч однотипних елементів, об'єднаних спільним ім'ям і займають вкомпьютере певну область пам'яті.

    Кількість елементів у масиві завжди звичайно.

    У загальному випадку масив - це структурований тип даних, що складається з фіксованого числа елементів, що мають один і той же тип.

    Назва регулярний тип (або ряди) масиви отримали за те, що в них об'єднані однотипні (логічно однорідні) елементи, впорядковані (врегульовані) по індексами, що визначає положення кожного елемента в масиві.

    Як елементів масиву можна використовувати будь-який тип даних, тому цілком правомірно існування масивів записів, масивів вказівників, масивів рядків, масивів масивів і т.д.

    Елементами масиву можуть бути дані будь-якого типу, включаючи структуровані.

    Тип елементів масиву називається базовим. Особливістю мови Паскаль є те, що число елементів масиву фіксується при описі і впроцессе виконання програми не змінюється.

    Елементи, утворять масив, впорядковані таким чином, що кожному елементу відповідає сукупність номерів (індексів), що визначають його місце розташування вобще послідовності. Доступ до кожного окремого елементу здійснюється шляхом індексування елементів масиву. Індекси являють собою вираження будь-якого скалярного типу (частіше цілого), крім речового.

    Тип індексу визначає межі зміни значень індексу. Для опису масиву призначене словосполучення array of (масив з). Одномірні масиви

    масивом називається сукупність даних, що виконують аналогічні функції, і позначається одним ім'ям. Якщо за кожним елементом масиву закріплений лише один його порядковий номер, то такий масив називається лінійним, або одновимірною.

    Масив в Бейсіку

    Описувати масив DIM A (N) - це означає надати вільних комірок впамяті ЕОМ для масиву з іменем А.

    Якщо опис масиву відсутній, то під одновимірний масив виділяється 10 комірок пам'яті.

    Кожен елемент масиву вобщем вигляді описується як А (I), де

    А - ім'я масиву,

    I - номер або індекс масиву (0 <= I <= N, але практично вживається 1 <= I <= N)

    A (I) - значення елемента масиву.

    Масив в Паскалі

    <ім'я масиву>: = array <кількість елементів> of <тип змінної>;

    Кожен елемент масиву вобщем вигляді описується як А [I], де

    А - ім'я масиву,

    I - номер або індекс масиву (0 <= I <= N, але практично вживається 1 <= I <= N)

    A [I] - значення елемента масиву.

    Дії над масивами

    Для роботи з масивом як єдиним цілим використовується ідентифікатор масиву без вказівки індексу вквадратних дужках. Масив може брати участь тільки вопераціях відносини "одно", "не дорівнює" і воператоре присвоєння. Масиви, що беруть участь ветіх діях, повинні бути ідентичні за структурою, тобто мати однакові типи індексів і однакові типи компонентів.

    Наприклад, якщо массівиА і Вопісани як var А, В: array [1 .. 20] of real; то застосування до них допустимих операцій дасть такий результат:

    Вираз Результат

    А = ВTrue, якщо значення кожного елемента масиву А одно відповідному значенню елемента масиву В

    А <> ВTrue, якщо хоча б одне значення елемента масиву А не дорівнює значенню відповідного елемента масиву В

    А: = ВВсе значення елементів масиву Впрісваіваются відповідних елементів масиву А. Значення елементів масиву повстати незмінні.

    Дії над елементами масиву

    Після оголошення масиву кожен його елемент можна обробити, вказавши ідентифікатор (ім'я) масиву та індекс елемента вквадратних дужках. Наприклад, запис Mas [2], VectorZ [10] дозволяє звернутися до другого елементу масиву Mas і десятому елементу масиву

    VectorZ.

    При роботі з двовимірним масивом вказуються два індекси, з n-мірним масивом - n індексів. Наприклад, запис MatrU [4,4] робить доступним для обробки значення елемента, що знаходиться в четвертому рядку четвертого стовпця масиву MatrU.

    Індексовані елементи масиву називаються індексованими змінними і можуть бути використані так само, як і прості змінні. Наприклад, вони можуть перебувати ввираженіях в якості операндів, використовуватися воператорах for, while, repeat, входити вкачестве параметрів воператори Read, Readln, Write, Writeln; їм можна присвоювати будь-які значення, що відповідають їх типу.

    Алгоритми сортування одновимірних масивів

    Сортування -- один з найбільш поширених процесів сучасної обробки даних. Сортуванням називається розподіл елементів масиву всоответствіі з певними правилами. Наприклад, сортування масиву за зростанням або зменшенням його елементів.

    Обмінна сортування (метод "бульбашки").

    Алгоритм починається з порівняння 1-го і 2-го елементів масиву.

    Якщо 2-й елемент менше 1-го, то вони міняються місцями. Цей процес повторюється для кожної пари сусідніх елементів масиву, поки всі N елементів не будуть оброблені. За один "прохід" масиву найбільший елемент стане на старше (N-е) місце. Далі алгоритм повторюється, причому на р-м "проході" перший (Np) елементів порівнюються зі своїми правими сусідами. Якщо на черговому "проході" перестановок не було, то алгоритм свою роботу закінчив. Таким чином, самі "легкі" елементи впроцессе виконання алгоритму поступово "спливають".

    Сортування вставками.

    Спочатку упорядковуються два перших елемента масиву. Вони утворюють початкове впорядкована множина S. Далі на кожному кроці береться наступний по порядку елемент і вставляється вуже впорядкована множина S так, щоб ліворуч від нього всі елементи були не більше, а справа - не менше оброблюваного. Місце для вставки поточного елемента вупорядоченное безліч S шукається методом ділення навпіл. Алгоритм сортування закінчує свою роботу, коли елемент, що стоїть на N-му місці, буде оброблено. (Саме таким чином гравці вбрідж зазвичай впорядковують свої карти).

    Сортування вибором.

    Знаходиться найбільший елемент вмассіве з N елементів (хай він має номер р.) і змінюється місцями з елементом, що стоїть на N-му місці, за умови, що N <> p. З залишилися (N-1) елементів знову виділяється найбільший і міняється місцями з елементом, що стоїть на (N-1)-му місці і т. д. Алгоритм закінчує свою роботу, коли елементи, що стоять на 1-м і 2-му місцях в масиві, будуть упорядковані (для цього знадобиться N-1 "прохід" алгоритму). Аналогічно даний алгоритм можна застосовувати і до найменших елементів.

    Двовимірні масиви

    Двовимірний називається масив, елемент якого залежить від його місця розташування встроке і встолбце. Вобщем вигляді елемент матриці позначається як A (I, J), де А - ім'я масиву,

    I - індекс (номер) рядка, J - індекс (номер) стовпця.

    Опис матриці на мові Бейсік

    DIM A (I, J) -- описати матрицю (двовимірний масив) це означає надати вільні клітинки в пам'яті ЕОМ для елементів даної матриці. У пам'яті ЕОМ елементи матриці розташовуються по рядках, тому індекс рядка змінюється повільніше, ніж індекс стовпця.

    Прямокутної називається матриця, в якій кількість рядків не дорівнює кількості стовпців.

    Квадратний називається матриця, вкоторой кількість рядків дорівнює кількості стовпчиків.

    Опис матриці на мові Паскаль

    Матрицю можна задати двома способами:

    I. <ім'я матриці>: array <кількість рядків> of array <колічествостолбцов> of <тип змінної>;

    II. <ім'я матриці>: array <кількість рядків "," кількість стовп-цов> оf <тип змінної>].

    Співвідношення індексів у квадратної матриці

    I = J елементи матриці розташовані на головній діагоналі

    I <над розташовані матриці елементи> діагоналлю

    I> J елементи матриці розташовані під головною діагоналлю

    I + J = N + I елементи матриці розташовані на побічної діагоналі (N - кількість рядків або стовпців в квадратної матриці)

    I + J <> діагоналлю

    I + J> N + I елементи матриці розташовані під побічної діагоналлю.

    Нижче наведено приклади завдань з масивами на мові Turbo Pascal.

    Приклад 1. Введення значень елементів масиву за допомогою генератора випадкових чисел і виведення їх встрочку.

    Примітка:

    Для використання випадкових чисел у TP використовуються оператори

    random: real -- генерує випадкові числа в діапазоні 0 ... 0.99.

    random (i: word): word - Генерує випадкові числа вдіапазоне

    0 ... 1.

    randomize -- зміна бази генератора випадкових чисел.

    program mas1;

    var

    a: array [1 .. 10] of integer;

    i: integer;

    begin

    randomize;

    for i: = 1 to 10 do

    begin

    a [i]: = random (20);

    write ( 'a (', i,')=', a [i], '')

    end;

    readln

    end.

    Приклад 2. Скласти програму заповнення одновимірного масиву, так щоб егоi-ий елемент був равенa [i] = (i * i +1)/sin (i).

    program mas2;

    var a: array [1 .. 10] of real;

    i: integer;

    begin

    for i: = 1 to 10 do

    begin

    a [i]: = (i * i +1)/sin (i);

    writeln ( 'a (', i,')=', a [i], '');

    end;

    readln

    end.

    Приклад 3. Скласти програму визначення кількості елементів одновимірного масиву, значення елементів яких менше заданого дійсного числа t.

    program mas3;

    var a: array [1 .. 10] of real;

    i, k: integer; t: real;

    begin

    write ( 'Введіть чіслоt =');

    read (t);

    k: = 0;

    for i: = 1 to 10 do

    begin

    write ( 'Введіть значення елемента a ( ', i,')=');

    readln (a [i ]);

    if a [i]

    end;

    writeln ( 'Відповідь: Кількість елементів, менших заданого числа t ,');

    writeln ( 'равноk =', k);

    readln

    end.

    Приклад 4. Знаходження серед значень елементів, що знаходяться на головній діагоналі матриці, найбільшого і найменшого.

    program mas4;

    var

    a: array [1 .. 10,1 .. 10] of integer;

    i, j, max, min: integer;

    begin

    for i: = 1 to 10 do

    for j: = 1 to 10 do

    begin

    write ( 'Введіть значення елемента матриці =');

    readln (a [i, j])

    end;

    max: = a [1,1];

    min: = a [1,1];

    for i: =

    1 to 10 do

    r, q: real;

    x: array [1 .. 20] of real;

    begin

    writeln ( 'Ведіть масив, відбувся з 20 чисел :');

    for i: = 1 to 20 do read (x [i ]);

    for i: = 1 to 19 do

    for j: = i +1 to 20 do

    if x [i]> = x [j] then

    begin

    r: = x [i]; x [i]: = x [j]; x [j]: = r

    end;

    writeln ( 'Сортування масиву за зростанням проведена :');

    for i: = 1 to 20 do writeln (x [i ]);

    writeln ( 'Для виходу введіть будь-яке число .');

    readln (q);

    end.

    Список літератури

    Львівський М.Б. Методичний посібник «BOOK» з інформатики для 9-11 класів.

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status