Складання програм мовою програмування 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Аналіз сучасного стану технологій програмування. Порівняння відстані між центрами кіл з радіусами. Класи, які використовуються при розробці програми меню. Розробка та виконання тестового прикладу. Виведення кіл на екран та інструкція користувача.
курсовая работа [229,0 K], добавлен 14.03.2013Розробка системних програм мовою асемблера або мовою високого рівня з вставками цією мовою. Формати числових даних, виконання арифметичних операцій. Арифметичні команди над двійковими цілими, двійково-десятковими не упакованими та упакованими числами.
методичка [232,4 K], добавлен 11.01.2010Загальна структура комп'ютера, архітектура процесора типу Intel 8086. Принцип роботи пам'яті, її види (постійна та оперативна). Основи програмування на мові асемблер та її синтаксис. Особливості використання позначок, кодів команд, операндів і директив.
лабораторная работа [36,0 K], добавлен 27.02.2013Три типи файлів, які містять програми на Turbo Pascal. Призначення модулів та їх структура: заголовок, інтерфейсна частина та кінець. Стандартні модулі, їх особливості. Компіляція програм, які використовують модулі. Підключення модулів до програм.
контрольная работа [19,6 K], добавлен 18.05.2009Постановка задачі: створення списку співробітників інституту. Аналіз мов програмування та вибір мови PascalABC.Net - 32-розрядної програми, яка може працювати на сучасних версіях Windows. Опис функцій та процедур, реалізації інтерфейсу користувача.
курсовая работа [277,8 K], добавлен 25.06.2015Основні джерела ненадійності мережі. Моніторинг широковісних запитів. використання програм типу wrapper, протокол IP v 6, шифрування вмісту пакетів. Технологія функціонування системи FireWall. Використання антивірусних програм та міжмережевих екранів.
презентация [148,2 K], добавлен 19.08.2013Характеристика мов програмування. Історія виникнення мови C#, її особливості, версії та нові можливості. Приклад програм виведення на екран, виведення поточної дати та часу та програми музичного програвача. Програмний код та результат виконання програм.
контрольная работа [321,3 K], добавлен 13.06.2012Теоретичні аспекти програмування мовою Pascal. Основні поняття та елементи мови. Розділи оголошення сталих і змінних. Стандартні та нестандартні типи даних. Основні операції, стандартні функції та процедури, прості програми. Розгалуження, цикли, масиви.
курсовая работа [122,5 K], добавлен 21.10.2012Вивчення можливостей інтегрованого середовища розробки програм Qt Creator. Ознайомлення з основами паралельних обчислень мовою програмування С++ в цьому середовищі. Переваги та конструкції OpenMP, сортування масиву злиттям. Тестування програми сортування.
курсовая работа [87,5 K], добавлен 28.10.2015Засоби організації збереження і обробки даних для інтерфейсних програм. Borland C++ Builder - засіб швидкої розробки програм, що дозволяє створювати їх мовою C++, використовуючи середовище розробки і бібліотеку компонентів Delphi. Прийоми проектування.
курсовая работа [110,5 K], добавлен 28.03.2009