Обробка текстових файлів

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати


МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ

СХІДНОУКРАЇНСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ім. В. Даля

Сєвєродонецького технологічного інституту

КАФЕДРА КОМП'ЮТЕРНОЇ ІНЖЕНЕРІЇ

ПОЯСНЮВАЛЬНА ЗАПИСКА

до курсової роботи з програмування на тему:

"Обробка текстових файлів"

Сєвєродонецьк 2007

форма № У 9.01 *

Утв. наказом Мінвузу УРСР

від 3 серпня 1984 р. № 253

Сєвєродонецький технологічний інститут

Кафедра Комп'ютерної інженерії

Дисципліна Програмування

Спеціальність

Курс 2 Група Семестр 3

ЗАВДАННЯ

на курсовий проект (роботу) студента

Садикова Ільміра Ільдусовіча

1. Тема проекту (роботи) Обробка текстових файлів

2. Термін здачі студентом закінченого проекту (роботи)

3. Вихідні дані до проекту (роботи) Дан текстовий файл. У рядках слова розташувати за зростанням їх довжини (вважати, що слова розділені пробілами). Виділити зірочкою в першій і останній позиціях рядки з найбільшою кількістю слів і рядки, що містять найдовше слово.

Для введення і виведення використовувати компоненти Delphi.

4.Содержаніе розрахунково-пояснювальної записки (перелік які підлягають розробці питань) У курсовому проекті виконана постановка задачі проектування, розроблені алгоритми відповідно до завдання, виконано опис структури програми, призначення її процедур і функцій, наведена інструкція оператора і приклади тестових запусків.

5. Перелік графічного матеріалу (з точним зазначенням обов'язкових креслень)

6. Дата видачі завдання

КАЛЕНДАРНИЙ ПЛАН

п / п

Найменування етапів курсового проекту (роботи)

Термін виконання етапів проекту (роботи)

Примітка

1

Отримання завдання



2

Розробка алгоритму



3

Складання блок-схеми алгоритму



4

Складання програми



5

Підготовка вихідних даних



6

Налагодження програми



7

Отримання результатів



9

Оформлення пояснювальної записки



10

Захист курсової роботи



Студент ________________________

(Підпис) (прізвище, ім'я, по батькові)

Керівник ______________________

(Підпис) (прізвище, ім'я, по батькові)

ЗМІСТ

РЕФЕРАТ

ВСТУП

1. Аналіз технічного завдання та постановка задачі проектування

2. Розробка алгоритму програми

3 ОПИС СТРУКТУРИ ПРОГРАМИ

3.1 Опис змінних

3.2 Опис допоміжних процедур і функцій

3.3 Алгоритм основної програми

4. Інструкція оператора

ВИСНОВКИ

Перелік посилань

ДОДАТОК А. Блок-схема алгоритму

ДОДАТОК Б. Лістинг програми

ДОДАТОК В. Приклад виконання програми

РЕФЕРАТ

Пояснювальна записка до курсової роботи містить:

сторінок - 24;

малюнків - 6;

таблиць - 1;

додатків - 3.

Мета роботи: розробити програму обробки числових послідовностей з кодом на мові Pascal.

У курсовій роботі створена програма, яка реалізує виконання таких функцій: введення користувачем з клавіатури послідовності цілих чисел, пошук у введеної послідовності декількох таких чисел, щоб їх сума поділялося на деякий задається користувачем число. Висновок результату здійснюється на екран монітора і дублюється в текстовий файл на жорсткому диску або зовнішньому накопичувачі. У першому розділі курсової роботи виконано аналіз технічного завдання, виділені функції, якими має володіти розробляється додаток, а також сформульовано вимоги до нього, зроблена постановка завдання на проектування. У другому розділі виконується аналіз задачі проектування, аналізується вид вихідних даних і наводиться словесний алгоритм роботи програми. У третьому розділі розглядаються алгоритми розроблених процедур і функцій, а також наводяться їх опису. До реалізованій програмі розроблена інструкція користувача, що наведена у четвертому розділі. Алгоритми процедур наведені в додатку А. Лістинг програми міститься у додатку Б.

Про грама розроблена з використанням мови Turbo Pascal.

МАСИВ, ЦИКЛ, залишок від ділення, АЛГОРИТМ, ПРОЦЕДУРА, ПОЄДНАННЯ

ВСТУП

Даний курсовий проект був розроблений у середовищі Turbo Pascal 7.0 з базовою мовою програмування Pascal. Серед безлічі мов Pascal є найбільш універсальним і легко вивчаються мовою. На сьогодні Turbo Pascal отримав продовження у мові Object Pascal з підтримкою всіх сучасних можливостей об'єктно-орієнтованого програмування і в такій потужній системі проектування як Delphi.

Для виконання даної курсової роботи необхідно розробити алгоритм вирішення поставленого завдання, правильно вказавши послідовне виконання відповідних команд для отримання необхідних результатів.

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

1. Аналіз технічного завдання та постановка задачі проектування

Згідно з завданням дана послідовність з n цілих чисел. Необхідно написати програму, вибору з них кількох чисел так, щоб сума вибраних чисел ділилася на деяке число k.

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

В якості додаткової функції можна передбачити висновок інформації про програму (її виконуваних функціях) не екран.

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

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

Підсумувавши все вищесказане можна сформулювати вимоги до розробляється програмного забезпечення та виконати постановку завдання на проектування. Так, згідно із завданням, програма повинна бути реалізована в середовищі Turbo Pascal і повинна виконувати наступні функції:

- Виведення на екран інформації про завдання та цілі програми;

- Введення користувачем кількості чисел послідовності з клавіатури;

- Введення користувачем послідовності цілих чисел;

- Перебір всіх можливих поєднань елементів із запропонованої послідовності;

- Визначення сум елементів у поєднаннях і висновок на екран послідовностей та отриманих сум;

- Визначення, чи задовольняє сума умові: ділиться на k без залишку;

- Висновок інформації на екран, якщо знайдено шукане поєднання елементів;

- Висновок інформації на екран, якщо жодна з поєднань не задовольняє умові завдання;

- Можливість збереження результатів роботи в текстовому файлі на жорсткому диску.

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

2. Розробка алгоритму програми

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

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

Згідно з завданням необхідно буде виконати перебір всіх можливих поєднань елементів. Оскільки число елементів у поєднанні умовою не задано, то повинні будуть перебрані всі поєднання З 1 n, С 2 n,. . . , З i n, З n n, для кожного з яких повинні будуть обчислені суми. Відомо, що . Кількість можливих поєднань з кожним новим числом зростає з досить високою швидкістю. Оскільки завдання навчальна, то обмежимо штучно довжину послідовності, приміром, 20 числами. Таким чином, на етапі введення слід контролювати введене число n, і у випадку коли N більше 20, то доцільно повідомити користувача про обмеження, що накладаються на довжину послідовності і запросити повторне введення числа. Оскільки помилка може бути кількаразової (умисний чи помилковий введення поспіль кількох некоректних значень), то доцільно буде для введення кожного числа організувати цикл, умовою завершення якого буде коректно введене значення. Для заповнення елементів масиву можна використовувати цикл із заданим числом повторень.

Після введення вихідних даних необхідно здійснити пошук такого поєднання елементів, сума яких ділиться на k без залишку. Для реалізації цього пошуку можна здійснити перебір всіх можливих поєднань і обчислювати для кожного з них суму елементів. Сполучення слід перебирати спочатку по одному елементу, потім по два елементи, потім по три, і так далі, поки не буде знайдено шукане поєднання або ж поки не досягнемо останнього поєднання, в яке входять всі N елементів послідовності.

Для реалізації цього способу виділити наступні підзадачі:

  1. Підзадача генерації сполучень з заданої кількості натуральних чисел від 1 до N. Існують досить прості методи генерації подібних поєднань. У цьому випадку кожна з таких згенерованих поєднань буде задавати номери позицій елементів з вихідної послідовності, які слід взяти для рахунками суми. Наприклад, якщо було створене поєднання 2, 3, 5. То воно задає набір з трьох чисел вихідної послідовності, які стоять на 2, на 3 і на 5 місці в масиві цілих чисел.

  2. Підзадача обчислення суми чисел у поєднанні. Тобто, слід витягти числа з заданими номерами з вихідного масиву і визначити їх суму.

Підзадачі 1 будемо запускати в циклі від m = 1 до n, де m буде задавати кількість чисел у поєднанні. Після виконання підзадачі 1 організуємо цикл по всіх сгенерованими сполученням і для кожного з них будемо обчислювати суму з допомогою підзадачі 2. Для обчисленої суми будемо визначати залишок від ділення на число k, і якщо він дорівнює нулю, то шуканий набір знайдений і завдання можна вважати вирішеною.

Згідно з завданням необхідно знайти хоча б одне таке поєднання чисел. Оскільки не варто завдання в знаходженні всіх можливих сполучень, то при виявленні першої ж суми задовольняє умові, процес пошуку можна завершувати (можна вийти з циклу перебору сполучень з циклу за m) і залишиться тільки вивести відповідне повідомлення користувачеві.

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

Детальний опис розробленої програми, алгоритмів та їх програмної реалізації наведено у наступних розділах. Схема алгоритму представлена ​​в Додатку А.

3 ОПИС СТРУКТУРИ ПРОГРАМИ

3.1 Опис змінних

У розділі описів програми здійснюється підключення модуля crt, який необхідний для використання функції clrscr (очищення вмісту екрана висновку).

У розділі опису типів наведено два типи:

Arr = array [1 .. 20] of integer; - буде використовуватися для завдання початкового масиву;

Arr2 = array [1 .. 1000,0 .. 20] of byte - буде використовуватися для зберігання згенерованих поєднань.

Перша розмірність буде задавати номер поєднання, а друга - номери елементів у конкретному поєднанні.

Також в розділі описів змінних описані змінні, призначення яких наведено в таблиці 3.1.

Таблиця 3.1-Опис змінних програми

Найменування

Тип

Призначення

N

integer

задається користувачем і зберігає довжину послідовності чисел

K

integer

змінна, яка задається користувачем і на яку повинна ділитися шукана сума без залишку

Chisla

Arr

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

Idx

Arr

масив, в якому зберігаються згенеровані поєднання. Кожен рядок задає окреме поєднання (позиції елементів у масиві Chisla)

i, j

integer

тимчасові змінні, необхідні для організації циклів при переборі елементів послідовності

m

integer

змінна, необхідна для організації циклу по кількості елементів у поєднанні

kol

integer

змінна, яка зберігає кількість сполучень, згенерованих на поточному циклі по m

fnd

boolean

логічна змінна, яка використовується як прапор, знайдена чи шукана сума (true - якщо знайдена)

tf

text

мінлива текстового файлу, використовується для збереження результатів роботи в текстовому файлі

S

string

строкова змінна, що використовується для формування рядки виводу з складеним поєднанням і сумою

St

string

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

3.2 Опис допоміжних процедур і функцій

У програмі наведено опис однієї допоміжної процедури і однієї функції.

Процедура Info (var ft: TEXT) призначена для виведення допоміжної інформації про програму та про завдання на курсову роботу. Слід зауважити, що процедура дублює висновок інформації на екран монітора і в текстовий файл з результатами виконання програми. При цьому, параметр ft: TEXT якраз і задає файл, в який здійснюється висновок. Умовою застосування даної процедури є те, що перед викликом процедури файлової змінної ft має бути призначено ім'я фізичної файлу на жорсткому диску за допомогою процедури ASSIGN. Крім того, файл попередньо повинен бути відкритим для запису за допомогою функції REWRITE. Текст процедури наведено у рядках 15-35.

Процедура GenerateSochet (var Sochet: Arr2; n, m: integer; var kol: integer) призначена для генерації сполучень з n натуральних чисел від 1 до N через m.

Згенеровані послідовності будуть повертатися через параметр Sochet.

Параметр N задає кількість чисел з яких слід вибирати поєднання.

Параметр M задає по скільки чисел бере участь в одному поєднанні.

Через параметр KOL буде повернуто загальна кількість згенерованих поєднань.

Тобто у вихідному мас Ціви Sochet слід переглянути рядки від 1 до KOL це і будуть поєднання, причому в кожному рядку слід аналізувати лише елементи від 1 до m.

Алгоритм генерації поєднань наведено на рисунку А.1 додатка А. Код процедури наведено у рядках 49 -70 додатка Б.

Генерація поєднань виконується за наступному правилу:

  1. Початкове поєднання утворює послідовність 1, 2, .. m, а останнє n-m +1, ..., n.

  2. Перехід до наступного поєднанню здійснюється за наступним правилом: потрібно переглянути поточний поєднання з кінця і знайти елемент, який можна збільшити. Тобто такий елемент що Sochet [kol, i] <> n-m + i. Далі збільшуємо цей елемент на 1, а частину, що залишилася поєднання заповнюємо числами натурального ряду великими зміненого елемента в порядку їх слідування.

Функція Summ (Chisla: Arr; Idxs: Arr 2; m, nom: integer): integer призначена для визначення суми чисел відповідного поєднання, де:

Chisla - масив вихідних чисел, які будуть підсумовуватися;

Idxs - масив згенерованих сполучень (містить лише номери позицій);

M - кількість елементів у поєднанні;

NOM - номер поєднання з масиву Idxs, суму якого потрібно знайти.

У функції буде аналізуватися рядок NOM масиву Idxs, точніше не вся рядок, а тільки перші M елементів. Ці елементи задають номери чисел в масиві Chsila, які потрібно підсумувати.

Алгоритм виконання описаних дій наведено на рисунку А.2 додатка А, а код функції наведено в рядках 36-48 додатка Б.

3.3 Алгоритм основної програми

Після цього здійснюється введення вихідних даних, а саме: числа елементів послідовності N і самої последователності чисел. Введення вихідних даних організований у рядках 76-85 лістингу в додатку Б.

Після введення вихідних даних організується цикл по m (за кількістю елементів у поєднанні). У тілі цього циклу виконуються дії:

- Генеруються всі можливі поєднання з m натуральних елементів 1 .. N за допомогою процедури GenerateSochet;

- Організується цикл по i, в якому перебираються всі з згенерованих на попередньому етапі поєднання і виконуються дії:

- Виведення на екран і в файл елементів поєднання (цикл з j в рядках 95-99);

- Обчислення суми за допомогою функції SUMM (рядок 100);

- Перевірка отриманої суми на поділ на K (залишок від ділення визначається за допомогою оператора MOD), (рядки 103-113);

Для перетворення цілого числа в рядок використовується процедура STR (a; var S: string), де a задає ціле число, а через параметр S повертається строкове значення. Якщо сума Sm задовольняє умові і позовом е поєднання чисел знайдено, встановлюється прапор fnd і здійснюється вихід з циклу.

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

4. Інструкція оператора

Розроблена програма представляє собою виконуваний файл SOCHET. EXE розміром 8096 байт. У програмі виконується обробка числової послідовності.

Після запуску програми з'являється вікно, зображене на малюнку 4.1.

Малюнок 4.1 - Головне вікно програми

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

Малюнок 4.2 - Реакція програми на хибний введення кількості N

Після коректного введення довжини послідовності користувач може задати саму послідовність цілих чисел. Після коректного введення програма виконує перебір всіх поєднань. На малюнку 4.3 показаний приклад виконання програми, а вміст файлу sochet. Res наведений у додатку В.

Малюнок 4.3 - Результат роботи програми

На малюнку 4.4 приведений приклад виконання програми, коли серед всіх поєднань не було знайдено жодного, який задовольняє умові завдання.

Малюнок 4.4 - Результат роботи програми (пошук невдалий)

Функціонування програми повністю відповідає завданням.

ВИСНОВКИ

Ця курсова робота була виконана в повній відповідності поставленому завданню і налагоджена в середовищі Turbo Pascal 7.0. У ході виконання курсової роботи була розроблена програма для обробки числової послідовності.

В результаті виконання даної курсової роботи, я переконалася в широких можливостях мови програмування Turbo Pascal, закріпила практичні навички програмування в c Реде Turbo Pascal.

Перелік посилань

  1. Зуєв Є.А. Програмування на мові Turbo Pascal 6.0,7.0. - М.: Радіо і зв'язок, Веста, 1993.

  2. Фаронов В. В. Turbo Pascal 7.0. Початковий курс. - М.: Нолидж, 2000.

  3. Йенсен К., Вірт Н. Паскаль. Керівництво для користувача і опис мови. - М.: "Фінанси і статистика", 1982. - С. 151.

  4. Вірт Н. Алгоритми + структури даних = програми. - М.: "Мир", 1985. - С. 406.

  5. Грогоно П. Програмування на мові Паскаль. - М.: "Мир", 1982. - С. 384.

  6. Пермінов О. М. Мова програмування Паскаль: Довідник. - М.: "Радіо і зв'язок", 1989. - С. 128. - ISBN 5-256-00311-9

  7. Культін Н.Б. Delphi 6. Програмування на Object Pascal. - СПб.: "БХВ-Петербург", 2001. - С. 528. - ISBN 5-94157-112-7

  8. Моргун О. М. Програмування на мові Паскаль (Pascal). Основи обробки структур даних. - М.: "Діалектика", 2005. - С. 576. - ISBN 5 - 8459 - 0935 - X

  9. Гранпер Ж., Котте Р. Тривимірна графіка на Турбо-Паскалі

  10. Білецький Я. Турбо-Паскаль з графікою для ПК .- М.: Машинобудування, 1991. - 320 с.

  11. Бородич Ю.С. та ін Паскаль для ПК: Довідкова допомога. - МН.: Вищ. шк.: БФ ГІТМП "НІКА", 1991. - 365 с.

  12. Зуєв Є.А. Мова програмування Turbo Pascal 6.0. - М.: Унітех, 1992. - 298 с.

  13. Фаронов В.В. Турбо-Паскаль (у 3 книгах). - М.: "МВТУ-ФЕСТО Дидактика", 1992-1993.

ДОДАТОК А

Алгоритм програми

Рисунок А.1 - Алгоритм процедури генерації поєднань GenerateSochet

Рисунок А.2 - Алгоритм функції визначення суми SUMM

Рисунок А.3 - Алгоритм виконання тіла програми

ДОДАТОК Б

Лістинг програми

  1. unit Unit1;

  2. program sochet;

  3. uses crt;

  4. type

  5. Arr = array [1 .. 20] of integer;

  6. Arr2 = array [1 .. 1000,0 .. 20] of byte;

  7. var

  8. i, j, m, n, k, kol: integer;

  9. Sm: integer;

  10. Idx: Arr2;

  11. Chisla: Arr;

  12. fnd: boolean;

  13. tf: TEXT;

  14. S, St: string;

  15. Procedure Info (var ft: TEXT);

  16. begin

  17. writeln ('*********************************************** * ');

  18. writeln ('**** КУРСОВА РОБОТА З ПРОГРАМУВАННЯ ****');

  19. writeln ('** **');

  20. writeln ('** Задано послідовність з n чисел **');

  21. writeln ('** Вибрати в послідовності кілька таких чисел, **');

  22. writeln ('** щоб їх сума ділилася на m. **');

  23. writeln ('**** ****');

  24. writeln ('*********************************************** * ');

  25. writeln;

  26. writeln (ft ,'********************************************* * ');

  27. writeln (ft ,'**** КУРСОВА РОБОТА З ПРОГРАМУВАННЯ ****');

  28. writeln (ft, '** **');

  29. writeln (ft, '** Задано послідовність з n чисел **');

  30. writeln (ft, '** Вибрати в послідовності кілька таких чисел, **');

  31. writeln (ft, '** щоб їх сума ділилася на m. **');

  32. writeln (ft ,'**** ****');

  33. writeln (ft ,'********************************************* * ');

  34. writeln (ft ,'');

  35. end;

  36. {Процедура підсумовує числа з номерами, які задані в рядку nom масиву Idxs}

  37. Function Summ (Chisla: Arr; Idxs: Arr2; m, nom: integer): integer;

  38. var

  39. idx, i, Sm: integer;

  40. begin

  41. Sm: = 0;

  42. for i: = 1 to m do

  43. begin

  44. idx: = Idxs [nom, i];

  45. Sm: = Sm + Chisla [idx];

  46. end;

  47. Summ: = Sm;

  48. end;

  49. {Процедура генерації поєднання з n по m, для чисел 1,2, ... , N}

  50. Procedure GenerateSochet (var Sochet: Arr2; n, m: integer; var kol: integer);

  51. var

  52. ii, jj: integer;

  53. begin

  54. kol: = 1;

  55. {Генерація найпершого поєднання}

  56. for ii: = 0 to m do

  57. Sochet [kol, ii]: = ii;

  58. repeat

  59. {Vivod (Sochet, nom, m);}

  60. kol: = kol +1;

  61. for ii: = 0 to m do

  62. Sochet [kol, ii]: = Sochet [kol-1, ii];

  63. ii: = m;

  64. while (Sochet [kol, ii] = (n-m + ii)) and (ii> 0) do

  65. ii: = ii -1; {пошук елемента для зміни}

  66. Sochet [kol, ii]: = Sochet [kol, ii] +1;

  67. for jj: = ii +1 to m do

  68. Sochet [kol, jj]: = Sochet [kol, jj -1] +1; {зміна правій частині поєднання}

  69. until ii = 0;

  70. end;

  71. begin

  72. clrscr;

  73. assign (tf, 'sochet.res');

  74. rewrite (tf);

  75. INFO (tf);

  76. write ('Задайте кількість чисел n:'); readln (n);

  77. while (n <1) or (n> 20) do

  78. begin

  79. write ('Помилковий введення! Задайте кількість чисел n (n> 0; n <21 ):');

  80. readln (n);

  81. end;

  1. write ('Задайте числа:');

  2. for i: = 1 to n do

  3. read (Chisla [i]);

  4. write ('Задайте k (на нього повинна ділитися сума без залишку):'); readln (k);

  5. fnd: = false;

  6. for m: = 1 to n do

  7. begin

  8. GenerateSochet (Idx, n, m, kol);

  9. Writeln ('* * * Перебір сполучень за', M, 'елементів! * * *');

  10. Writeln (tf, '* * * Перебір сполучень за', M, 'елементів! * * *');

  11. for i: = 1 to kol-1 do

  12. begin

  13. S :='';

  14. for j: = 1 to m do

  15. begin

  16. Str (Chisla [Idx [i, j]], St);

  17. S: = S + St + '';

  18. end;

  19. Sm: = Summ (Chisla, Idx, m, i);

  20. Str (Sm, St);

  21. S: = S + 'Sum =' + St;

  22. if (Sm mod k) = 0 then

  23. begin

  24. S: = S + 'Бажаєма пара!';

  25. writeln (S);

  26. writeln (tf, S);

  27. fnd: = true;

  28. break;

  29. end else begin

  30. writeln (S);

  31. writeln (tf, S);

  32. end;

  33. end;

  34. if fnd then break;

  35. end;

  36. if fnd then begin

  37. writeln ('Бажаєма комбінація знайдена!');

  38. writeln (tf, 'Бажаєма комбінація знайдена!')

  39. end else begin

  40. writeln ('Бажаєма комбінація чисел НЕ знайдено!');

  41. writeln (tf, 'Бажаєма комбінація чисел НЕ знайдено!');

  42. end;

  43. Close (tf);

  44. readln;

  45. end.

ДОДАТОК В

Приклад виконання програми (пошук вдалий)

Приклад виконання програми (пошук невдалий)


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Практична робота
90.5кб. | скачати


Схожі роботи:
Архівація файлів та створення архіватора текстових файлів
Перекодування текстових файлів
Программа для перегляду текстових файлів різного розміру
Розробка програми призначеної для перегляду текстових файлів різного розміру
Програма для перегляду великих текстових файлів розмір яких більший за 64 кілобайти 2
Програма для перегляду великих текстових файлів розмір яких більший за 64 кілобайти
Обробка файлів в середовищі Delphi
Архівування файлів Методи архівування файлів за допомогою основних програм архваторів - опис
Використання файлів Прийоми використання файлів у програмах - запис та зчитування інформації
© Усі права захищені
написати до нас