Державний комітет України з вищої освіти p>
Московська державна текстильна академія імені А. М. Косигіна p>
кафедра інформатики та обчислювальної техніки p>
p>
Практична робота з курсу p>
основи ПЕОМ p>
Група № 46-94 p>
Студент Бондаренко Ю.М.
Керівник Цимбалюк М.Я.
Перевірила Маланин Е.М p>
Москва 1995
Зміст: p>
1. Використання символьних функцій p>
1.1 Постановка завдання p>
1.2. Умовні позначення p>
1.3. Блок-схема алгоритму розв'язання задачі p>
1.4. Програма p>
1.5. Контрольний приклад p>
2. Рішення нелінійних рівнянь p>
2.1 Постановка завдання p>
2.2. Умовні позначення p>
2.3. Блок-схема алгоритму розв'язання задачі p>
2.4. Програма p>
2.5. Результати рішення рівняння p>
3. Обробка даних для отримання статистичних оцінок p>
3.1 Постановка завдання p>
3.2. Умовні позначення p>
3.3. Блок-схема алгоритму розв'язання задачі p>
3.4. Програма p>
3.5. Контрольний приклад p>
4. Робота з каталогами та файлами в MS - DOS p>
4.1. Постановка завдання p>
4.2. Завдання p>
5. Робота з каталогами і файламив системі NORTON COMMANDER p>
5.1. Постановка завдання p>
5.2. Завдання p>
6. Висновок p>
1. Використання символьних функцій.
1.1. Постановка завдання.
Написати програму з використанням символьних функцій для обробкитексту. Вважати, що в заданому тексті слова розділені одним пропуском.
Підрахувати кількість питальних речень в заданому тексті і кол-вослів у кожному з таких пропозицій. p>
1.2. Умовні позначення.
A $ - ім'я символьної змінної для запису заданого тексту.
N - мінлива для запису кількості символів у тексті A $.
В $ (N) - масив для запису символів, з яких складається текст A $.
C (N) - масив для запису номера позиції, на якому в тексті знаходитьсясимвол "."
S (N) - номера позиції, на якій в тексті A $ знаходиться символ "?".< br>D (N) - масив значень, кількості символів у кожному з пропозицій, зяких складається текст.
R $ (N, N) - масив для запису символів, з яких складається кожнепропозицію.
K - мінлива для запису кількості "?" У тексті A $.
T - мінлива для запису кількості "." У тексті A $.
F (N) - масив для запису кількості прогалин кожного окремогопропозиції.
C $ (N) - масив для запису кожної пропозиції в окрему клітинку.
B - мінлива для підрахунку кількості прогалин у кожному реченніокремо. p>
1.3. Блок-схема алгоритму рішення задачі. P>
| | початок | |
| | | |
| | A $ | |
| | | |
| | N = LEN (A $) | |
| | | |
| опис масивів B $ (N), C (N), S (N), D (N), |
| R $ (N, N), E (N), C $ (N) |
| | | |
| | I = 1, N | |
| | | |
| | B $ (I) = MID $ (A $, | |
| | I, 1) | |
| | | |
| | K = 0, T = 0 | |
| | | |
| | I = 1, N | |
| | | |
| | B $ (I) = "?" | |
| | | |
| | K = K + 1 | |
| | S (K) = I | |
| | | |
| | B $ (I) = "." | |
| | | |
| | T = T + 1 | |
| | C (T) = I | |
| | | |
| | C (1)> S (1) | |
| | | |
| C $ (1) = MID $ (A $, 1, S (1)) |
| | | |
| C $ (1) = MID $ (A $, C (1), S (1) - C (1)) |
| | | |
| | I = 2, K | |
| | | |
| | C (I)> S (I) | |
| | | |
| C $ (I) = MID $ (A $, S (I - 1), S (I) - S (I - 1)) |
| | | |
| C $ (I) = MID $ (A $, C (I), S (I) - C (I)) |
| | | |
| | I = 1, K | |
| | | |
| | D (I) = | |
| | LEN (C $ (I)) | |
| | | |
| | I = 1, K | |
| | | |
| | J = 1, D (I) | |
| | | |
| R $ (I, J) = MID $ (C $ (I), J, 1) |
| | | |
| | I = 1, K | |
| | | |
| | B = 0 | |
| | | |
| | J = 1, D (I) | |
| | | |
| | R $ (I, J) = "" | |
| | | |
| | B = B + 1 | |
| | | |
| | C (1)> S (1) | |
| | | |
| | E (1) + 1 | |
| | | |
| | E (1) | |
| | | |
| | I = 2, K | |
| | | |
| | E (I) | |
| | | |
| | Кінець | | p>
1.4. Програма.
CLS
INPUT "Введіть текст"; A $
N = LEN (A $)
DIM B $ (N), C (N), S (N), D (N), R $ (N, N), E (N), C $ (N)
FOR I = 1 TO N
B $ (I) = MID $ (A $, I, 1)
NEXT I
FOR I = 1 TO N
IF B $ (I) = "?" THEN
K = K + 1
S (K) = I
END IF
IF B $ (I) = "." THEN
T = T + 1
C (T) = I
END IF
NEXT I
IF C (1)> S (1) THEN
C $ (1) = MID $ (A $, 1, S (1))
ELSE
C $ (1) = MID $ (A $, C (1), S (1) - C (1))
END IF
FOR I = 2 TO K
IF C (I)> S (I) THEN
C $ (I) = MID $ (A $, S (I - 1), S (I) - S (I - 1))
ELSE
C $ (I) = MID $ (A $, C (I), S (I) - C (I))
END IF
NEXT I
FOR I = 1 TO K
D (I) = LEN (C $ (I))
NEXT I
FOR I = 1 TO K
FOR J = 1 TO D (I)
R $ (I, J) = MID $ (C $ (I), J, 1)
NEXT J
NEXT I
FOR I = 1 TO K
B = 0
FOR J = 1 TO D (I)
IF R $ (I, J) = "" THEN
B = B + 1
END IF
NEXT J
E (I) = B
NEXT I
PRINT "Кількість питальних пропозицій одно"; K
IF C (1)> S (1) THEN
PRINT "Кількість cлово в 1-м питальні речення одно"; E (1) + 1
ELSE
PRINT "Кількість слів в 1-м питальні речення одно"; E (1)
END IF
FOR I = 2 TO K
PRINT "Кількість cлово в"; I; "-м питальні речення одно"; E (I)
NEXT I
END p>
1.5. Контрольний приклад.
Ви бачите високого чоловіка біля вікна? Це відомий актор. Ви хочетепознайомитися з ним? Я вам допоможу в цьому. P>
Кількість питальних пропозицій дорівнює 2. P>
Кількість слів в 1-м питальні речення одно 6. P>
Кількість слів в 2-м питальні речення одно 5. p>
2. Рішення нелінійних рівнянь.
2.1. Постановка завдання.
Скласти програму для знаходження кореня рівняння на відрізку [0; 0,8]методом половинного поділу з точністю 0.1, 0.01, 0.001, 0.0001. tg x - 1/3 tg 3 x + 1/5 tg 5 x - 1/3 = 0 p>
Результати представити в таблиці такого вигляду: p>
| Метод | |
| Рівняння | |
| Відрізок | |
| Точність | Рішення (корінь рівняння) |
|. . . | | P>
2.2. Умовні позначення.
N - розмірність масиву значень точності рішення.
E (N) - масив значень точності рішення.
X (N) - масив значень коренів рівняння з i-ої точністю.
А - ім'я змінної для запису лівої межі відрізка.
В - ім'я змінної для запису правої межі відрізка. P>
2.3. Блок-схема алгоритму рішення задачі. P>
| | початок | |
| | | |
| | A, B, N | |
| | | |
| опис масивів X (N), |
| E (N) |
| | | |
| | I = 1, N | |
| | | |
| | E (I) | |
| | | |
| | I = 1, N | |
| | | |
| | A1 = A | |
| | B1 = B | |
| | | |
| Y = TAN (A1) - 1/3 * |
| TAN (A1) ^ 3 + 1/5 * |
| TAN (A1) ^ 5 - 1/3 |
| | | |
| X (I) = (A1 + B1)/2 |
| | | |
| Z = TAN (X (I)) - 1/|
| 3 * TAN (X (I)) ^ 3 + 1/5 * |
| TAN (X (I)) ^ 5 - 1/3 |
| | | |
| | Y * Z> 0 | |
| | | |
| | A1 = X (I) | |
| | | |
| | B1 = X (I) | |
| | | |
| ABS (A1 - B1)> E (I) |
| | | |
| | I = 1, N | |
| | | |
| X (I) B |
| | | |
| E (I); "Рішення на цьому |
| інтервалі немає "|
| | | |
| | E (I); | |
| | X (I) | |
| | | |
| | Кінець | | p>
2.4. Програма.
CLS
INPUT "Введіть ліву кордон відрізка"; A
INPUT "Введіть праву межу відрізка"; B
INPUT "Введіть кількість значень точності"; N
DIM E (N), X (N)
FOR I = 1 TO N
PRINT "Введіть"; I; "значення точності"
INPUT E (I)
NEXT I
FOR I = 1 TO N
A1 = A
B1 = B
M1: Y = TAN (A1) - 1/3 * TAN (A1) ^ 3 + 1/5 * TAN (A1) ^ 5 - 1/3 p>
X (I) = (A1 + B1 )/2 p>
Z = TAN (X (I)) - 1/3 * TAN (X (I)) ^ 3 + 1/5 * TAN (X (I)) ^ 5 - 1/
3
IF Y * Z> 0 THEN p>
A1 = X (I) p>
ELSE B1 = X (I) p>
END IF
IF ABS (A1 - B1)> E (I) THEN GOTO M1
NEXT I
CLS
PRINT TAB (15); "Метод"; TAB (30); "половинного поділу"
PRINT TAB (15); "Рівняння"; TAB (30); "tg x - 1/3 tg (x) ^ 3 + 1/5 tg (x
) ^ 5 - 1/3 = 0 "
PRINT TAB (15); "Відрізок"; TAB (30); "["; A; ";"; B; "]"
PRINT
PRINT TAB (10); "Точність"; TAB (35); "Рішення (корінь рівняння)"
PRINT
FOR I = 1 TO N
IF X (I) B THEN p>
PRINT TAB (12); E (I); TAB (40); "Рішення на цьому інтервалі немає"
ELSE p>
PRINT TAB (12); E (I); TAB (40); X (I)
END IF
NEXT I
END p>
2.5. Результати рішення рівняння. P>
| Метод | методом половинного поділу |
| Рівняння | tg x - 1/3 tg 3 x + 1/5 tg 5 x - 1/3 |
| | = 0 |
| Відрізок | [0; 0,8] |
| | |
| Точність | Рішення (корінь рівняння) |
| 0.1 | 3.437500 |
| 0.01 | 3.476563 |
| 0.001 | 3.475586 |
| 0.0001 | 3.474792 | p>
3. Обробка даних для отримання статистичних оцінок.
3.1. Постановка завдання.
Написати програму введення та обробки даних. Розробити контрольнийприклад, що містить не менше 5 значень. Вихідні дані й результатирозрахунку представити у вигляді таблиці p>
| Обробка даних перепису населення | | |
| Область, край | Кількість | |
| | Жителі | |
| | Й | |
|. . . | | |
| математичне очікування | | |
| дисперсія | | |
| квадратичне відхилення | | |
| коефіцієнт варіації | | |
3.2. Умовні позначення.
N-к-ть.
A $ (N) - масив областей, країв.
Т (N) - масив значень кол-ва жителів i-ої області.
M - ім'я змінної для запису математичного очікування кол-ва жителів.
D - ім'я змінної для запису дисперсії кол-ва жителів.
S - ім'я змінної для запису квадратичного відхилення кол-ва жителів.
K - ім'я змінної для запису коефіцієнта варіації. P>
3.3. Блок-схема алгоритму рішення задачі. P>
| | початок | |
| | | |
| | N | |
| | | |
| | | |
| описано | | |
| ие | | |
| масив | | |
| ів | | |
| A $ (N), | | |
| Т (N) | | |
| | | |
| | I = 1, | |
| | N | |
| | | |
| | A $ (I), | |
| | Т (I) | |
| | | |
| | | |
| | M = 0 | |
| | | |
| | I = 1, N | |
| | | |
| | M = M + Т (I) | |
| | | |
| | | |
| | M = M/N | |
| | | |
| | D = 0 | |
| | | |
| | I = 1, N | |
| | | |
| | D = D | |
| | + (Т (I) | |
| |-M) ^ 2 | |
| | | |
| | | |
| | | |
| | D = D/(N-1) | |
| | | |
| | S = SQR (D) | |
| | | |
| | K = S/M | |
| | | |
| | M, D, S, K | |
| | | |
| | Кінець | | p>
3.4. Програма.
СLS
INPUT "Введіть кількість областей, країв"; N
DIM A $ (N), Т (N)
FOR I = 1 TO N
PRINT "Введіть область, край"; I; "-х жителів"
INPUT A $ (I)
PRINT "Введіть кількість мешканців для"; I; "-го краю"
INPUT Т (I)
NEXT I
M = 0
FOR I = 1 TO N
M = M + Т (I)
NEXT I
M = M/N
D = 0
FOR I = 1 TO N
D = D + (Т (I) - M) ^ 2
NEXT I
D = D/(N - 1)
S = SQR (D)
K = S/M
CLS
PRINT TAB (15); "Обробка даних перепису населення"
PRINT
PRINT TAB (8); "Область, край"; TAB (40); "Кількість жителів"
PRINT
FOR I = 1 TO N
PRINT TAB (5); A $ (I); TAB (45); Т (I)
NEXT I
PRINT
PRINT TAB (5); "Мат. Очікування"; TAB (45); M
PRINT TAB (5); "Дисперсія"; TAB (45); D
PRINT TAB (5); "Кв. Відхилення"; TAB (45); S
PRINT TAB (5); "Коеф. Варіації"; TAB (45); K
END p>
3.5. Контрольний приклад. P>
| Обробка даних перепису | |
| населення | |
| Область, край | Кількість жителів |
| Володимирська | 2300 |
| Магаданська | 1000 |
| Тюменська | 900 |
| Московська | 11000 |
| Іванівська | 3400 |
| | |
| | |
| математичне очікування | 3720 |
| дисперсія | 1.7617E +07 |
| квадратичне відхилення | 4197.261 |
| коефіцієнт варіації | 1.128296 | p>
4. Робота з каталогами та файлами в MS-DOS.
4.1. Постановка завдання. P>
(ZOO
(((HOME (CLASS1 p>
(SСOOL ((((CLASS2 p>
(UNIVER (CLASS3 p>
4.2. Завдання.
1) створення зазначеного дерева каталогів.
A:> md ZOO
A:> md HOME
A:> md SСOOL
A:> md UNIVER
A:> cd SСOOL
A: SCOOL> md CLASS1
A: SCOOL> md CLASS2
A: SCOOL> md CLASS3 p>
2) перейти до каталогу самого нижнього рівня, переглянути його вміст.
A:> cd SCOOL CLASS1
A: SCOOL CLASS1> dir
Результат:
Volume in drive A is DIANA
Volume Serial Number is 1406-2E61
Directory of A: SCOOLCLASS1 p>
. 12/05/95 23:16
.. 12/05/95 23:16 p>
2 file (s) 0 bytes p>
4 202 496 bytes free p>
A: SCOOLCLASS1> p> < p> 3) створити два текстових файлу.
A: SCOOLCLASS1> copy con t1.txt
A: SCOOLCLASS1> copy con t2.txt
Результат:
A: SCOOLCLASS1> copy con t1.txtми йдемо
^ Z p>
1 file (s) copied p>
A: SCOOLCLASS1> copy con t2.txtвони прийшли
^ Z p>
1 file (s) copied p>
A: SCOOLCLASS1> p>
4) вивести вміст файлів на екран.
A: SCOOLCLASS1> TYPE T1.TXT
A: SCOOLCLASS1> TYPE T2.TXT
Результат:
A: SCOOLCLASS1> TYPE T1.TXTми йдемо
A: SCOOLCLASS1> TYPE T2.TXTвони прийшли p>
5) об'єднати два текстових файла в один.
A: SCOOLCLASS1> COPY T1.TXT + T2.TXT T3.TXT
Результат:
A: SCOOLCLASS1> COPY T1.TXT + T2.TXT T3.TXT
T1.TXT
T2.TXT p>
1 file (s) copied p>
A: SCOOLCLASS1> p>
6) вивести вміст на екран.
A: SCOOLCLASS1> TYPE T3.TXT
Результат:
A: SCOOLCLASS1> TYPE T3.TXTми йдемовони прийшли p>
A: SCOOLCLASS1> p>
7) перейменувати об'єднаний файл.
A: SCOOLCLASS1> REN T3.TXT T4.TXT
Результат:
A: SCOOLCLASS1> REN T3.TXT T4.TXT
A: SCOOLCLASS1> p>
8) переглянути зміст каталогу.
A: SCOOLCLASS1> DIR
Результат:
A: SCOOLCLASS1> DIR p>
Volume in drive A is DIANA
Volume Serial Number is 1406-2E61
Directory of A: SCOOLCLASS1 p>
. 12/05/95 23:16
.. 12/05/95 23:16
T1 TXT 9 12/05/95 23:54
T2 TXT 12 12/05/95 23:55
T4 TXT 22 13/05/95 0:19 p>
5 file (s) 43 bytes p>
4 202 496 bytes free p>
A: SCOOLCLASS1> p>
9) видалити файл.
A: SCOOLCLASS1> DEL *.*
Результат:
A: SCOOLCLASS1> DEL *.*
All files in directory will be deleted!
Are you sure (Y/N)? Y p>
A: SCOOLCLASS1> p>
10) послідовно видалити каталоги.
A: SCOOLCLASS1> CD. .
A: SCOOL> RD CLASS1
A: SCOOL> RD CLASS2
A: SCOOL> RD CLASS3
A: SCOOL> cd. .
A:> RD ZOO
A:> RD HOME
A:> RD SCOOL
A:> RD UNIVER p>
5. Робота з каталогами та файлами в системі NORTON COMMANDER.
5.1. Постановка завдання. P>
(ZOO
(((HOME (CLASS1 p>
(SСOOL ((((CLASS2 p>
(UNIVER (CLASS3 p>
5.2. Завдання.
1) створити вказане дерево каталогів. a) натискаємо F7, набираємо ZOO, натискаємо Enter. б) натискаємо F7, набираємо HOME, натискаємо Enter. в) натискаємо F7, набираємо SСOOL, натискаємо Enter. г) натискаємо F7, набираємо UNIVER, натискаємо Enter. д) підводимо курсор до SСOOL, натискаємо Enter, натискаємо F7, набираємо CLASS1 і натискаємо Enter. е) натискаємо F7, набираємо CLASS2, натискаємо Enter. ж) натискаємо F7, набираємо CLASS3, натискаємо Enter. p>
2) перейти до каталогу самого нижнього рівня, подивитися його зміст.
Підводимо курсор до CLASS1, натискаємо Enter, набираємо у командному рядку dir і натискаємо Enter . p>
3) створити два текстових файлу. а) набираємо у командному рядку copy con t1.txt, натискаємо Enter, вводимо p>
Ira, натискаємо F6 і Enter.
Результат: 1 file (s) copied б) набираємо у командному рядку copy con t2.txt, натискаємо Enter, вводимо p>
Natasha, натискаємо F6 і Enter.
Результат: 1 file (s) copied p>
4) вивести на екран вміст файлів. а) підводимо курсор до t1.txt і натискаємо F3.
Результат: Ira б) натискаємо Esc, підводимо курсор до t2.txt і натискаємо F3.
Результат: Natasha p>
5) об'єднати два файли в один.
Натискаємо Esc, набираємо у командному рядку сopy t1.txt + t2.txt t3.txt і натискаємо Enter.
Результат: t1.txt t2.txt p>
1 file (s) copied p>
6) вивести на екран вміст цього файлу.
Підводимо курсор до t3.txt і натискаємо F3.
Результат: Ira Natasha p>
7) перейменувати об'єднаний файл.
Натискаємо Esc, F6 і набираємо t4.txt, натискаємо Enter. P>
8) переглянути його вміст.
Підводимо курсор до t4.txt і натискаємо F3.
Результат: Ira Natasha p>
9) видалити створені файли. а) натискаємо Esc, відзначаємо клавішею INS t1.txt, t2.txt і t4.txt і натискаємо p>
F8. p>
10) видалити каталоги. а) відзначаємо клавішею INS ZOO, HOME, SСOOL, UNIVER, натискаємо Enter, видаляємо дерево каталогів. p>
6. Висновок.
Завдяки лекційної частини курсу були отримані навички, які потім булизастосовані при роботі над практикою, такі, як: робота з каталогами тафайлами в системах MS-DOS і Norton Commander; складання блок-схемалгоритмів вирішення різних завдань; написання програм на мові QBASIC звикористанням масивів, циклів, операторів умовного та безумовногопереходу.
Завдання практики дозволили реалізувати та вдосконалити отриманітеоретичні знання, застосувати їх до вирішення конкретних завдань:використання символьних функцій для обробки тексту; робота з системами
MS-DOS і Norton Commander; рішення нелінійних рівнянь різними методамиз різним початковим наближенням і різними ступенями точності;обробка таблиць і даних для отримання статистичних оцінок.
Практична частина курсу дозволила в основному опанувати зазначениминавичками. p>