Основы ПЭВМ

Государственный Комитет Российской Федерации по высшему образованию Московская государственная текстильная академия имени А.Н.Косыгина


кафедра информатики и вычислительной техники






Практическая работа


по курсу


основы ПЭВМ


Группа № 46-94


Студент Бондаренко Ю.М.


Руководитель Цымбалюк М.Я.


Проверила Маланина Е.М


Москва 1995


Содержание:


1. Использование символьных функций


1.1 Постановка задачи


1.2. Условные обозначения


1.3. Блок-схема алгоритма решения задачи


1.4. Программа


1.5. Контрольный пример


2. Решение нелинейных уравнений


2.1 Постановка задачи


2.2. Условные обозначения


2.3. Блок-схема алгоритма решения задачи


2.4. Программа


2.5. Результаты решения уравнения


3. Обработка данных для получения статистических оценок


3.1 Постановка задачи


3.2. Условные обозначения


3.3. Блок-схема алгоритма решения задачи


3.4. Программа


3.5. Контрольный пример


4. Работа с каталогами и файлами в MS - DOS


4.1. Постановка задачи


4.2. Задание


5. Работа с каталогами и файлами


в системе NORTON COMMANDER


5.1. Постановка задачи


5.2. Задание


6. Вывод


1. Использование символьных функций.


1.1. Постановка задачи
.


Написать программу с использованием символьных функций для обработки текста. Считать, что в заданном тексте слова разделены одним пробелом. Подсчитать кол-во вопросительных предложений в заданном тексте и кол-во слов в каждом из таких предложений.


1.2. Условные обозначения
.


A$ - имя символьной переменной для записи заданного текста.


N - переменная для записи количества символов в тексте A$.


В$(N) - массив для записи символов, из которых состоит текст A$.


C(N) - массив для записи номера позиции, на котором в тексте находится символ “.”


S(N) - номера позиции, на которой в тексте A$ находится символ "?".


D(N) - массив значений, количества символов в каждом из предложений, из которых состоит текст.


R$(N,N) - массив для записи символов, из которых состоит каждое предложение.


K - переменная для записи количества “?” в тексте A$.


T - переменная для записи количества “.” в тексте A$.


F(N) - массив для записи количества пробелов каждого отдельного предложения.


C$(N) - массив для записи каждого предложения в отдельную ячейку.


B - переменная для подсчета количества пробелов в каждом предложении отдельно.


1.3. Блок-схема алгоритма решения задачи
.










































































































начало


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)


конец



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


1.5. Контрольный пример
.


Вы видите высокого человека у окна? Это известный актер. Вы хотите познакомиться с ним? Я вам помогу в этом.


Количество вопросительных предложений равно 2.


Количество слов в 1-м вопросительном предложении равно 6.


Количество слов в 2-м вопросительном предложении равно 5.


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


Результаты представить в таблице следующего вида:













Метод


Уравнение


Отрезок


Точность


Решение (корень уравнения)


. . .



2.2. Условные обозначения.


N - размерность массива значений точности решения.


E(N) - массив значений точности решения.


X(N) - массив значений корней уравнения с i-ой точностью.


А - имя переменной для записи левой границы отрезка.


В - имя переменной для записи правой границы отрезка.


2.3. Блок-схема алгоритма решения задачи
.


























































начало


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) < A OR X(I) > B


E(I); "Решения на этом интервале нет"


E(I); X(I)


конец



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


X(I) = (A1 + B1) / 2


Z = TAN(X(I)) - 1 / 3 * TAN(X(I)) ^ 3 + 1 / 5 * TAN(X(I)) ^ 5 - 1 / 3


IF Y * Z > 0 THEN


A1 = X(I)


ELSE B1 = X(I)


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) < A OR X(I) > B THEN


PRINT TAB(12); E(I); TAB(40); "Решения на этом интервале нет"


ELSE


PRINT TAB(12); E(I); TAB(40); X(I)


END IF


NEXT I


END


2.5. Результаты решения уравнени

я.



























Метод


методом половинного деления


Уравнение


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



3. Обработка данных для получения статистических оценок.


3.1. Постановка задачи
.


Написать программу ввода и обработки данных. Разработать контрольный пример, содержащий не менее 5 значений. Исходные данные и результаты расчета представить в виде таблицы

















Обработка данных переписи населения


Область, край


Кол-во жителей


. . .


математическое ожидание


дисперсия


квадратическое отклонение


коэффициент вариации



3.2. Условные обозначения
.


N -кол-во .


A$(N) - массив областей, краев.


Т(N) - массив значений кол-ва жителей i-ой области.


M - имя переменной для записи математического ожидания кол-ва жителей.


D - имя переменной для записи дисперсии кол-ва жителей.


S - имя переменной для записи квадратического отклонения кол-ва жителей.


K - имя переменной для записи коэффициента вариации.


3.3. Блок-схема алгоритма решения задачи
.























































начало


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


конец



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


3.5. Контрольный пример
.




































Обработка данных переписи населения


Область, край


Кол-во жителей


Владимирская


2300


Магаданская


1000


Тюменская


900


Московская


11000


Ивановская


3400


математическое ожидание


3720


дисперсия


1.7617E+07


квадратическое отклонение


4197.261


коэффициент вариации


1.128296



4. Работа с каталогами и файлами в MS-DOS.


4.1. Постановка задачи.


é ZOO


¾¾ ê HOME é CLASS1


ê SСOOL ¾¾¾ ê CLASS2


ë UNIVER ë CLASS3


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


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


. <DIR> 12/05/95 23:16


.. <DIR> 12/05/95 23:16


2 file(s) 0 bytes


4 202 496 bytes free


A:SCOOLCLASS1>


3)создать два текстовых файла.


A: SCOOLCLASS1> copy con t1.txt


A: SCOOLCLASS1> copy con t2.txt


Результат:


A:SCOOLCLASS1>copy con t1.txt


мы идем


^Z


1 file(s) copied


A:SCOOLCLASS1>copy con t2.txt


они пришли


^Z


1 file(s) copied


A:SCOOLCLASS1>


4) вывести содержимое файлов на экран.


A:SCOOLCLASS1>TYPE T1.TXT


A:SCOOLCLASS1>TYPE T2.TXT


Результат
:


A:SCOOLCLASS1>TYPE T1.TXT


мы идем


A:SCOOLCLASS1>TYPE T2.TXT


они пришли


5)объединить два текстовых файла в один.


A:SCOOLCLASS1>COPY T1.TXT + T2.TXT T3.TXT


Результат:


A:SCOOLCLASS1>COPY T1.TXT + T2.TXT T3.TXT


T1.TXT


T2.TXT


1 file(s) copied


A:SCOOLCLASS1>


6) вывести содержимое на экран.


A:SCOOLCLASS1>TYPE T3.TXT


Результат:


A:SCOOLCLASS1>TYPE T3.TXT


мы идем


они пришли


A:SCOOLCLASS1>


7)переименовать объединенный файл.


A:SCOOLCLASS1>REN T3.TXT T4.TXT


Результат:


A:SCOOLCLASS1>REN T3.TXT T4.TXT


A:SCOOLCLASS1>


8) просмотреть оглавление каталога.


A:SCOOLCLASS1>DIR


Результат:


A:SCOOLCLASS1>DIR


Volume in drive A is DIANA


Volume Serial Number is 1406-2E61


Directory of A:SCOOLCLASS1


. <DIR> 12/05/95 23:16


.. <DIR> 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


5 file(s) 43 bytes


4 202 496 bytes free


A:SCOOLCLASS1>


9) удалить файл.


A:SCOOLCLASS1>DEL *.*


Результат
:


A:SCOOLCLASS1>DEL *.*


All files in directory will be deleted!


Are you sure (Y/N)?Y


A:SCOOLCLASS1>


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


5. Работа с каталогами и файлами в системе NORTON COMMANDER.


5.1. Постановка задачи.


é ZOO


¾¾ ê HOME é CLASS1


ê SСOOL ¾¾¾ ê CLASS2


ë UNIVER ë CLASS3


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.


2) перейти в каталог самого нижнего уровня, посмотреть его оглавление.


Подводим курсор к CLASS1, нажимаем Enter, набираем в командной строке dir и нажимаем Enter.


3) создать два текстовых файла.


а) набираем в командной строке copy con t1.txt, нажимаем Enter, вводим Ira, нажимаем F6 и Enter.


Результат:
1 file(s) copied


б) набираем в командной строке copy con t2.txt, нажимаем Enter, вводим Natasha, нажимаем F6 и Enter.


Результат:
1 file(s) copied


4) вывести на экран содержимое файлов.


а) подводим курсор к t1.txt и нажимаем F3.


Результат
: Ira


б) нажимаем Esc, подводим курсор к t2.txt и нажимаем F3.


Результат
: Natasha


5) объединить два файла в один.


Нажимаем Esc, набираем в командной строке сopy t1.txt + t2.txt t3.txt и нажимаем Enter.


Результат
: t1.txt


t2.txt


1 file(s) copied


6) вывести на экран содержимое этого файла.


Подводим курсор к t3.txt и нажимаем F3.


Результат
: Ira Natasha


7) переименовать объединенный файл.


Нажимаем Esc, F6 и набираем t4.txt, нажимаем Enter.


8) посмотреть его содержимое.


Подводим курсор к t4.txt и нажимаем F3.


Результат
: Ira Natasha


9) удалить созданные файлы.


а) нажимаем Esc, отмечаем клавишей INS t1.txt, t2.txt и t4.txt и нажимаем F8.


10) удалить каталоги.


а) отмечаем клавишей INS ZOO, HOME, SСOOL, UNIVER, нажимаем Enter, удаляем дерево каталогов.


6. Вывод
.


Благодаря лекционной части курса были получены навыки, которые затем были применены при работе над практикой, такие, как: работа с каталогами и файлами в системах MS-DOS и Norton Commander; составление блок-схем алгоритмов решения различных задач; написание программ на языке QBASIC с использованием массивов, циклов, операторов условного и безусловного перехода.


Задания практики позволили реализовать и усовершенствовать полученные теоретические знания, применить их к решению конкретных задач: использование символьных функций для обработки текста; работа с системами MS-DOS и Norton Commander; решение нелинейных уравнений различными методами с различным начальным приближением и различными степенями точности; обработка таблиц и данных для получения статистических оценок.


Практическая часть курса позволила в основном овладеть указанными навыками.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Основы ПЭВМ

Слов:3176
Символов:29290
Размер:57.21 Кб.