Складання програм мовою програмування Object Pascal
Основна методика використання типу String. Головна характеристика процедур і функцій обробки строкових змінних. Особливість визначення на множинному типі найбільш поширених теоретико-множинних операцій і відношень. Аналіз прикладу написання програм.
| Рубрика | Программирование, компьютеры и кибернетика |
| Вид | лабораторная работа |
| Язык | украинский |
| Дата добавления | 25.11.2014 |
| Размер файла | 44,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Лабораторна робота
Тема: Складання програм мовою програмування ObjectPascal. Обробка рядків(STRING). Обробка множин (SET).
Мета: ознайомитись з типом String і виробити навички роботи з символьною інформацією на мові програмування Pascal, навчитись використовувати рядки символів при рішенні завдань.
Теоретична частина
Тип-рядок - послідовність символів довільної довжини (до 255). Рядок можна розглядати як масив символів, проте у зв'язку з широким використанням рядків і деякими особливостями в порівнянні із стандартними масивами вони виділені в окремий тип даних.
У типу-рядка в квадратних дужках може бути вказаний його розмір (від 1 до 255). Якщо розмір рядка не вказаний, він вважається рівним 255, наприклад:
Var
Str: string[80];
MaxStr: string;
Const
January: string[10]='Січень';
Процедури і функції обробки строкових змінних
Length(S: String) : Integer; - функція визначення довжини строкового вираження.
Var
S: String;
begin
Readln (S);
Writeln('"'S, '"');
Writeln('length = ', Length(S));
end.
Copy(S: String; Index: Integer; Count: Integer) : String; - функція виділення підрядка з рядка.
Var S : String;
begin
S:= 'ABCDEF';
S:= Copy(S, 2, 3); { 'BCD'}
end.
Concat(s1 [, s2,..., sn]: String) : String; - функція склеювання рядків; аналогічно операції «+» - послідовне з'єднання рядків.
Var
S: String;
begin
S:= Concat('ABC ', 'DEF'); { 'ABCDE'}
end.
Delete(Var S : String; Index: Integer; Count: Integer); - процедура видалення підрядка з рядка.
Var
s: String;
begin
s:= 'Honest Abe Lincoln';
Delete(s, 8,4);
Writeln(s); { 'Honest Lincoln'}
end.
Insert(Source: String; Var S : String; Index: Integer); - процедура вставки в рядок Word2 підрядка Word1 з позиції n.
Var
S: String;
begin
S:= 'Honest Lincoln';
Insert('Abe ', S, 8); { 'Honest Abe Lincoln'}
end.
Pos(Substr: String; S: String) : Byte; - функція визначення позиції включення одного рядка в іншій;
Var S : String;
begin
S:= ' 123.5';
while Pos(' 'S)> 0 do
S[Pos(' 'S)] := '0';
end.
Ще одним складним стандартним типом даних, що визначений у мові Pascal, є множинний тип. Значенням множинного типу даних є множина, що складається з однотипних елементів. Тип елемента множини називається базовим типом. Базовим типом може бути скалярний або обмежений тип. Таким чином, множина значень множинного типу - це множина всіх підмножин базового типу, враховуючи і порожню множину. Якщо базовий тип містить N елементів, відповідний множинний тип буде містити 2N елементів. строковий змінний множинний програма
Характерна відміна множинного типу - визначення на ньому найбільш поширених теоретико-множинних операцій і відношень. Це робить множинний тип схожим на прості типи даних. Множинні типи описуються в розділі типів наступним чином:
Type < ім'я типу > = Set of < базовий тип >
Type
< ім'я множини> = set of <тип компонент>;
Var
< змінна>:<ім'я множини >;
Допустимі операції з множинами:
`+' об'єднання;
`-` різниця;
`*' перетин;
`=','<=','>=' перевірка еквівалентності двох множин;
`<>' перевірка нееквівалентності двох множин;
in логічний оператор перевірки присутності компоненти в множині.
У Pascal максимальна кількість елементів у множині дорівнює 256. Таким чином, у якості базового типу можна вибирати, наприклад, Char або відрізок 0..255. На завершення розділу, наведемо приклад програми, що використовує множинні типи даних.
Приклад написання програм
1. Об'єднання двох рядків.
Program assign;
Var
Str, str1, str2: string[80];
Begin
Str1:='Turbo';
Str2:='Pascal';
Str:=str1+str2;
Writeln (str);
End.
2. Дан текст, слова в якому розділені пропусками, за останнім словом " ". Надрукувати текст, складений з останніх букв усіх слів початкового тексту.
program prim5_1;
{Підключаємо модуль, що містить функції роботи з екраном}
uses CRT;
var
T: string; {Початковий рядок}
Tletter: string; {Кінцевий рядок}
i: integer; {Позиція пропуску в рядку}
begin
{Очищаємо екран і вводимо початковий текст}
clrscr;
writeln('Введіть текст :'); readln(T);
{Визначаємо позицію першого пропуску}
i:=Pos(' 'T);
while i<>0 do
begin
{Додаємо останню букву чергового слова в кінцевий рядок і видаляємо слово з рядка Т}
Tletter:=Tletter+Copy(T, i - 1,1);
Delete(T, 1, i);
{Визначаємо позицію першого пропуску в зміненому початковому рядку}
i:=Pos(' 'T);
end;
{Визначаємо позицію точки і додаємо останній символ останнього слова}
i:=Pos('.'T);
Tletter:=Tletter+Copy(T, i - 1,1);
writeln('Отриманий рядок :');
writeln(Tletter);
end.
Результат работы программы:
Введіть текст:
Мама мыла раму.
Отриманий рядок:
аау
3. Ввести рядок символів, що складається з латинських букв, символів і пропусків. Здійснити перевірку правильності введених символів.
Program stroka;
Var
Str: string;
L: byte;
Tru: boolean;
Begin
Writeln (`Введіть рядок)
Readln (str);
L:=Length (Str);
Tru:= L>0;
While Tru and (L>0) do
Begin
Tru:=Str[L] in [`0','9'',A'..'Z','a'..'z',' `];
Dec (L)
End;
If Tru then
WriteLn (`Вірний рядок');
Esle
WriteLn (`Неправильная строка');
End.
Порядок роботи.
1. Пройти інструктаж з техніки безпеки.
2. Включити комп'ютер.
3. Завантажити середу розробки PASCAL ABC.
4. Скласти та відладити програму за вказаним варіантом.
5. Зберегти результат роботи.
6. Оформити звіт з лабораторної роботи.
Варіанти завдань
Завдання для робот из рядками (String)
1. Дано цілі позитивні числа N1 і N2 і рядки S1 і S2. Отримати з цих рядків новий рядок, що містить перші N1 символів рядка S1 і останні N2 символів рядка S2 (у вказаному порядку).
2. Дано рядки S і S0. Видалити з рядка S усі підрядки, співпадаючі з S0. Якщо співпадаючих підрядків немає, то вивести рядок S без змін.
3. Дано рядок. Знайти щонайдовше слово в реченні.
4. Дано рядок. Знайти найкоротше слово в реченні.
5. Дана послідовність слів. Перевірити, чи правильно у ньому записані конструкції «жи» та «ши». Вивести слова з помилками. Виправити помилки.
6. Дана послідовність слів. Перевірити, чи правильно у ньому записані конструкції «ча» та «ща». Вивести слова з помилками. Виправити помилки.
Завдання для робот из множинами (Sеt):
1. Дано рядок з рядкових латинських букв, за яким йде точка. Визначити, яких букв - голосних (a, e, i, o, u) або приголосних - більше в цьому тексті.
2. Дано рядок з рядкових російських букв, за яким йде точка. Визначити, яких букв - голосних або приголосних - більше в цьому тексті.
3. Дано рядок символів. Підрахувати скільки в цьому рядку цифр.
4. Дано рядок символів. Підрахувати скільки в цьому рядку розділових знаків.
5. Дано рядок слів. Почати кожне слово в рядку з великої букви (враховувати наявність в рядку розділових знаків).
6. Дано рядок символів. Підрахувати кількість символів латинського і російського алфавіту.
7. Дано рядок. Перетворити в ньому усі рядкові букви (як латинські, так і російські) в прописні, а прописні -- в рядкові
Контрольні питання
1. Як описуються строкові змінні?
2. Яка максимальна довжина рядка допустима в Pascal?
3. Які операції допустимі над строковими даними?
4. У чому відмінність строкової змінної від масиву символів?
5. Які стандартні процедури і функції для роботи з рядками ви знаєте?
6. Що виведе функція Copy(x, Pos(' 'x)+1,18), якщо x='Сила є - розуму не потрібно'?
7. Чому дорівнює значення x[0] після привласнення x :='питання'
Рекомендована література
1. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7/0 и Delphi. Учебное пособие - СПб: ООО «ДиаСофтЮП», 2003. - 208 с.
2. Климова Л.М. Pascal 7.0. Практическое программирование. Решение типовых задач. - М.: КУДИЦ-ОБРАЗ, 2003.- 528с.
3. Ковалюк Т.В. Основи програмування. - К.: Видавнича група BHV, 2005. - 384с.: іл.
Размещено на Allbest.ru
Подобные документы
Записи: ієрархічні, з варіантними полями, множини. Складання програм, які забезпечують дії з таблицями, відомостями, списками, каталогами, де містяться дані різних типів. Особливості використання процедур і функцій мови Turbo Pascal при розробці програм.
реферат [39,8 K], добавлен 13.11.2010Сутність Pascal як алгоритмічної мови програмування універсального призначення. Історія її виникнення і характерні особливості. Специфіка використання середовища розробки програм Borlan Delphi. Реалізація алгоритму визначення n! для великих значень n.
курсовая работа [22,9 K], добавлен 04.01.2014Мoвa прoгрaмувaння як систeма пoзначень, що служить для точного опису програм або алгоритмів для ЕOM. Вимоги до мов програмування, класифікація за їх особливостям. Загальна характеристика найбільш поширених мов програмування: Сі, Паскаль, Delphi, Бейсік.
реферат [24,4 K], добавлен 10.11.2012Розробка та виконання простих програм, програм з розгалуженням, з використанням функцій, масивів, рядків, функцій та структур. Динамічні структури даних. Написання програми обчислення струму по відомих значеннях напруги і опору електричного ланцюга.
курсовая работа [471,0 K], добавлен 02.06.2016Алгоритми розв’язання задач у вигляді блок–схем. Використання мови програмування MS VisualBasic for Application для написання програм у ході вирішення задач на одномірний, двовимірний масив, порядок розв’язання задачі на використання символьних величин.
контрольная работа [742,9 K], добавлен 27.04.2010Модульна структура програм і способи інформаційного зв'язку модулів. Визначення, оголошення та виклик функції. Організація та активація функцій з інформаційним зв'язком через аргументи і параметри. Використання вказівників при роботі з функцією.
курсовая работа [1,1 M], добавлен 20.09.2010Аналіз розроблення та програмування обчислювального процесу лінійної структури, налагодження програм. Вивчення правил запису констант, числових і символьних змінних, типів даних. Побудова алгоритму розв’язування завдання та креслення його блок-схеми.
реферат [2,1 M], добавлен 22.04.2012Загальні відомості про мову програмування, історія створення та використовування. Програма мовою Паскаль складається з лексем і символів – розділювачів. Робота з масивами, створення алгортимів. Складання програм з використанням процедур та функцій.
реферат [18,3 K], добавлен 22.10.2010Загальні відомості про процедури та функції. Характеристика, особливості і можливості мови Pascal, її використання для розробки наочних, компактних, структурованих програм, створення умов для систематичного і цілеспрямованого процесу програмування.
реферат [30,0 K], добавлен 13.11.2010Javascript як мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами. Структура програм на мові Javascript. Декларація змінних та сфер їх впливу. Типи даних та їх використання. Пріоритети операцій.
курсовая работа [51,4 K], добавлен 12.12.2010
