Файл: Лабораторная работа 1. Установка и настройка операционной системы 5 Тема Обзор современных ос 29 Лабораторная работа 1 29 Работа с файлами в консоле ос windows 29.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 76

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Тематический модуль № 1. Общие понятия и положения теории операционных систем Тема № 3. Обзор современных ОС Лабораторная работа № 3. Утилиты поиска и сортировки в консольной оболочке ОС Windows Учебные цели: изучение возможностей командной оболочки и способы применения основных команд и утилит ОС Windows при работе с файлами и каталогами; получение умений и навыков при работе с файлами и каталогами в командной оболочке ОС Windows. Воспитательные цели: воспитание познавательного интереса, активности, целеустремленности, настойчивости, активности, наблюдательности, интуиции, сообразительности; формирование навыков самостоятельности и дисциплинированности; стимулировать активную познавательную деятельность обучаемых, способствовать формированию у них творческого мышления. Категория слушателей: 2,3 курс РТФ.Время: 90 мин.Место проведения: дисплейный класс.Материально-техническое обеспечение:персональный компьютер IBMPC с операционной системой Windows;ПЛАН практического ЗАНЯТИЯ

Работа с переменными среды Внутри командных файлов можно работать с так называемыми переменными среды (или переменными окружения), каждая из которых хранится в оперативной памяти, имеет свое уникальное имя, а ее значением является строка. Стандартные переменные среды автоматически инициализируются в процессе загрузки операционной системы. Такими переменными являются, например, WINDIR, которая определяет расположение каталога Windows, TEMP, которая определяет путь к каталогу для хранения временных файлов Windows или PATH, в которой хранится системный путь (путь поиска), то есть список каталогов, в которых система должна искать выполняемые файлы или файлы совместного доступа (например, динамические библиотеки). Кроме того, в командных файлах с помощью команды SET можно объявлять собственные переменные среды. Вывод, задание и удаление переменных средыSET [переменная=[строка]]переменная - Имя переменной среды.строка - Строка символов, присваиваемая указанной переменной.Введите SET без параметров для вывода текущих переменных среды. Получение значения переменной Для получения значения определенной переменной среды нужно имя этой переменной заключить в символы %. Например:@ECHO OFFCLSREM Создание переменной MyVarSET MyVar=ПриветREM Изменение переменнойSET MyVar=%MyVar%!ECHO Значение переменной MyVar: %MyVar% REM Удаление переменной MyVarSET MyVar=ECHO Значение переменной WinDir: %WinDir%При запуске такого командного файла на экран выведется строкаЗначение переменной MyVar: Привет!Значение переменной WinDir: C:\WINDOWSЗадание 2. Проверьте это в консоле, результат запишите в отчет по лабораторной работе. (текстовые сообщения набирайте английскими буквами). Преобразования переменных как строк С переменными среды в командных файлах можно производить некоторые манипуляции. Во-первых, над ними можно производить операцию конкатенации (склеивания). Для этого нужно в команде SET просто написать рядом значения соединяемых переменных. Например,SET A=РазSET B=ДваSET C=%A%%B%После выполнения в файле этих команд значением переменной C будет являться строка 'РазДва'. Не следует для конкатенации использовать знак +, так как он будет воспринят просто в качестве символа. Задание 3. Запустите файл следующего содержанияSET A=РазSET B=ДваSET C=A+BECHO Переменная C=%C%SET D=%A%+%B%ECHO Переменная D=%D%Запишите в отчет по лабораторной работе команды файла и результат их выполнения.Во-вторых, из переменной среды можно выделять подстроки с помощью конструкции %имя_переменной:n1,n2%, где число n1 определяет смещение (количество пропускаемых символов) от начала (если n1 положительно) или от конца (если n1 отрицательно) соответствующей переменной среды, а число n2 – количество выделяемых символов (если n2 положительно) или количество последних символов в переменной, которые не войдут в выделяемую подстроку (если n2 отрицательно). Если указан только один отрицательный параметр -n, то будут извлечены последние n символов. Задание 4. Используя значение переменной DATE (символьное представление текущая дата при определенных региональных настройках), выполните следующие командыSET dd1=%DATE:0,2%SET dd2=%DATE:0,-8%SET mm=%DATE:-7,2%SET yyyy=%DATE:



Поля класса содержат данные, которые определяют атрибуты экземпляров класса. Методы класса – процедуры и функции, которые манипулируют полями и возвращают результаты, основанные на текущих значениях полей. Важно отметить, что методы класса автоматически имеют доступ ко всем полям этого класса.

Объекты – это экземпляры классов. Объект объявляется в операторе var точно так же, как другие типы переменных. Каждый объект имеет собственный набор полей класса и может обращаться только к его публичным полям. Аналогично, только публичные методы класса могут применяться к объекту.

Объектно-ориентированное программирование (ООП) подразумевает управление объектами путем посылки им сообщений. Сообщение указывает объекту выполнить задачу. Объект ищет метод, чье имя соответствует такому сообщению, и применят этот метод. Таким образом, ООП-сообщение определяет, что делать объекту, в то время как метод определяет, как управлять объектом. Паскаль использует операцию точки, чтобы обратиться к публичным полям объекта и также посылать сообщение объекту.

Для того чтобы поддерживать форму, Delphi использует модули Паскаля.

Методические рекомендации по созданию программы арифметического калькулятора:

Для практического изучения синтаксического модуля, в качестве примера рассмотрим листинг программы создания калькулятора, используя компоненты, находящиеся на закладках Standard и Additional.

    1. Запустите Delphi.

    2. Подпишите форму (Form1) заголовком "Калькулятор". Для этого нужно в поле Caption инспектора объектов вписать слово Калькулятор. Во время того, как вы будете вписывать слово, оно автоматически будет прописываться в заголовок формы вместо надписи Form1.

    3. Добавьте на форму поле, в которое будет выводиться результат. Для этого используйте компонент Edit (поле для ввода), который находится на закладке Standard. Теперь установите его свойства в инспекторе объектов. Свойству Text присвойте значение 0 (именно это свойство содержит текст, находящийся в поле для ввода). Кроме того, свойству ReadOnly (только чтение) присвойте значение true (истина). Это необходимо для того, чтобы во время работы вашей программы пользователь не мог вводить символы напрямую, без помощи кнопок, в это поле.

    4. Добавьте на форму две кнопки Button1 и Button2 из закладки Standard панели компонентов. Свойству Caption первой кнопки присвоим значение "Сброс" а второй "Выход". Первая кнопка будет сбрасывать результат вычислений, а вторая позволит выйти из программы. Теперь нужно добавить еще несколько кнопок для ввода чисел и арифметических действий. Для этого используйте кнопки быстрого доступа SpeedButton. Найдите этот компонент на закладке Additional панели компонентов. Расположите четыре ряда по шесть кнопок на форме. В результате получится форма следующего вида:



Последовательно присвойте свойству Caption для каждой кнопки значения: 0,1,2,3,4,… а также арифметические операции и операции работы с памятью:


Заметим, что кнопки работы с памятью позволяют запомнить любое число, а затем выдать его. Названия кнопок соответствуют следующим действиям:
СП - стереть память;
ИП - выдать значение из памяти;
П- - поместить число в память со знаком минус и сложить его с содержимым памяти;
П+ - поместить число в память и сложить его с содержимым памяти.
Вы можете расположить кнопки так, как это вам больше нравится. Ведь это ваше приложение!

Написание программного кода:

Кнопки Сброс и Выход. Выполните двойной щелчок по кнопке Сброс (или щелкните один раз, затем перейдите в окно инспектора объектов и выберите закладку Events (события), затем выполните двойной щелчок напротив надписи OnClick). Создание кода обнуления:

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:='0';
end;


Таким образом, при нажатии на кнопку, в поле для ввода Edit1 будет записано значение 0.

Для кнопки Выход напишите следующий код:

procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;


При нажатии на эту кнопку, форма Form1 закроется.

Запустите вашу программу при помощи клавиши , либо с помощью команды главного меню Delphi Run/Run (Запуск/Запуск). Ваша программа успешно работает, но реагирует пока только на кнопки Сброс и Выход.

Создание обработчиков события нажатия кнопки для всех остальных кнопок.

Для кнопки 9:

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'9'
else
  Edit1.Text:='9';
end;


Здесь сначала проводится проверка значения, находящегося в поле для ввода. Если оно равно нулю, то в поле просто вписывается нужная цифра вместо нуля. Если же там уже не нулевое значение, то приписывается эта цифра справа от уже имеющегося числа.

Создайте аналогичный код, как и для кнопки 9, для остальных цифровых кнопок (кроме кнопки 0), за исключением того, что вместо числа 9 везде поставьте число, соответствующее названию кнопки, например для кнопки 1:

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'1'
else
  Edit1.Text:='1';
end;


Теперь напишите код для кнопки 0:

procedure TForm1.SpeedButton19Click(Sender: TObject);
begin
if Edit1.Text<>'0' then
  Edit1.Text:=Edit1.Text+'0'
end;


Здесь, если в поле для ввода стоит ноль, то к нему ничего не добавляется, иначе, если значение поля для ввода не равно нулю, то приписывается ноль справа.

Запустите программу () и попробуйте понажимать цифровые кнопки.

Арифметические операции

Для написания кода арифметических операций необходимо введение вспомогательных переменных.

Пока попробуем работать с числами целого типа данных. В дальнейшем код можно легко переписать для действительных чисел.

Операция сложения двух чисел:

Код должен описывать выполнение следующих действий:

по щелчку на кнопке запоминать первое число в какой-либо переменной, а по щелчку по кнопке выводить результат сложения в поле для ввода.

Для этого добавьте переменную a в раздел описания переменных модуля Unit1 (это в самом начале модуля, в разделе interface):

var
  Form1: TForm1;
  a: integer;


Пусть она пока будет целой (integer). Теперь нужно при нажатии кнопки запомнить число, находящееся в поле для ввода в переменную a и обнулить поле для ввода :

procedure TForm1.SpeedButton22Click(Sender: TObject);
begin
a:=StrToInt(Edit1.Text);
Edit1.Text:='0';
end;


Функция StrToInt преобразует строковое значение (тип string) в целое (тип integer). Обратная функция (преобразующая целое значение в строковое) - это функция IntToStr. Теперь, при нажатии на кнопку , осталось сложить введенное число с запомненным ранее в переменной a:

procedure TForm1.SpeedButton23Click(Sender: TObject);
begin
Edit1.Text:=IntToStr(StrToInt(Edit1.Text)+a);
end;


Таким образом, строка преобразуется в число, складываем с переменной a, преобразуем число в строку и помещаем результат в поле для ввода.

Аналогичным образом напишите коды для остальных арифметических операций. Для этого введем еще одну переменную целого типа, например f, в зависимости от значения которой будет выполнятся требуемое действие при нажатии кнопки . Далее допишем коды арифметических операций следующим образом:

begin

a:=StrToInt(Edit1.Text);

Edit1.Text:='0';

f:=1;

end;

Код для кнопки равно примерно будет выглядеть следующим образом:

begin

if (f=1)

then Edit1.Text:=IntToStr(StrToInt(Edit1.Text)+a);

if (f=2)

then Edit1.Text:=IntToStr(a-StrToInt(Edit1.Text));

if f=3

then Edit1.Text:=IntToStr(a*StrToInt(Edit1.Text));

end;

или

сase f of

1: Edit1.Text:=IntToStr(StrToInt(Edit1.Text)+a);

2: Edit1.Text:=IntToStr(a-StrToInt(Edit1.Text));

3: Edit1.Text:=IntToStr(a*StrToInt(Edit1.Text));

End;

Конечно, вышеприведенный код не лишен недостатков. Однако цель нашей лабораторной работы проиллюстрировать возможности, предоставляемые средой Delphi и изучить некоторые возможности стандартных компонентов Delphi.
Задание на самостоятельную работу
Подготовиться к лабораторному занятию по ТМ № 1 ЛЗ. № 4.2 «Разработка пользовательского интерфейса с использованием программы EaSynth ForeUI».


Контрольные вопросы


  1. В чем заключается принципиальная разница между Delphi и Turbo-Pascal?

  2. Дать понятия компоненты, класса, объекта, свойств, события.

  3. Дать понятия формы, проекта.

  4. Из каких элементов состоит интегрированная среда разработки программ.

  5. Пояснить этапы создания программы.

  6. Что такое программа, управляемая событиями?

  7. Назначение модуля.

  8. Пояснить понятие класса и методов класса.

  9. Что такое объектно-ориентированное программирование?

Тематический модуль № 1. Общие понятия и положения теории систем

Тема № 4. Интерфейс ОС с пользователями

Лабораторная работа №2. Разработка пользовательского интерфейса с использованием программы EaSynth ForeUI

Учебные цели:

  • дать практическое представление о принципах проектирования пользовательского интерфейса программного продукта;

  • исследовать на практике основные понятия и положения излагаемого курса,

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


Воспитательные цели:

    • воспитание познавательного интереса, активности, целеустремленности, настойчивости, активности, наблюдательности, интуиции, сообразительности;

    • формирование навыков самостоятельности и дисциплинированности;

    • стимулировать активную познавательную деятельность обучаемых, способствовать формированию у них творческого мышления.

Категория слушателей: 2,3 курс РТФ.

Время: 90 мин.

Место проведения: дисплейный класс.

Материально-техническое обеспечение:

виртуальная машина с операционной системой Windows и установленным на ней программным продуктом EaSynth ForeUI
ПЛАН практического ЗАНЯТИЯ


Учебные вопросы

Время, мин

Вступительная часть

1.Этапы разработки пользовательского интерфейса

2. Создание интерфейса АИС «Командировка»

Заключительная часть

10

25

45

10


Литература:

Основная:


  1. Горлов, С.К. (ВИ МВД РФ).   Операционные системы [Текст] : Учеб.пособие / С. К. Горлов, М. В. Питолин, С. В. Белокуров. - Воронеж : ВИ МВД РФ, 2002. - 95с. 

  2. Гордеев, А. В.    Операционные системы [Текст] : [учебник]: доп. М-вом образования РФ / А. В. Гордеев. - 2-е изд. - СПб : Питер, 2009. - 415 с. : ил. - (Учебник для вузов). - Лит. : с. 406-408. - ISBN 978-5-94723-632-3 : 171-70. 

Дополнительная:

  1. Конфигурирование и сопровождение современных операционных систем [Текст]: учебное пособие/Т.В. Мещерякова, И.В. Атласов, Л.А. Обухова.-Воронеж: Воронежский институтМВД России, 2012.- 139 с.- ISBN 978-5-885973-069-9. 

  2. Фигурнов, В.Э. IBM PC для пользователя : крат. курс [Текст] / В. Э. Фигурнов. - 7-е изд.,сокращ.версия. - М. : Инфра-М, 1999. - 479с. : ил. - ISBN 5-86225-471-4 : 32-00. 

  3. Операционные системы [Текст]: учебное пособие / Воронежск. ин-т МВД РФ. - Воронеж : ВИ МВД России, 2010. - 158 с. - Лит.: с.157-158. - ISBN 978-5-88591-025-5 : 47-69. 


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

Интерфейс пользователя (UI) – это часть программы, которая находится на виду у пользователя и призвана обеспечивать отображение данных, управление или диалог с пользователем. При разработке программного обеспечения программисты не должны оставлять дизайн интерфейса пользователя "на потом", считая, что в программе только код должен быть краеугольным камнем. Время от времени у пользователей возникает чувство раздраженности, например, даже из-за неудачно подобранных шрифтов, неудобного расположения элементов управления, отображения данных. Для удобства пользователей должно быть затрачено n-ое количество часов, так как это серьезная работа. Это следует учитывать при озвучивании сроков разработки программы.

Удобство пользовательского интерфейса входит в такое понятие как "Эргономика", которое включается в процессы разработки и тестирования программного продукта как часть системы качества. Разработка пользовательского интерфейса должна вестись совместно с дизайном программного продукта в целом.

Процесс разработки пользовательского интерфейса разбивается на этапы жизненного цикла:

  • Анализ трудовой деятельности пользователя, объединение бизнес-функций в роли.

  • Построение пользовательской модели данных, привязка объектов к ролям и формирование рабочих мест.

  • Формулировка требований к работе пользователя и выбор показателей оценки пользовательского интерфейса.

  • Разработка обобщенного сценария взаимодействия пользователя с программным модулем (функциональной модели) и его предварительная оценка пользователями и Заказчиком.

  • Корректировка и детализация сценария взаимодействия, выбор и дополнение стандарта (руководства) для построения прототипа.

  • Разработка макетов и прототипов ПИ и их оценка в деловой игре, выбор окончательного варианта.

  • Имплементация ПИ в коде, создание тестовой версии.

  • Разработка средств поддержки пользователя (пользовательские словари, подсказки, сообщения, помощь и пр.) и их встраивание в программный код.

  • Usability тестирование тестовой версии ПИ по набору раннее определенных показателей.

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


Удобство пользовательского интерфейса. Программа разрабатывается для обеспечения работы пользователя, т. е. для того, чтобы он, с помощью компьютерной программы, быстрее, надежнее и качественнее решал свои производственные задачи. С точки зрения удобства пользовательского интерфейса в программе важно создать такой пользовательский интерфейс, который сделает работу эффективной и производительной, а также обеспечит удовлетворенность пользователя от работы с программой. Разработчику необходимо тщательно продумать и осознать сценарий взаимодействия программы с пользователем, приведя его к оптимальной системе выполнения задач, и реализовать пользовательский интерфейс в соответствии с этой системой. Для того, чтобы разобраться в технологии решения задач пользователя, разработчику необходимо выяснить следующие моменты:

  • Какая информация необходима пользователю для решения задачи?

  • Какую информацию пользователь может игнорировать (не учитывать)?

  • Совместно с пользователем разделить всю информацию на сигнальную, отображаемую, редактируемую, поисковую и результирующую.

  • Какие решения пользователю необходимо принимать в процессе работы с программой?

  • Может ли пользователь совершать несколько различных действий (решать несколько задач) одновременно?

  • Какие типовые операции использует пользователь при решении задачи?

Что произойдет, если пользователь будет действовать не по предписанному Вами алгоритму, пропуская те или иные шаги или обходя их?

Дизайн пользовательского интерфейса должен обеспечивать минимизацию усилий пользователя при выполнении работы и приводить к:

  • сокращению длительности операций чтения, редактирования и поиска информации,

  • уменьшению времени навигации и выбора команды,

  • повышению общей продуктивности пользователя, заключающейся в объеме обработанных данных за определенный период времени.

  • увеличению длительности устойчивой работы пользователя и др.


Методика выполнения работы
1. Запустить программу ForeUI: