Внешняя память компьютера. Работа с таблицами в EXCEL и MS WORD

Оглавление



Задание №1 «Архитектура персонального компьютера» 

Задание №2 «Операционная сиcтема WINDOWS 9.x» 

Задание №3 «Объектно-ориентированная платформа WINDOWS» 

Задание №4 «Текстовый процессор MS WORD» 

Задание №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);

XFlush(display);

delay(20);

end;

(* в цикле увеличиваем окно *)

for i:=0 to 39 do begin

inc(win_width,3);

inc(win_height,3);

XResizeWindow(display, win, win_width, win_height);

XFlush(display);

delay(20);

end;

end;

delay(1000);

(* пример перемещения окна *)

begin

(* вначале получаем текущие атрибуты окна *)

XGetWindowAttributes(display, win, @win_attr);

xx := win_attr.x;

y := win_attr.y;

(* затем находим окно родителя *)

begin

(* выполним запрос необходимых значений *)

XQueryTree(display, win,

@root_win,

@parent_win,

@child_windows, @num_child_windows);

(* мы должны освободить список дочерних дескрипторов, *)

(* так как он был динамически выделен XQueryTree() *)

XFree(child_windows);

end;

(* Транслируем локальные координаты в экранные, используя *)

(* корневое окно как окно, относительно которого выполняется *)

(* трансляция. Это работает потому, что корневое окно всегда *)

(*занимает весь экран, и его левый верхний угол совпадает *)

(* с левым верхним углом экрана *)

XTranslateCoordinates(display,

parent_win, win_attr.root,

xx, y,

@scr_x, @scr_y,

@child_win);

(* перемещаем окно влево *)

for i:=0 to 39 do begin

dec(scr_x,3);

XMoveWindow(display, win, scr_x, scr_y);

XFlush(display);

delay(20);

end;

(* перемещаем окно вниз *)

for i:=0 to 39 do begin

inc(scr_y,3);

XMoveWindow(display, win, scr_x, scr_y);

XFlush(display);

delay(20);

end;

(* перемещаем окно вправо *)

for i:=0 to 39 do begin

inc(scr_x,3);

XMoveWindow(display, win, scr_x, scr_y);

XFlush(display);

delay(20);

end;

(* перемещаем окно вверх *)

for i:=0 to 39 do begin

dec(scr_y,3);

XMoveWindow(display, win, scr_x, scr_y);

XFlush(display);

delay(20);

end;

end;

delay(1000);

(* пример сворачивания и восстановления окна *)

begin

(* сворачиваем окно *)

XIconifyWindow(display, win, XDefaultScreen(display));

XFlush(display);

delay(2000);

(* восстанавливаем окно *)

XMapWindow(display, win);

XFlush(display);

delay(2000);

end;

XFlush(display);

(* короткая передышка *)

delay(2000);

(* закрываем соединение с Х сервером *)

XCloseDisplay(display);

end.



Задание №4 «Текстовый процессор MS WORD»



Создание таблицы. Перемещение по таблице. Вставка строк и столбцов в таблицу. Сортировка данных в таблице. Изменение ширины и высоты ячеек.

Создание таблицы

Создание новой таблицы можно осуществить тремя способами:

 Нарисовать 

 Вставить 

 Создание на основе существующих данных (текста, чисел) 

1. Нарисовать (создать) таблицу

Для создания таблицы со сложным заголовком целесообразно использовать способ Нарисовать таблицу, выбрав команду Таблица / Нарисовать таблицу. Появится плавающая панель инструментов Таблицы и границы, с помощью которой можно создать таблицу и осуществить ее редактирование и форматирование.







Ввод данных и перемещение по таблице

Ввод данных (текст или числа) в таблицу производится с помощью клавиатуры. Если введено больше символов, чем может поместиться в одной строке, Word автоматически перенесет символы, которые не поместились в текущей строке, на следующую строку в той же ячейке. 

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



Комбинация клавиш

Назначение

Tab

Перемещает курсор вправо на одну ячейку. Добавляет новую строку, если курсор расположен в последней ячейке

Shift + Tab

Перемещает курсор влево на одну ячейку

"стрелка вверх" и "стрелка вниз"

Перемещает курсор в последующую или предыдущую строку соответственно

<-- и -->

Перемещает курсор на один символ в пределах ячейки. Нажатие этих клавиш соответственно в начале и конце ячейки приведет к перемещению в предыдущую или последующую ячейки

Alt + Ноmе и Alt + End

Перемещает курсор в первую или последнюю ячейку строки соответственно

Alt + PgUp и Alt + PgDn 

Перемещает курсор в первую или последнюю строку столбца соответственно




Для вставки новых строк/столбцов в таблицу необходимо: выделить в таблице столько строк/столбцов, сколько необходимо добавить, выбрать пункт Меню=>Таблица Добавить строки (Добавить столбцы), если такой команды нет, то выделение строк/столбцов выполнено некорректно.

Новые строки/столбцы будут вставлены перед выделенными областями. 

Для вставки строк в конец таблицы поместите курсор в начало абзаца, следующего за таблицей и выберите пункт Меню=>Таблица=>Добавить строки. В диалоговом окне “Добавление строк” задайте число вставляемых строк (новые строки будут иметь формат последней строки таблицы).

Чтобы расширить таблицу вправо, вставляя новые столбцы, выделите область с правой сторона таблицы, выберите пункт Меню=>Таблица=>Добавить столбцы. В результате таблица будет расширена вправо на один столбец. 

Добавление ячеек осуществляется аналогично добавлению строк и столбцов в таблицу, но при этом в диалоговом окне “Добавление ячеек” необходимо выбрать один из способов вставки новых ячеек. 

Для удаления ячеек, строк или столбцов выделите соответствующую область в таблице и в меню выберите подходящий пункт Меню=>Таблица=>Удалить ячейки (Удалить строки, Удалить столбцы). Для удаления строки (столбца) можно встать в любую ячейку этой строки (столбца), выбрать пункт “Удалить ячейки” и в открывшемся окне поставить переключатель “Удалить всю строку” (“Удалить весь столбец”).

Выделенные области нельзя удалить с помощью клавиш Delete или BackSpace. Эти клавиши удаляют только содержимое ячеек.

Сортировка данных в таблице

Операция сортировки данных используется всегда для удобства нахождения нужной информации. Когда на экране (или на бумаге) отображается таблица, гораздо легче найти нужную строку, если эти строки упорядочены. Вы привыкли к тому, что табличные данные упорядочены по алфавиту, по дате, по увеличению или уменьшению значений в столбцах, содержащих числа. Но в разных ситуациях мы хотели бы сортировать строки по разным признакам (столбцам таблицы). В идеале это должно выполняться легким движением руки. Именно так и позволяет делать Access. По умолчанию, когда таблица открывается в режиме Таблицы, она упорядочивается по значению ключевого поля. Если ключевое поле для таблицы не определено, записи выводятся в порядке их ввода в таблицу. Если нужно отсортировать записи по значению другого поля, достаточно установить курсор на любую строку соответствующего столбца и нажать одну из кнопок на панели инструментов: Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending).

Другой способ выполнения этой операции: щелкнуть правой кнопкой мыши по любой строке нужного столбца и выбрать из контекстного меню (рис. 2.55) соответствующую команду.

Таким образом можно упорядочить записи по любому столбцу таблицы. Ограничения существуют только на тип данных, которые можно упорядочивать — нельзя сортировать значения полей типа MEMO, гиперссылки или объекты OLE.

Чтобы правильно применять сортировку, нужно знать несколько простых правил.

При сортировке в возрастающем порядке записи, содержащие пустые поля (с пустыми значениями), указываются в списке первыми.

Числа, находящиеся в текстовых полях, сортируются как строки символов, а не как числовые значения. Если нужно отсортировать их в числовом порядке, все текстовые строки должны содержать одинаковое количество символов. Если строка содержит меньшее количество символов, то сначала нужно вставить незначащие нули.

При сохранении таблицы сохраняется и порядок ее сортировки.








Высота и ширина ячейки

Чтобы формировать вид документа в процессе его создания, недостаточно только функций записи информации в ячейки, необходимо также изменять ее визуальные параметры. Самое простое, с чего можно начать, - изменение ширины столбцов и высоты строк. Доступ к ширине столбцов можно получить, используя коллекцию Columns. Используя номер колонки в буквенном или числовом формате и свойство коллекции ColumnWidth, можно изменить ширину столбца или назначить ее. Определенная ниже функция, реализованная на Delphi, устанавливает ширину столбца. 



Code:

Function SetColumnWidth (sheet:variant;

column:variant;width:real):boolean;

begin

SetColumnWidth:=true;

try

E.ActiveWorkbook.Sheets.Item[sheet].Columns

 [column].ColumnWidth:=width;

except

SetColumnWidth:=false;

end;

End;



Для определения ширины столбца используйте следующий оператор: width:=E.ActiveWorkbook .Sheets.Item[sheet].Columns[column].ColumnWidth;

Доступ к высоте строк можно получить, используя коллекцию Rows. Назначая номер строки и свойство коллекции RowHeight, можно изменить высоту строки или назначить ее. Определенная ниже функция, реализованная на Delphi, устанавливает высоту строки.



Code:

Function SetRowHeight (sheet:variant;row:variant;

height:real):boolean;

begin

SetRowHeight:=true;

try

E.ActiveWorkbook.Sheets.Item[sheet].Rows[row].RowHeight:=height;

except

SetRowHeight:=false;

end;

End;



Для определения высоты строки используйте следующий оператор: height:=E.ActiveWorkbook.Sheets.Item[sheet].Rows[row].RowHeight;



Задание №5 «Табличный процессор EXCEL»



Работа с функциями в EXEL. Работа с файлами.

Работа с функциями 

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








Создайте таблицу, пользуясь образцом. Для этого:

В ячейку B1 введите первый день недели.

В выделенной ячейке B1 в правом нижнем углу можно заметить маленький черный квадрат - Маркер заполнения. Если поместить курсор на маркер заполнения, курсор принимает форму черного крестика. Перетаскивание маркера заполнения приводит к копированию содержимого в соседние ячейки. Помимо копирования данных, функция автозаполнения позволяет создавать списки. В нашем случае, после того как вы введете в ячейку "понедельник" и произведете автозаполнение соседних ячеек, то вы получите список: "вторник", "среда" и т.д.

Выделите ячейку B1.

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

Удерживая нажатой левую кнопку мыши, переместите указатель на 6 ячеек вправо.

Выполните команду Формат/Столбец/Автоподбор ширины. В этом случае ширина столбца будет соответствовать содержимому активной (выделенной) ячейки, или в случае, когда столбец предварительно был выделен, ширина столбца будет подобрана в соответствии с содержимым ячейки, содержащей самую длинную цепочку символов.

В ячейки А2, А3, А4 введите название транспорта.

В ячейку С5 введите "Стоимость одной поездки", а в ячейку G5 введите "Всего за неделю".

Выделите ячейки C5 и G5. Для этого выделите сначала ячейку С5, затем, удерживая нажатой клавишу Ctrl, выделите ячейку G5. На панели инструментов Форматирование нажмите кнопку По правому краю, или во вкладке Выравнивание диалогового окна Формат ячеек в выпадающем списке по горизонтали выбрать по правому краю.

Аналогично выровняйте содержимое других ячеек (как показано в образце). Для того чтобы отформатировать содержимое ячеек, необходимо выделить нужную (нужные) ячейку, затем в диалоговом окне Формат ячеек выбрать вкладку Шрифт и отформатировать содержимое ячеек так, как показано на образце.

Введите значение стоимости одной поездки. Затем введите число поездок на каждом виде транспорта в определенный день недели.

Выделите ячейку, в которую собираетесь поместить итоговый результат и нажмите кнопку Автосумма на панели инструментов Стандартная. Перетащите курсор по всем ячейкам, подлежащим суммированию. Примерный вид формулы: "=СУММ(В2:Н4)" (двоеточие между адресами ячеек определяет интервал: все ячейки от В2 до Н4). Установите курсор в строку формул и наберите оставшуюся часть формулы, например, "=СУММ(В2:Н4)*D5". Нажмите Enter.

Для обрамления выделите сначала таблицу без последней строки и выполните команду Формат/Формат ячеек/вкладка Граница и установите все рамки. Затем выделите отдельные ячейки в последней строке: выделите первую ячейку, затем, удерживая нажатой кнопку Ctrl левой кнопкой мыши выделите вторую ячейку. Установите все рамки.

Сохраните документ на диске С: в папке Учебные документы с именем Работа с функциями. 

Функции

Создадим документ следующего вида:








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

Выделите ячейки A-F. Выполните команду Формат\Столбец\Ширина. Задайте ширину столбца 13 см и нажмите кнопку ОК.

В первой строке выделите ячейки A-F.

На панели инструментов Форматирование выполните команду Объединить и поместить в центре и напечатайте заголовок (размер шрифта 14 пунктов). Зададим строкам 3 и 7 нужный вид. Для этого в строке 3 выделим ячейки A-E. На панели инструментов Форматирование выполните команду Границы и выберете нужные границы. Тоже самое проделайте для строки 7. Напечатайте названия колонок. Для этого на панели инструментов Форматирование задайте тип шрифта Полужирный, формат абзаца По правому краю и напечатайте названия колонок.

Аналогично напечатайте названия строк.

Введите значения ячеек таблицы.

Вставьте функции в ячейки E4-E6. Для этого выделите ячейку E4, выполните команду Вставка\Функция, в диалоговом окне Функция выберите функцию СУММ нажмите кнопку ОК, в окне Число1 задайте ссылки на ячейки B4:D4 и нажмите кнопку ОК. Аналогично вставьте функции в ячейки E5-E6, задав нужные ссылки на ячейки.

Вставьте функции в ячейки B7-E7. Для этого выделите ячейку B7, выполните команду Вставка\Функция, в диалоговом окне Функция выберите функцию СУММ нажмите кнопку ОК, в окне Число1 задайте ссылки на ячейки B4:В6 и нажмите кнопку ОК. Аналогично вставьте функции в ячейки C7-E7, задав нужные ссылки на ячейки.

Сохраните документ на диске С: в папке Учебные документы в файле с именем Функция. 

Сортировка

Создадим документ следующего вида:








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

Выделите ячейки A-F. Выполните команду Формат\Столбец\Ширина. Задайте ширину столбца 13 см и нажмите кнопку ОК.

В первой строке выделите ячейки A-F.

На панели инструментов Форматирование выполните команду Объединить и поместить в центре и напечатайте заголовок (размер шрифта 14 пунктов).

Зададим строкам 3 и 8 нужный вид. Для этого в строке 3 выделим ячейки A-E. На панели инструментов Форматирование выполните команду Границы и выберете нужные границы. Тоже самое проделайте для строки 8 и столбцов А и E.

Напечатайте названия колонок. Для этого на панели инструментов Форматирование задайте тип шрифта Полужирный, формат абзаца По правому краю и напечатайте названия колонок.

Аналогично напечатайте названия строк.

Введите значения ячеек таблицы.

Введите значения в колонку Всего. Для этого выделите ячейки В4-D4, на панели инструментов Стандартная выполните команду Автосумма. Аналогично просуммируйте строки 5-8.

Задайте значениям колонки Всего тип шрифта Полужирный. 

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







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

Файлы Excel имеют расширение .xls. Как и для других продуктов из Microsoft Office, разные версии одной программы имеют одно расширение для файлов, но несовместимы по формату данных. Более точно – старые версии файлов в более новых версиях корректно открываются, а вот обратно – не всегда.

После нажатия на команду «Файл» раскрывается командное меню.







Самая последняя команда «Выход» идентична красной кнопке с крестиков в верхнем правом углу. Над ней имеется список из последних открытых Excel файлов. Это очень удобно – для того, чтобы продолжить недавно прерванную работу, не нужно искать требуемый файл.

Команда «Создать» позволяет создать новый пустой файл. Excel дает возможность параллельно работать с несколькими открытыми файлами. Команда «Открыть» позволяет найти и открыть файл. Можно читать данные не только из файлов из Excel, но и из файлов большого количества других форматов. Для этого нужно нажать на кнопку и выбрать нужный формат.







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

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








Аналогичным образом, выполнив команду «Файл/Сохранить как» можно поменять имя и формат файла и папку, в которой он будет находиться.

Для сохранения файла без изменения атрибутов можно выполнить команды «Файл/Сохранить», но обычно можно сделать это быстрее, нажав на кнопку с изображением лупы на панели инструментов:







Задание №6 «Глобальная сеть INTERNET. Сервисное программное»



Компьютерный вирус. Пути распространения вирусов. Способы существования вирусов.

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

Неспециалисты к компьютерным вирусам иногда причисляют и другие виды вредоносных программ, такие как трояны, программы-шпионы и даже спам. Известны десятки тысяч компьютерных вирусов, которые распространяются через Интернет по всему миру, организуя вирусные эпидемии.

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

Однако, позднее злоумышленники добились, что вирусным поведением может обладать не только исполняемый код, содержащий машинный код процессора. Были написаны вирусы на языке пакетных файлов. Потом появились макровирусы, внедряющиеся через макросы в документы таких программ, как Microsoft Word и Excel.

Некоторое время спустя взломщики создали вирусы, использующие уязвимости в популярном программном обеспечении (например, Adobe Photoshop, Internet Explorer, Outlook), в общем случае обрабатывающем обычные данные. Вирусы стали распространяться посредством внедрения в последовательности данных (например, картинки, тексты, и т. д.) специального кода, использующего уязвимости программного обеспечения.

Ныне существует немало разновидностей вирусов, различающихся по способу распространения и функциональности. Если изначально вирусы распространялись на дискетах и других носителях, то сейчас доминируют вирусы, распространяющиеся через Интернет. Растёт и функциональность вирусов, которую они перенимают от других видов программ: руткитов, бэкдоров (создают «чёрный ход» в систему), кейлоггеров (регистрация активности пользователей), программ-шпионов (крадут пароли от банковских счётов и номера кредитных карт), ботнетов (превращают заражённые компьютеры в станции по рассылке спама или в часть компьютерных сетей, занимающихся спамом, DoS-атаками и прочей противоправной активностью).

Как распространяются вирусы

Вирусописатели - люди очень неглупые, грамотные и изобретательные. Они постоянно ищут и находят все новые и новые способы заражения вирусами наших компьютеров. Какие же пути проникновения вредоносных программ на компьютеры пользователей сейчас используются чаще всего? 

Первые вирусы появились практически одновременно с появлением ПК (а точнее - с появлением на ПК жестких дисков) и представляли из себя небольшие фрагменты исполняемого кода, который умел делать две вещи: 

подцеплять самого себя к разным программам (в начале вирусной эпохи - только к исполняемым (.exe, .com) файлам); 

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

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

С развитием программного обеспечения вирусописатели сразу начинают использовать все появляющиеся возможности. Как только разработчики широко распространенного ПО (текстовых редакторов, электронных таблиц и др.) дали возможность использовать пользовательские макросы, так тут же появилось и новое семейство вредоносных программ: макровирусы. По вполне понятным причинам особой любовью у авторов макровирусов пользовалась продукция фирмы Microsoft, особенно Word и Excel, но и другие пакеты не были обойдены их вниманием. 

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

Но настоящий разгул вирусных эпидемий начался с широким распространением Интернета и электронной почты. В настоящее время, согласно данным, опубликованным лабораторией Касперского, около 90% вирусов распространяются через глобальные сети. Поговорим подробнее об этих методах заражения. 

Самый распространенный ныне путь распространения вирусов - через электронную почту. К письму прикрепяется файл, содержащий вредоносную программу, которая запускается при попытке открыть это вложение. При этом, как правило, текст письма содержит очень грамотно, психологически точно составленное сообщение, побуждающее пользователя открыть прикрепленный файл. Вот некоторые примеры (чаще они бывают на английском языке): 

"в ответ на ваш запрос высылаем..." 

"в аттаче - логи ошибок вашего сервера" 

"обнаружена новая уязвимость Windows. Отправляем вам утилиту по исправлению" 

"с вашего компьютера рассылаются зараженные письма. В аттаче - утилита для лечения" 

"посмотри на мои фотографии, я там голая" 

Часто такие письма содержат подпись типа "проверено антивирусом 'таким-то', вирусов не обнаружено". 

Другой популярный в последнее время способ заражения: рассылаются письма и ICQ-сообщения, приглашающие зайти на некий сайт. Вирус загружается на ваш компьютер при открытии рекламируемой WWW-страницы. 

Три условия существования вирусов.

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

Компьютерные вирусы, черви, троянские программы существуют для десятков операционных систем и приложений. В то же время имеется огромное количество других операционных систем и приложений, для которых вредоносные программы пока не обнаружены. Что является причиной существования вредных программ в одних системах и отсутствия их в других?

Причиной появления подобных программ в конкретной операционной системе или приложении является одновременное выполнение следующих условий:

популярность, широкое распространение данной системы; 

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

незащищенность системы или существование известных уязвимостей в её безопасности и приложениях. 

Каждое перечисленное условие является необходимым, а выполнение всех условий одновременно является достаточным для появления разнообразных вредоносных программ.

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

Напрашивается естественный вывод: чем популярнее операционная система или приложение, тем чаще она будет являться жертвой вирусной атаки. Практика это подтверждает — распределение количества вредоносного программного обеспечения для Windows, Linux и MacOS практически совпадает с долями рынка, которые занимают эти операционные системы.

Наличие полной документации необходимо для существования вирусов по естественной причине: создание программ (включая вирусные) невозможно без технического описания использования сервисов операционной системы и правил написания приложений. Например, у обычных мобильных телефонов конца прошлого и начала этого столетия подобная информация была закрыта — ни компании-производители программных продуктов, ни хакеры не имели возможности разрабатывать программы для данных устройств. У телефонов с поддержкой Java и у «умных» телефонов есть документация по разработке приложений — и, как следствие, появляются и вредоносные программы, разработанные специально для телефонов данных типов.

Уязвимостями называют ошибки («дыры») в программном обеспечении, как программистские (ошибка в коде программы, позволяющая вирусу «пролезть в дыру» и захватить контроль над системой), так и логические (возможность проникновения в систему легальными, иногда даже документированными методами). Если в операционной системе или в её приложениях существуют известные уязвимости, то такая система открыта для вирусов, какой бы защищённой она ни была.

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

Примеров широко известных защищенных многофункциональных и открытых операционных систем и приложений, к сожалению, нет. Частично удовлетворяет требованию защищенности Java-машина, которая запускает Java-приложение в режиме «песочницы» (строго контролирует потенциально опасные действия приложения). И действительно, «настоящих» компьютерных вирусов и троянских программ в виде Java-приложений не было достаточно долгое время (за исключением тестовых вирусов, которые были практически неработоспособны). Вредоносные программы в виде Java-приложений появились лишь тогда, когда были обнаружены способы обхода встроенной в Java-машину системы безопасности.

Примером широко используемых защищённых систем могут служить операционные системы в мобильных телефонах (не в «умных» смартфонах и без поддержки загружаемых извне Java-программ). Но в них невозможно установить новые программы, нет документации для их разработки, то есть, функционал системы серьезно ограничен, нет возможности его наращивания. Но зато нет и вирусов.

Другим примером платформы, закрытой для вирусов, является платформа BREW. В мобильные телефоны на этой платформе устанавливаются только сертифицированные приложения (используется крипто-подпись) и строго через провайдера мобильной связи. К разработке приложений для BREW привлекаются сторонние компании-разработчики, существует подробная документация по разработке. Однако для каждого приложения необходимо получить сертификат, что снижает скорость разработки, усложняет её бизнес-процессы. В результате данная система не может похвастаться большой популярностью и обилием приложений по сравнению с конкурирующими предложениями.

Сложно представить, что бы было, если бы настольные системы типа Windows или MacOS были построены на тех же принципах. Существенно бы усложнилась (или даже просто стала бы невозможной) разработка программного обеспечения независимыми компаниями, значительно бы обеднел спектр различных интернет-услуг, скорость работы бизнес-процессов была бы заметно ниже. Мир был бы другим — беднее, скучнее и медленнее. Таким образом, ущерб от вирусных атак можно рассматривать как плату за то, что мы живём в динамичном мире, в мире информации и высоких скоростей.