Главная » Просмотр файлов » Основы программирования

Основы программирования (947332), страница 50

Файл №947332 Основы программирования (Иванова Г.С. Основы программирования) 50 страницаОсновы программирования (947332) страница 502013-09-15СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 50)

Основы алгоритмизации и процедурное программированиеЗадание для самопроверкиМодернизировать профамму из задания 1 к параграфу 8.4 так, чтобы реализо­вать двойное управление меню: с использованием клавиатуры и мыши.8.9. Управление задачами. Вызов дочерних процессовС точки зрения MS DOS каждая программа (задача) представляет собойпроцесс. При запуске процессу выделяется память и передаются окружениеи параметры командной строки MS DOS.Окружение - это специальная область памяти, в которой размещены ввиде символьных строк некоторые параметры, установленные в DOS. На­пример:COMSPEC=C:\COMMAND.COM{адрес интерпретатора командMS DOS}PATH=C:\QEMM;C:\DOS;C:\NC{каталоги автоматического по­иска}PROMPT=$p$q{вид запроса в командной строке MS DOS}Пользователь может включить в окружение другие строки, используякоманду SET.Для работы с окружением модуль DOS содержит следующие ресурсы.1.

Функция EnvCount: integer - возвращает количество переменных ок­ружения, содержащихся в среде MS DOS.2. Функция EnvStr(Index:integer):strmg - возвращает переменную окру­жения MS DOS с указанным индексом.3. Функция GetEnv(EnvVar:string):string - возвращает переменную ок­ружения MS DOS с указанным именем.Используя эти функции, можно, например, определить в системе место­положение каталога временных файлов, обычно заданного в MS DOS пара­метром work:flag:--false;while (i<EnvCount) and not flag dobeginifpos('work^\EnvStrli])^l thenbeginpath: =copy(EnvStr[i], 6, length(EnvStr[i])-5);flag:'=true;endelse inc(i);3008. Управление техническими средствами и взаимодействие с MS DOSend;if flag then <каталог найден>else <каталог не определен> ...Командная строка MS DOS - это символьная строка, которая вводитсяв командном режиме MS DOS при вызове той или иной программы (или ко­манды). Помимо указания пути к исполняемому файлу она может содержатьсписок параметров командной строки, например:A:\>C:\My\copyflle A.dat B.dat 80В модуле DOS имеются средства, обеспечивающие доступ к этим пара­метрам.1.

Функция РагатСоunt:integer - B03Bpaui?ieT количество параметров.2. Функция ParamStr(Index:integer):string - возвращает параметр с ука­занным индексом в виде символьной строки, например для программы, вы­зов которой приведен выше:ParamCountParamStrfOJParamStrflJParamStr[2]ParamStr[3]=3= C:\My\copyfile= 'A.dat'= 'B.dat'= WДочерний процесс - это самостоятельная программа, существующая ввиде файла с расширением .сом или .ехе и вызываемая из другой программы.Необходимость организации дочерних процессов возникает, например, еслитребуется вставить в программу заставку, вывод на экран которой выполня­ется специальной программой, или разрабатывается среда, которая будет вы­зывать специальные программы обработки.При вызове дочерних процессов обычно используются специальные ре­сурсы модуля DOS.1.

Процедура Exec С<полное имя файла программы>,<параметры командной строк\\>:string) - осуществляет вы­зов дочернего процесса.2. Функция DosExitCode:word - возвращает код завершения дочернегопроцесса.Старший байт этого кода интерпретируется следующим образом:0123-нормальное завершение;завершение по Ctrl - С;завершение по ошибке;завершение с сохранением в памяти.301Часть 1.

Основы алгоритмизации и процедурное программированиеМладший байт содержит код возврата дочернего процесса (параметрHalt).3. Процедура SwapVeciors - сохраняет в памяти настройки (например,адреса обработчиков прерываний) среды Borland Pascal или восстанавливаетих, если они были сохранены:DOS->Pascal -> 005(дочерний процесс) ^Pascal->DOSSwapVectorsSwapVectorsДанная процедура должна выполняться, если дочерний процесс ~ про­грамма, написанная на любом языке, кроме Borland Pascal.При вызове дочерних процессов также используется специальная дирек­тива управления памятью, иначе выполняемая программа получает всю име­ющуюся память и дочерний процесс некуда грузить:{$М <размер стека>, <минимальный размер «кучи»>,<максимальный размер «кучи»>}где размер стека - от 1024 до 65520 байт; минимальный размер «кучи» - отО до 655360 байт; максимальный размер «кучи» - от минимального до655360 байт.Пример 8.11. Разработать программу, вызывающую специальную про­грамму просмотра графических файлов типа .рсх.

Эта программа требуетуказания имени просматриваемого файла в качестве параметра команднойстроки.{$М $4000,0,0} {стек 16К, кучи нет}Program ex;Uses Dos;beginWriteLnCВызываем дочерний процесс ,./);SwapVectors;Exec('c: \utils\bitmap.exe \ *r24.pcx');SwapVectors;WriteLn(\., вернулись в основную программу');ifDosError о О then {если есть ошибка при вызове дочернегопроцесса}WriteLn(Vuiu6Ka DOS #', DosError)elseWriteLn(*Дочерний процесс вызван. Код завершения = *,DosExitCode); {код завершения дочернего процесса}End.302Часть 2.

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕПРОГРАММИРОВАНИЕ9. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯСчитается, что технология процедурного программирования применима, если раз­мер профаммы не превышает 100 тыс. операторов. Программы, используемые в насто­ящее время, существенно длиннее. Поэтому современное программирование в основномбазируется на технологии, позволившей снять это ограничение и получившей название«объектно-ориентированное программирование» (ООП). Именно ООП лежит в основетаких современных сред создания программного обеспечения «под Windows», какDelphi, Visual C++, C++ Builder.В теории программирования ООП определяется как технология создания сложно­го программного обеспечения, основанная на представлении программы в виде совокуп­ности объектов^ каждый из которых является экземпляром определенного типа {класса),а классы образуют иерархию с наследованием свойств [2].Как следует из определения, ООП в отличие от процедурного программирования,которое рассматривалось в первой части учебника, базируется не на процедурной, а наобъектной декомпозиции предметной области программы.9.1.

Объектная декомпозицияОбъектной декомпозицией называют процесс представления предмет­ной области задачи в виде совокупности функциональных элементов {объек­тов), обменивающихся в процессе выполнения программы входными воз­действиями (сообщениями).Каждый выделяемый объект предметной области отвечает за выпол­нение некоторых действий, зависящих от полученных сообщений и параме­тров самого объекта.Совокупность значений параметров объекта называют его состоянием,2i совокупность реакций на получаемые сообщения - поведением.303Часть 2. Объектно-ориентированное программированиеПараметры состояния и элементы поведения объектов определяются ус­ловием задачи.В процессе решения задачи объект, получив некоторое сообщение, вы­полняет заранее определенные действия, например, может изменить собст­венное состояние, выполнить некоторые вычисления, нарисовать окно илиграфик и, в свою очередь, сформировать сообщения другим объектам.

Такимобразом, процессом решения задачи управляет последовательность сообщний. Передавая эти сообщения от объекта к объекту, программа выполняетнеобходимые действия.Различие процедурной и объектной декомпозиции предметной областизадачи продемонстрируем на примере разработки программы исследованияэлементарных функций, рассмотренной в параграфе 5.2.Пример 9.1.

Разработать программу исследования элементарных функ­ций, которая для функций y=sin х, y=cos х, y=tg х, у=1п х, у=е^ выполняетследующие действия:• строит таблицу значений функции на заданном отрезке с заданнымшагом;• определяет корни функции на заданном отрезке;• определяет максимум и минимум функции на заданном отрезке.В основе объектной декомпозиции также лежит граф состояний интер­фейса (см. рис. 5.6 - 5.7). Будем считать, что каждое состояние интерфейса это состояние некоторого функционального элемента системы, т.

е. объекта.Состояний интерфейса пять, соответственно, получаем пять объектов. Назо­вем эти объекты следующим образом: Главное меню. Меню операций. Табу­лятор, Определитель корней. Определитель экстремумов. Эти объекты пере­дают управление друг другу, генерируя сообщение Активизировать. Резуль­тат объектной декомпозиции изображают в виде диаграммы объектов(рис.

9.1).Кроме этого можно выделить еще один объект Функцию, который дол­жен обеспечивать вычисление выбранной функции по заданному аргументу.Номер функции сообщается данному объекту Главным меню после того, какпользователь осуществит выбор.Полная характеристика объекта включает идентифицирующее условноеимя, а также перечень и описание параметров состояния и аспектов поведе­ния.Так, состояние объекта Функция характеризуется единственным пара­метром: номером функции, который передает ему Главное меню. Поведениеже включает реакции на два типа сообщений: получив номер функции, объ­ект должен сохранить его, изменив таким образом свое состояние, а получивзапрос на вычисление значения функции, сопровождающийся определеннымзначением аргумента, - вернуть значение функции в заданной точке.304p. Основные теоретическиеУстановить номерфункции (fVположенияГлавноеменюАктивизироватьМенюоперацийАктивизироватьi Активизировать^ОпределителькорнейОпределительэкстремумовВычислить(х)Вычислить(х)ФункцияНомер функцииРис.

Характеристики

Тип файла
PDF-файл
Размер
13,06 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее