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

     

     

     

     

     

         
     
    Рядок даних у мові Pascal
         

     

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

    Рядковий тип даних у мові Pascal

    Познайомимося з типом даних, який належить до структурованих. Це рядковий тип даних (рядок). Рядок - це послідовність символів. Кожен символ займає 1 байт пам'яті (код ASCII). Кількість символів у рядку називається її завдовжки. Фраза може знаходитися в діапазоні від 0 до 255. Рядкові величини можуть бути константами та змінними. Особливістю рядка в Turbo Pascal є те, що з нею можна працювати як з масивом символів, з одного боку, і як з єдиним об'єктом, - з іншого. За рахунок цього обробка рядків достатньо гнучка і зручна. Строкова константа є послідовність символів, укладена в апострофи. Наприклад: Це строкою константа ', '272'. Строкова мінлива описується в розділі опису змінних наступним так:

    Var  : String [];

    Наприклад:

    Var Name: string [20].

    Параметр довжини може і не вказуватися в описі. У такому випадку мається на увазі, що він дорівнює максимальну величину - 255. Наприклад: Var slovo: string.

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

    Символи всередині рядка індексуються (нумеруються) від одиниці. Кожен окремий символ ідентифікується ім'ям рядки з індексом, укладених у квадратні дужки. Наприклад: N [5], S [i], slovo [k + l]. Індекс може бути позитивною константою, змінною, виразом цілого типу. Значення індексу не повинно виходити за межі опису.

    Тип string і стандартний тип char сумісні. Рядки та символи можуть вживатися в одних і тих же виразах.

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

    Операція зчеплення (конкатенації) (+) застосовується для з'єднання декількох рядків в один результуючу рядок. Зв'язує можна як рядкові константи, так і змінні.

    Приклад: 'Мама' + 'Мила' + 'раму'. В результаті вийде рядок: "Мама мила раму". Довжина результуючої рядки не повинна перевищувати 255.

    Операції відносини: =,, =,. Дозволяють призвести порівняння двох рядків, в результаті чого виходить логічне значення (true або false). Операція відносини має пріоритет нижчий, ніж операція зчеплення. Порівняння рядків проводиться зліва направо до першого неспівпадаючі символу, і той рядок вважається більше, в якій перший неспівпадаючі символ має більший номер в таблиці символьної кодування. Якщо рядки мають різну довжину, але в загальній частині символи збігаються, вважається, що більш короткий рядок менше, ніж довша. Строки рівні, якщо вони повністю співпадають по довжині і містять одні й ті ж символи.

    Приклад:        

    Вираз         

    Результат             

    'True1''MOTHER'         

    True             

    'Мама'    'Мама'         

    True             

    'Cat' = 'Cat'         

    True     

    Функція Copy (S, Pozition, N) виділяє з рядка S підрядок довжиною N символів, починаючи з позиції Pozition. Тут N і Pozition - цілочисельні вирази.

    Приклад:        

    Значення   S         

    Вираз         

    Результат             

    'Мама   мила раму '         

    Copy (S, 6, 4)         

    'мила'             

    'Маша   їла кашу '         

    Copy (S, 1, 8)         

    'Маша їла'     

    Функція Concat (S1, S2, ..., SN) виконує зчеплення (конкатенацію) рядків S1, S2, ..., SN в один рядок.

    Приклад:        

    Вираз         

    Результат             

    Concat ( 'Маша   ',' Їла ',' кашу ')         

    'Маша   їла кашу '     

    Функція Length (S) - визначає поточну довжину рядка S. Результат - значення цілого типу.

    Приклад:        

    Значення   S         

    Вираз         

    Результат             

    'test-5'         

    Length (S)         

    6             

    '(A + B) * C'         

    Length (S)         

    7     

    Функція Pos (S1, S2) - виявляє перша поява в рядку S2 підрядка S1. Результат - ціле число, яке дорівнює номеру позиції, де знаходиться перший символ рядка S1. Якщо в S2 підрядка S1 не виявлено, то результат дорівнює 0.

    Приклад:        

    Значення   S2         

    Вираз         

    Результат             

    'abcdef'         

    Pos ( 'cd', S2)         

    3             

    'abcdcdef'         

    Pos ( 'cd', S2)         

    3             

    'abcdef'         

    Pos ( 'k', S2)         

    0     

    Процедура Delete (S, Poz, N) - видалення N символів з рядка S, починаючи з позиції Poz.

    Приклад:        

    Початкове   значення S         

    Оператор         

    Кінцеве   значення S             

    'abcdefg'         

    Delete (S, 3, 2)         

    'abefg'             

    'abcdefg'         

    Delete (S, 2, 6)         

    'a'     

    У результаті виконання процедури зменшується поточна довжина рядка в змінної S.

    Процедура Insert (S1, S2, Poz) - вставка рядка S1 в рядок S2, починаючи з позиції Poz.

    Приклад:        

    Початкове   значення S2         

    Оператор         

    Кінцеве   значення S2             

    'ЕОМ РС'         

    Insert ( 'IBM-', S2, 5)         

    'ЕОМ IBM-PC'             

    'Рис. 2 '         

    Insert ( 'N', S2, 6)         

    'Рис. N   2 '     

    Контрольні питання і завдання

    Як можна оголосити величину строкового типу?

    До яких типів даних відносяться строки?

    Яка максимально можлива довжина рядка?

    З величиною якого типу даних сумісний з привласнення окремий символ рядка?

    Розкажіть про операціях, які можна виконувати над рядковими величинами.

    Розкажіть про функціях, визначених для величин строкового типу.

    Розкажіть про процедурах, визначених для величин строкового типу.

    Як здійснюється доступ до окремого сііволу рядка?

    Чому значення відносини 'Мама''мама' одно TRUE?

    Дан фрагмент програми:

    S: ='';

    For I: = '0 'to '9' do S: = S + I;

    Яке значення пулучіт мінлива S після його виконання?

    Дан фрагмент програми.

    Type String40 = String [40]; M = Array [1 .. 100] Of String40;

    Var A: M; I, J, Min, N: Byte; Vsp: String40;

    Begin

    Write ( 'N? '); ReadLn (N);

    For I: = 1 To N Do ReadLn (A [I ]);

    For I: = 1 To N-1 Do

    Begin Min : = I;

    For J : = I + 1 To N Do If A [J]

    Vsp : = A [I]; A [I]: = A [Min]; A [Min]: = Vsp;

    End;

    WriteLn ( 'В:'); For I: = 1 To N Do WriteLn (A [I])

    End.

    Точно і однозначно сформулювати умову задачі, рішення яких наведені в даному фрагменті.

    Є наступна мінлива

    Var S: Array [1 .. 100] Of String;

    Яка з звернень до J-му символу I-тої рядки (I-го елемента масиву S) буде правильним?

    1) S [I] [J]; 2) S [I, J]; 3) S [J] [I]; 4) відповіді 1-2 правильні; 5) серед відповідей немає жодного правильного.

    Яка функція (процедура) є аналогом операції зчеплення (+) при роботі з рядками?

    Який буде результат виконання операції зчеплення, якщо довжина результуючої рядка перевищить значеніе255?

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

    Для підготовки даної роботи були використані матеріали з сайту http://www.comp-science.narod.ru/

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

     

     

     

     

     

     

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