Задание №1 «Архитектура персонального компьютера»
Задание №2 «Операционная сиcтема WINDOWS 9.x»
Задание №3 «Объектно-ориентированная платформа WINDOWS»
Задание №4 «Текстовый процессор MSWORD»
Задание №5 «Табличный процессор EXCEL»
Задание №6 «Глобальная сеть INTERNET. Сервисное программное».
Задание №1 «Архитектура персонального компьютера»
Внешняя память
Внешняя (долговременная) память — это место длительного хранения данных (программ, результатов расчётов, текстов и т.д.), не используемых в данный момент в оперативной памяти компьютера. Внешняя память, в отличие от оперативной, является энергонезависимой. Носители внешней памяти, кроме того, обеспечивают транспортировку данных в тех случаях, когда компьютеры не объединены в сети (локальные или глобальные).
Для работы с внешней памятью необходимо наличие накопителя (устройства, обеспечивающего запись и (или) считывание информации) и устройства хранения — носителя.
Основные виды накопителей:
накопители на гибких магнитных дисках (НГМД);
накопители на жестких магнитных дисках (НЖМД);
накопители CD-ROM, CD-RW, DVD.
Им соответствуют основные виды носителей:
гибкие магнитные диски (Floppy Disk) (диаметром 3,5’’ и ёмкостью 1,44 Мб; диаметром 5,25’’ и ёмкостью 1,2 Мб (в настоящее время устарели и практически не используются, выпуск накопителей, предназначенных для дисков диаметром 5,25’’, тоже прекращён)), диски для сменных носителей;
жёсткие магнитные диски (Hard Disk);
диски CD-ROM, CD-R, CD-RW, DVD.
Запоминающие устройства принято делить на виды и категории в связи с их принципами функционирования, эксплуатационно-техническими, физическими, программными и др. характеристиками. Так, например, по принципам функционирования различают следующие виды устройств: электронные, магнитные, оптические и смешанные – магнитооптические. Каждый тип устройств организован на основе соответствующей технологии хранения/воспроизведения/записи цифровой информации. Поэтому, в связи с видом, и техническим исполнением носителя информации, различают: электронные и дисковые.
Основные характеристики накопителей и носителей:
информационная ёмкость;
скорость обмена информацией;
надёжность хранения информации;
стоимость.
Задание №2 «Операционная сиcтема WINDOWS 9.x»
Подменю «Настройка».
Меню Пуск, подменю Настройка
NoSetActiveDesktop СкрытьРабочийстол Active Desktop
NoFolderOptions Скрыть Свойства папки
NoSetFolders Скрыть Принтеры и Панель управления
NoSetTaskbar Скрыть Панель задач и меню Пуск
NoNetworkConnections Скрыть Удаленный доступ к сети
Меню Пуск, подменю Настройка, пункт Принтеры
NoPrinterTabs Скрыть некоторые вкладки в диалоге Свойства: принтер
NoDeletePrinter Запретить удаление принтера.
NoAddPrinter Запретить добавление принтера.
Рабочий стол
NoDesktop Отключить Рабочий стол
ClassicShell Сделать вид похожим на Win 95
NoInternetIcon Скрыть значок Интернет
NoNetHood Скрыть Сетевое Окружение
NoStartBanner Отключить "Начните работу с нажатия этой кнопки"
NoActiveDesktop Отключить Active Desktop
NoActiveDesktopChanges Запретить изменения на Active Desktop
Разное
NoFileMenu Убирает меню Файл в Explorer и IE
NoSaveSettings Запретить сохранение установок
NoDrives Скрыть все диски в Мой компьютер (FF FF FF FF). В зависимости от
значения скрываются разные буквы дисков, 00 00 00 00 - не скрыт ни один.
RestrictRun Если доступ к приложениям ограничен для текущего пользователя, то
раздел содержит параметр RestrictRun, который имеет значение 0х00000001. Имена
приложений, доступ к которым разрешен для данного пользователя, хранятся в
подразделе
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun.
Записи в этом подразделе пронумерованы, начиная с 1, и содержат строки с путями
(необязательно) и именами приложений. Доступ для текущего пользователя разрешен
только к тем приложениям, которые упоминаются в подразделе RestrictRun.
NoLowDiskSpaceChecks Не выводить сообщение о нехватке места на диске
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop
NoComponents Убрать Каналы Веб с Рабочего стола
NoAddingComponents Запретить добавлять Каналы Веб
NoClosingComponents Запретить закрывать Каналы Веб
NoDeletingComponents Запретить удалять каналы Веб
NoEditingComponents Запретить изменять каналы Веб
NoChangingWallpaper Запретить смену обоев
Задание №3 «Объектно-ориентированная платформа WINDOWS»
Операции с окнами.
Манипулировать окнами можно не только с помощью атрибутов: Xlib предоставляет набор функций для изменения их размеров, перемещения на экране и в стеке окон, сворачивания и т.п.
Первая пара операций, которые можно применить к окну - отображение или скрытие. Отображение окна заставляют окно появиться на экране, скрытие приводит к удалению с экрана (хотя логическое окно в памяти все еще существует). Например, если в вашей программе есть диалоговое окно, вместо создания его каждый раз по запросу пользователя, мы можем создать окно один раз в скрытом режиме и, когда пользователь запросит открыть диалог, просто отобразить окно на экране. Когда пользователь нажимает "OK" или "Cancel", окно скрывается. Это значительно быстрее создания и уничтожения окна, однако стоит ресурсов, как на стороне клиента, так и на стороне X сервера.
Отображение окна может быть выполнено с помощью XMapWindow(), скрытие - с помощью XUnmapWindow(). Функция отображения заставит событие Expose послаться программе, если только окно полностью не закрыто другими окнами.
Другое действие, которое можно выполнить над окнами - переместить их в другую позиции. Это может быть выполнено функцией XMoveWindow(), которая принимает новые координаты окна. Имейте в виду, что после перемещения окно может быть частично скрытым другими окнами (или наоборот, открыто ими), и таким образом, может быть сгенерировано сообщение Expose.
Изменить размер окна можно с помощью функции XResizeWindow(). Мы можем также объединить перемещение и изменение размеров, используя одну функцию XMoveResizeWindow().
Все приведенные выше функции изменяли свойства одного окна. Существует ряд свойств, связанных с данным окном и другими окнами. Одно из них - порядок засылки в стек: порядок, в котором окна располагаются друг над другом. Говорят, что окно переднего плана находится на верхе стека, а окно заднего плана - на дне стека. Перемещение окна на вершину стека осуществляет функция XRaiseWindow(), перемещение окна на дно стека - функция XLowerWindow().
С помощью функции XIconifyWindow() окно может быть свернуто, а с помощью XMapWindow() - восстановлено. Для того, чтобы понять, почему для XIconifyWindow() нет обратной функции, необходимо заметить, что, когда окно сворачивается, на самом деле оно скрывается, а вместо него отображается окно иконки. Таким образом, чтобы восстановить исходное окно, нужно просто отобразить его снова. Иконка является на самом деле другим окном, которое просто тесно связано сильно с нашим нормальным окном - это не другое состояние нашего окна.
Следующий пример демонстрирует использование операций над окнами:
uses x,xlib,xutil,crt,dos;
(* create_simple_window - создает окно с белым фоном заданного размера.
Принимает в качестве параметров дисплей, размер окна (в пикселях)
и положение окна (также в пикселях). Возвращает дескриптор окна.
Окно создается с черной рамкой шириной в 2 пикселя и автоматичсеки
отображаетсяпослесоздания.*)
function create_simple_window(display : PDisplay;
width, height, x, y : integer): TWindow;
var
screen_num, win_border_width: integer;
win: TWindow;
begin
screen_num := XDefaultScreen(display);
win_border_width := 2;
(* создаем простое окно как прямой потомок корневого окна экрана, используя черный и белый цвета в качестве основного и фонового, и размещая новое окно в верхнем левом углу по заданным координатам*)
win := XCreateSimpleWindow(display, XRootWindow(display, screen_num),
x, y, width, height, win_border_width,
XBlackPixel(display, screen_num),
XWhitePixel(display, screen_num));
(* Отображаем окно на экране. *)
XMapWindow(display, win);
(* Заставляем выполниться все запросы к Х серверу. *)
XFlush(display);
create_simple_window:=win;
end;
//void main(int argc, char* argv[])
var
display: PDisplay; (* указатель на структуру дисплея Х *)
screen_num: integer; (* количество экранов для размещения окон *)
win: TWindow; (* дескриптор создаваемого окна *)
display_width, display_height: word; (* высотаиширинаХдисплея *)
win_width, win_height: word; (* высота и ширина нового окна *)
display_name: array [0..30] of Char;
name: string;
i: integer;
win_attr: TXWindowAttributes;
xx, y, scr_x, scr_y: integer;
child_win: TWindow;
(* переменная для хранения дескриптора родительского окна *)
parent_win: TWindow;
(* эта переменная будет хранить дескриптор корневого окна *)
(* экрана, на котором отображено наше окно *)
root_win: TWindow;
(* эта переменная будет хранить массив дескрипторов *)
(* дочерних окон нашего окна, *)
child_windows: PWindow;
(* а эта - их количество *)
num_child_windows: integer;
begin
name := getenv('DISPLAY'); (* имяХдисплея *)
for i:=1 to byte(name[0]) do
display_name[i-1]:=name[i];
display_name[byte(name[0])]:=#0;
(* устанавливаем соединение с Х сервером *)
display := XOpenDisplay(display_name);
if (display = NIL) then begin
writeln(paramstr(0),': не могу соединиться с Х сервером ',
display_name);
halt(1);
end;
(* получаем геометрию экрана по умолчанию для нашего дисплея *)
screen_num := XDefaultScreen(display);
display_width := XDisplayWidth(display, screen_num);
display_height := XDisplayHeight(display, screen_num);
(* создаем новое окно в 1/9 площади экрана *)
win_width := (display_width div 3);
win_height := (display_height div 3);
(* отладочная печать в стандартный вывод *)
writeln('ширинаокна - ', win_width, '; высота - ', win_height);
(* создаем простое окно как прямой потомок корневого окна экрана, *)
(* используя черный и белый цвета в качестве основного и фонового, и*)
(* размещая новое окно в верхнем левом углу по заданным координатам *)
win := create_simple_window(display, win_width, win_height, 0, 0);
XFlush(display);
(* отдохнем после трудов праведных *)
delay(3000);
(* пример изменения размеров окна *)
begin
(* вциклеуменьшаемокно *)
for i:=0 to 39 do begin
dec(win_width,3);
dec(win_height,3);
XResizeWindow(display, win, win_width, win_height);