1. Назвіть базові типи даних у Паскалі. 2. Які дії можна виконувати з числовими величинами? 3. Що таке масив? 4. Яка різниця між функцією та процедурою? 5. У яких випадках в Паскалі використовують символи ?
Рядкові величини Функції та процедури для роботи з рядковими величинами
Мета уроку: Ознайомлення додатковими можливостями мови Паскаль, зокрема з функціями та процедурами опрацювання рядкових величин та їх використання для опрацювання даних.
Char –символьний тип (займає 1 байт памяті) Опис даних символьного типу: Const C1= v; опис символьної константи, Var C2: CHAR; опис символьної змінної. Допустимі всі операції порівняння:, >=, <>.
Функції для роботи з символами CHR(N) символ з кодом N Наприклад: chr(65) ORD(S) код символа S Наприклад: ord(A) SUCC(S) наступний символ Наприклад: succ(K) PRED(S) попередній символ Наприклад: pred(K) UPCASE(S) переводить літери у верхній регістр Наприклад: upcase(m) A 65 L J M
Рядок впорядкована послідовність символів кодової таблиці ASCII. Опис даних рядкового типу: Const =ліцей Var :array[1..50] of char; {особлива форму одновимірного символьного масиву} Var :string[максимальна довжина рядка до 255]; Приклад. Const R1=computer; Var R2: STRING; R3: STRING [20]; R3:array[1..20] of char; Рядковый тип STRING
Функцій для роботи з рядковими величинами Функція Concat Функція Concat здійснює обєднання рядків Rl; R2, R3 в один рядок в такому порядку, в якому вони записані. Формат Concat(Rl,R2,R3); R1+R2+R3 Приклад. Program Fconcat; Const Rl='Moвa '; R2='програмування '; R3=Turbo Pascal'; Var R:string[35]; begin R:=concat(Rl,R2,R3); writeln(R); end. (string)
Rl='Moвa '; R2='програмування '; R3=Turbo Pascal'; R:=concat(Rl,R2,R3); 'MoвaпрограмуванняTurbo Pascal';R:= Функцій для роботи з рядковими величинами
Функція Length Функція Length видає фактичну довжину рядка, який міститься в даній змінній. При підрахуванні довжини рядка враховуються всі символи, в тому числі і проміжки!!! Формат: Length(R); Приклад. Program Flength; Const R=Turbo Pascal; Var N: integer; begin N:=length(R); writeln('n=',N); end. Функцій для роботи з рядковими величинами n=12 (string)
Функція Copy Функція Copy копіює фрагмент довжиною N рядка R, починаючи з позиції Poz. Формат Copy(R, Poz, N); Приклад. Program Fcopy; const R='Turbo Pascal'; var R1: string[6]; begin R1:=Copy(R, 7, 6); writeln(R1); end. Функцій для роботи з рядковими величинами (string)
R= TurboPascal PascalR1:= Функцій для роботи з рядковими величинами
Функція Pos Функція Pos знаходить номер позиції Р, з якої починається перше входження слова C в рядку R. Якщо слово C в рядку R не знайдено, то буде надруковано число 0. Формат Pos(C,R); Приклад. Program Fpos; Const R=інформатика'; C=форма'; Var P: integer; begin P:=Pos(C, R); writeln('P=',P); end. Функцій для роботи з рядковими величинами (integer)
R=інформатика'; C=форма'; інформатика форма Pos(C, R) = 3 форма Функцій для роботи з рядковими величинами
Процедура Insert Процедура Insert вставляє слово R1 в рядок R, починаючи з позиції Poz. Формат Insert(R1, R, Poz); Приклад. Program PInsert; Var Poz: integer; R, R1: string[35]; begin R:='Moвa Pascal'; R1:=Turbo ; insert(R1, R, 6); writeln(R); end. Процедури для роботи з рядковими величинами (string)
R:='Moва Pascal'; R1:=Turbo ; insert(R1, R, 6); МоваPascal Turbo Процедури для роботи з рядковими величинами
МоваPascal Turbo R:='Moва Pascal'; R1:=Turbo ; insert(R1, R, 6); Процедури для роботи з рядковими величинами
МоваTurboPascal R:='Moва Pascal'; R1:=Turbo ; insert(R1, R, 6); Процедури для роботи з рядковими величинами
Процедура Delete Процедура Delete знищує слово, яке починається з вказаної позиції Poz і має задану довжину N в рядку R. Формат Delete(R, Poz, N); Приклад. Program PDelete; Var R:string[35]; begin R:='Moвa Turbo Pascal'; delete(R, 6, 6); writeln(R); end. Процедури для роботи з рядковими величинами (string)
R:='Moва Turbo Pascal'; delete(R, 6, 6); МоваTurboPascal N=6 Poz=6 Процедури для роботи з рядковими величинами
МоваPascal Poz=6 R:='Moва Turbo Pascal'; delete(R, 6, 6); Процедури для роботи з рядковими величинами
Стала нульової довжини – Рядок символів вводиться і виводиться як одна змінна. Значення типу string вводяться за допомогою тільки процедури readln і за один раз може бути введений лише один рядок. Памятайте!!!
Практичне завдання Ввести довільний текст. Перевірити, чи в ньому кількість відкритих дужок дорівнює кількості закритих дужок. Вивести повідомлення так або ні. Підказка.
Текст програми Program Sumvol; uses crt; var R:string[100]; i,k1,k2,l:integer; begin clrscr; writeln('Vvestu text:'); readln(r); k1:=0; k2:=0; l:=length(R); for i:=1 to l do begin if copy(R,i,1)='(' then k1:=k1+1; if copy(R,i,1)=')' then k2:=k2+1; end; if k1=k2 then write('yes') else write('no'); readln; end.
Підсумок уроку 1. Рядок – це…. 2. Рядкова замінна – це змінна типу…. 3. Як записати рядкову константу? 4. Функція copy призначена…. 5. Функція concat призначена…. 6. Функція length призначена…. 7. Процедура delete призначена…. 8. Процедура insert призначена….
Домашнє завдання 1. Опрацювати опорний конспект. 2. Вправа1: Ввести довільний текст. Поміняти місцями перший і останній символи. 3. Вправа2: Роздрукувати введений текст в зворотному порядку.