next up previous
Next: Типы данных.

Лабораторный практикум по информатике
Третий уровень

Знакомство с Linux: вход в систему, Х, консоль. Знакомство с клавиатурой Если вы знакомы с расположением и назначением клавиш стандартной компьютерной клавиатуры, не читайте этот раздел.

Рассмотрите клавиатуру. Начнем с верхнего правого угла. Здесь расположена клавиша <Esc> (произносится - ,,искейп'') -- ,,Отмена''. Ее нажатие зачастую равносильно нажатию кнопки ,,Отмена'' диалоговых окон.

Далее идет ряд функциональных клавиш <F1> ...<F12>, которые имеют особое назначение в различных программах. По стандарту не меняется значение только клавиши <F1> -- ее нажатие вызывает справочную систему данной программы.

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

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

Текстовая клавиатура подобна клавиатуре печатной машинки за исключением дополнительных клавиш. Клавиша ,,Забой'' ( $\longleftarrow$) -- крайняя справа в верхнем ряду предназначена для удаления символа слева от курсора. Во втором ряду есть еще одна особая клавиша -- ,,Табуляция'' или ,,Tab'' (). Ее значение важно при форматировании текстовых документов (если вы хотите получить ровные столбцы из цифр. По краям третьго ряда расположены клавиши <Caps Lock> и ,,Ввод'' (Enter -- $\leftarrow\hspace{-3.5pt}\raisebox{2.5pt}{\rule{.2pt}{2pt}}$).

Клавиша <Caps Lock> служит для фиксирования верхнего регистра при вводе букв. Если ее нажать, загорится соответствующий светодиодный индикатор, и вы будете печатать заглавными буквами. Если необходимо ввести 1-2 символа строчными буквами -- достаточно нажать одну из клавиш <Shift> (они расположены по краям второго ряда снизу) и, удерживая ее -- нажать клавишу с нужным символом. Для окончания ввода заглавными буквами, достаточно повторно нажать клавишу <Caps Lock>. Если вы печатаете строчными буквами и вам необходимо набрать 1-2 символа заглавными, нет необходимости нажимать <Caps Lock> -- достаточно нажать нужную клавишу, удерживая <Shift>. Аналогично вводятся спецсимволы, расположенные на цифровых клавишах ( !@#$%^&*()_+ ).

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

Для смены раскладки клавиатуры (английская/русская) нужно нажать одновременно клавиши <Ctrl> и <Shift>.

Клавиши <Ctrl> и <Alt> используются только в сочетании с другими клавишами для выполнения клавиатурных макросов.

Основные сочетания клавиш:

Вход в Графический интерфейс пользователя (ГИП) Сразу после загрузки возникает экран приглашения входа в систему. В поле ,,Имя пользователя'' нужно ввести свой логин -- регистрационное имя в системе. Далее система попросит ввести свой пароль. Пока вы его не смените, это -- ваш логин, окруженный с двух сторон точками. Например, если ваш логин ,,igor_k'', то паролем будет ,,.igor_k.''. После входа в систему вы сможете сменить свой пароль командой passwd (об этом -- позже).

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

После окончания загрузки оболочки вы можете приступать к работе в Х. Как можете заметить на первый взгляд, Х почти ничем не отличаются от графической оболочки Windows, но, например, KDE имеет куда больше возможностей, чем ГИП W.

Войдите в KDE, посмотрите, как выглядит эта оболочка. Затем выйдите из нее, нажав в К-меню кнопку ,,Завершить сеанс''. Войдите в Gnome и посмотрите, как выглядит эта среда. выйдя из Gnome, установите понравившуюся вам оболочку по умолчанию. Кроме того, установите по умолчанию русский язык (выбрать эти настройки можно в любой момент до нажатия <Enter> после ввода пароля.

Текстовая консоль -- многопользовательская операционная система, одновременно на ПК с могут работать много человек (естественно, сидя за разными ПК, но выполняя команды на данном), чего нельзя сделать в W. Изначально в не было поддержки Х, с тех времен сохранилась возможность работать в реальной консоли (позже вы узнаете, что в Х есть ее аналоги -- Xterm и Konsole, которые чем-то похожи на режим сессии DOS в W.)

В существует 6 консолей (терминалов). Перейти на какую-нибудь из них из Х можно, нажав сочетание клавиш <Ctrl> + <Alt> + <F1...6>. Монитор переключится в текстовый режим и вы увидете приглашение в консоль:
ASPLinux releas ...
Kernel ...
... login:
Вы можете ввести свой логин, а затем пароль. После этого появится приглашение к работе вида igor_k at /home/101/igor_k>. Это -- приглашение командного процессора, обрабатывающего вводимые команды и выполняющего соответствующие действия. Теперь можно работать в консоли, выполняя различные команды. Конечно, рядовому пользователю это покажется страшным, но истинные линуксоиды очень уважают консоль и даже в Х работают обычно в виртуальном терминале. Это действительно очень удобно: зная всего 100 - 200 основных команд проще набрать их в консоли, чем искать значки этих приложений в меню. Кроме того, некоторые команды можно выполнить только в консоли.

Не забывайте, что в всем устройствам соответствуют файлы в каталоге /dev, поэтому работа с устройством сводится к открытию соответствующего файла и чтению/записи информации из него. Работу по непосредственной передаче данных устройству выполняет его драйвер.

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

Для переключения между консолями используйте сочетания <Alt> + <F1...6>, а для переключения в Х -- <Alt> + <F7>.

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

Создайте папку Work, набрав mkdir Work. В этой папке вы будете сохранять все свои задания. Постепенно, по мере их выполнения, вы освоите , а тогда освоить любую другую ОС вам будет очень просто.

Зайдите в папку Work: cd Work и создайте в ней файл, куда в дальнейшем будете заносить информацию о новых командах: touch Help.txt.

Просмотреть содержимое файла можно командой cat: cat Help.txt покажет вам содержимое только что созданного файла (но, так как он пуст, ничего не отобразится). Занесите в этот файл новые команды, завершая каждую строку нажатием <Enter>:

echo "ls <папка> - вывод содержимого текущей или указанной папки" >> Help.txt
echo "mkdir <имя> - создание папки"  >> Help.txt
echo "cd <папка> - смена текущей папки"  >> Help.txt
echo "touch <имя> - создание файла"  >> Help.txt
echo "cat <имя файла> - вывод содержимого файла на экран"  >> Help.txt
echo "echo - вывод на экран текста, стоящего после команды"  >> Help.txt
Переключение на русский язык - нажатием клавиш <Ctrl> + <Shift>. Если вы не можете найти клавиши <Shift>: это крайние клавиши второго ряда снизу в группе текствых клавиш. Обратите внимание на то, что после каждой команды echo мы писали >> Help.txt. Это -- перенаправление вывода команды. Вместо того, чтобы писать текст на экран, он отображается в файл.

Если после команды, делающей вывод результатов на экран, написать > filename, команный процессор запишет весь вывод этой программы в файл filename, а если такой файл существовал, прежнее его содержимое будет затерто. Если же после команды набрать >> filename, то если файл filename существовал, вывод команды будет дописан в его конец.

Чтобы не набирать одинаковые команды, полезно использовать клавиши перемещения курсора вверх и вниз, расположенные внизу на клавиатуре между текстовой и вспомогательной цифровой клавиатурами. Эти клавиши помогают передвигаться в истории введенных команд на 1 пункт. Кроме того, клавиши <Page Up> и <Page Down> позволяют передвигаться на 30 команд в истории. Основные элементы графического интерфейса. Файловая система. Работа в Х Рабочие столы Самый первый элемент графического интерфейса любой ОС, который бросается в глаза -- рабочий стол desktop. В по умолчанию 4 рабочих стола (можно сделать до 20-ти), переключиться между которыми можно либо нажимая <Ctrl> + , либо - <Ctrl> +<Fn>, где n -- номер желаемого рабочего стола. Наличие нескольких рабочих столов очень удобно, так как можно одновременно работать с большим количеством приложений, как бы на нескольких мониторах.

Настройте свои рабочие столы: разместите на них заставки, настройте хранитель экрана.


\begin{pict}
% latex2html id marker 107\includegraphics[width=10cm]{Desktop}
\caption{Рабочий стол}
\end{pict}

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

Меню Раскройте К-меню menu. Ознакомьтесь с ним.


\begin{pict}
% latex2html id marker 114\includegraphics[width=8cm]{Menu}
\caption{К-меню}
\end{pict}

Оно состоит из трех частей:

Обратите внимание на пункт ,,Центр управления''. При помощи этой программы вы можете настроить не только KDE, но и различные службы center.

Запустите центр управления. На вкладке слева выберите пункт ,,Внешний вид и темы''. Настройте KDE по своему вкусу.
\begin{pict}
% latex2html id marker 122\includegraphics[width=12cm]{Controlecenter}
\caption{Центр управления KDE}
\end{pict}

Выполнение команд пользователем Вызов программ
\begin{pict}
% latex2html id marker 129\includegraphics[width=5cm]{run}
\caption{Окно ,,Выполнить программу''}
\end{pict}

Для выполнения единичных команд существует пункт К-меню ,,Выполнить программу'' run. Вызвать это окно можно также, нажав сочетание клавиш <Alt> + <F2>. В появившемя окне введите название команды и нажмите <Enter>.

Попробуйте открыть таким образом браузер Mozilla (он вызывается командой mozilla).

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


\begin{pict}
% latex2html id marker 137\includegraphics[width=5cm]{xterm}
\caption{Виртуальный терминал (консоль) Xterm}
\end{pict}
Виртуальная консоль практически аналогична консоли реальной. В ней вы также можете выполнять команды, редактировать файлы и т.п.

Более ,,красивая'' виртуальная консоль -- konsole konsole1.


\begin{pict}
% latex2html id marker 143\includegraphics[width=5cm]{konsole1}
\caption{Виртуальная консоль Konsole}
\end{pict}

Она уже более приспособлена к Х, чем xterm, и позволяет пользователю менять свое оформление konsole2.


\begin{pict}
% latex2html id marker 149\includegraphics[width=5cm]{konsole2}
\caption{,,Прозрачная'' тема Konsole}
\end{pict}

Запустите программу konsole (либо из окна ,,Выполнить программу'', либо из К-меню ,,Система'' ,,Терминал'', либо же из панели быстрого запуска, нажав на иконку с изображением монитора).

Настройте на свой вкус тему консоли (нажмите правую клавишу мыши, затем выберите из контекстного меню пункт ,,Настройка'').

Наберите команду ls. Она покажет вам список файлов и папок текущего каталога. Следующее задание вы будете выполнять в консоли.

Файловая система (ФС). Доступ к ресурсам ФС. Консольный доступ поддерживает много типов ФС. Но наиболее распространены три: xfs, reiserfs и ext3fs. На вашем компьютере разделы жесткого диска отформатированы в reiserfs. В любом случае, в какой бы ФС ни были отформатированы разделы, в существует следующая организация файловой структуры: существует каталог верхнего уровня (корневой каталог -- /), в котором размещены каталоги следующего уровня.

Другие разделы жесткого диска можно монтировать в любой каталог командой mount. Вам разрешается монтировать только флоппи- и компакт-диски. Остальные разделы файловой системы в целях безопасности разрешено монтировать только суперпользователю root (администратор компьютера). Более простая процедура монтирования диска -- через его иконку на рабочем столе (пункт ,,Подключить'' контекстного меню). Для отмонтирования диска используется команда umount или пункт ,,Отмонтировать'' (или ,,Извлечь'' -- для компакт-диска) контекстного меню иконки диска.

В файловых системах помимо понятий файл и каталог существуют особые файлы: символическая и жесткая ссылки. Создать жесткую ссылку можно командой ln <имя файла> [<имя ссылки>], а символическую -- ln -s <имя файла> [<имя ссылки>]. Символическая ссылка -- это файл, в котором записан полный путь к другому файлу. Жесткая ссылка возможна только внутри того же раздела, на котором размещена цель ссылки, она представляет собой запись в каталоге, содержащую файловый дескриптор цели. Можно сказать, что жесткая ссылка -- это копия файла, которая практически не занимает места на диске. Ссылка отличается от копии тем, что если редактировать цель ссылки, то по всем ссылкам получим измененный файл. По понятиям безопасности нельзя создавать жесткие ссылки на папки (иначе может получиться циклическая запись ссылок, в итоге которой из папки нельзя будет выйти).

Создайте в своем домашнем каталоге /home/<ваш логин> файл link (если забыли -- командой touch link). Создайте на него жесткую и символическую ссылки ( ln link h_link и ln -s link s_link). Внесите в этот файл запись: echo "lalala" > link. Посмотрите, как изменились файлы s_link и h_link: cat s_link; cat h_link.

Удалите файл link: rm link. Теперь посмотрите опять файлы s_link и h_link. Как видите, в файле -- жесткой сслылке ничего не изменилось, а при попытке открыть символическую появилась ошибка: No such file or directory, говорящая, что объект ссылки удален.

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

Конечно, постоянно набирать команды cd, ls и т.п. неудобно, поэтому были созданы файловые менеджеры. Наиболее популярный консольный файловый менеджер -- mc (Midnight Commander) mc.


\begin{pict}
% latex2html id marker 157\includegraphics[width=9cm]{mc}
\caption{Файловый менеджер Midnight Commander (\т mc\н)}
\end{pict}

Запустите mc в виртуальной консоли. В самом низу находится полоса подсказок: нажав на функциональную клавишу с таким номером будет совершено действие, указанное на подсказке.

Откройте для редактирования свой файл Help.txt (клавиша <F4>). Запишите в него все новые команды, которые вы узнали за сегодняшний урок.

Доступ к ФС из Х Просмотреть содержимое ФС из Х можно при помощи любого браузера. На панели управления есть кнопка ,,Домой''. Нажмите ее. Откроется браузер Konqueror, в котором вы сможете просмотреть содержимое своей домашней папки.

Запустить Konqueror можно и командой konqueror

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

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

Можно настроить Konqueror так, чтобы папки открывались одиночным нажатием левой кнопки мыши, тогда чтобы выделить элемент ФС, необходимо навести на него мышь и немного подождать.

Скопируйте в свой домашний каталог пару песен с учительского компьютера (папка Music). Сделайте это при помощи:

  1. mc -- в левой панели откройте папку Music, в правой -- домашнюю папку. Переключаться между панелями можно при помощи клавиши <Tab> (). Затем в панели слева выделите нужные файлы клавишей <Insert>, в домашней папке создайте каталог Music (клавиша <F7>), зайдите в него, переместитесь в левую панель и, нажав <F5>, скопируйте файлы в свою папку.
  2. При помощи браузера -- нажмите кнопку ,,Домой'', войдите в папку /Music. Выделите несколько песен нажатием левой клавиши мыши. Если при выделении держать нажатой клавишу <Ctrl>, можно выделить объекты, расположенные в произвольном порядке.

Прослушать песни можно при помощи программы Xmms (xmms). В К-меню: ,,Звук и видео'' ,,Музыкальный проигрыватель''. Набор, редактирование и форматирование текстовых документов. В текстовых редакторах имеется множество дополнительных функций, ускоряющих и облегчающих работу с текстами:

В есть много разных текстовых редакторов: от примитивных вроде gedit до сложных, как Open Office (ОО). Gedit предназначен для набора простых текстов, которым не нужно содержать сложного форматирования и т.п. (например, компьютерных программ).

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

Ознакомление с ОО Writer Откройте текстовый редактор OO Writer. Сохраните сразу пустой документ в своей рабочей папке.

В открытом редакторе всегда отображаются две панели инструментов: ,,Стандартная'' и ,,Форматирование''. Панели содержат кнопки редактирования и форматирования текста, а также выпадающие списки, в которых можно выбрать стиль текста, его гарнитуру (шрифт) и размер. Для просмотра описания пунктов панели нужно навести на них курсор мыши, не нажимая никаких клавиш. Через небольшой промежуток времени под курсором загорится описание данной кнопки или списка.

Кроме того, в случае возникновения вопросов по нажатию кнопки<F1>возникает окно помощи, где можно найти описания и советы. Кроме того, в новых версиях офисных пакетов существует т.н. ,,Помощник'', дающий советы в процессе работы.

Ознакомьтесь с меню и панелями инструментов.

Ввод и редактирование текста Наберите текст:

\fbox{\parbox{.9\textwidth}{\normalsize
Для понятия аснов работы с пирсональным ...
...ель же выполняет роль консультанта в случае
возникновения трудностей и ошибок.}}

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

Выделите некоторые элементы текста курсивом, некоторые -- жирным, некоторые -- подчеркнутым. Задайте разные цвета некоторых слов. Сделайте различное выравнивание абзацев (по центру, слева, справа, по ширине). Например:

\fbox{\parbox{.9\textwidth}{\normalsize
Для понятия основ работы с\к персональны...
...\ж консультанта\н в случае
возникновения трудностей и ошибок.
\end{flushright}}}

Размер символов, а также их гарнитуру можно задать, изменяя значения в выпадающем списке панели инструментов. Начертание символов можно изменить либо нажав кнопки ,,Ж (B)'', ,,К (i)'', ,,П (U)'' на панели инструментов, либо сочетания клавиш: <Ctrl> + <B>, <Ctrl> + <I>, <Ctrl + U> соответственно для жирного, курсивного или подчеркнутого начертания.

Сделайте надпись, использующую нижние и верхние индексы, спецсимволы, например, $X_i^k=\sum X_{ij}^k \cdot y_i$.

Для того, чтобы введенный символ был верхним или нижним индексом, необходимо выделить его и в контекстном меню (по нажатию правой кнопки мыши) выбрать пункт ,,Стиль $\Rightarrow$ Верхний/Нижний индекс'' (,,Style'' ,,Subscript/Superscript''), где пометить нужный аттрибут символа. Можно добавить на панели инструментов кнопки, создающие верхние/нижние индексы, а можно создать макросы и назначить им какое-нибудь сочетание клавиш.

Сноски Добавьте к некоторым элементам автоматические сноски1. Сноски можно маркировать не только подряд, но и задавать произвольный номер100, еще сноска101.

Колонтитулы Добавьте в документ верхний и нижний колонтитул. На верхнем колонтитуле отобразите общее количество страниц документа, на нижнем - номер страницы. Отредактируйте документ, задав размер левого поля 2.5см, остальных -- 1см. На колонтитулы отведите по 1.5см. Для отображения колонтитулов выберите пункт меню ,,Вставка'' ,,Верхний/нижний Колонтитул'' (,,Insert'' ,,Header'', ,,Footer'').

Использование стилей в документе Создайте стиль на основе стиля ,,Основной'' (,,Text Body'') со следующими параметрами:

Для отображения имеющихся стилей выберите пункт меню ,,Формат'' ,,Стили'' (,,Format'' ,,Stylist'') или нажмите <F11>.

Дайте стилю название ,,Мой стиль''. Таким же образом на основе стиля ,,Заголовок 1'' и ,,Заголовок 2'' (Head 1,2) создайте свои собственные стили заголовков 1-го и 2-го уровня. Это пригодится вам в дальнейшем. Выравнивание обоих уровней заголовков создайте по центру, гарнитура -- ,,Times New Roman'', кегль у заголовка 1-го уровня -- 30pt, у заголовка 2-го уровня -- 20pt. Заголовок 1-го уровня сделайте жирным, а 2-го -- курсивным. До и после заголовков оставьте пространство, равное кеглю заголовков.

Назовите заголовки ,,Уровень 1'' и ,,Уровень 2''.

Перед набранным до этого текстом создайте заголовок 1-го уровня: ,,Практическая работа 1'', затем, следом за ним -- заголовок 2-го уровня: ,,Форматирование текста''. Весь остальной текст оформите в стиле ,,Мой стиль''.

Таблицы Начните задание с новой страницы. Для этого вставьте в документ разрыв страницы.

Разрыв страницы можно создать двумя способами: либо выбрав из меню ,,Вставка'' пункт ,,Разрыв'' ,,Разрыв страницы'' (,,Insert'' ,,Manual break'' ,,Page break''), либо нажав сочетание клавиш <Ctrl> + <Enter>.

Наберите стилем ,,Уровень 2'' заголовок ,,Форматирование таблиц''.

Вставьте в документ таблицу -- меню ,,Вставка'' ,,Таблица'' (,,Insert'' ,,Table''). Кроме того, таблицу можно вставить при помощи сочетания клавиш <Ctrl> +<F12>. При этом появится меню, в котором необходимо определить количество колонок и столбцов новой таблицы, выравнивание по умолчанию в ее ячейках, а также ширину таблицы -- фиксированную, по ширине окна, или по размеру содержимого. Нажав кнопку ,,Автоформат'' (,,Autoformat'') можно задать шаблон предварительного форматирования таблицы.

Для объединения соседних ячеек необходимо выделить их и щелкнуть по выделению правой кнопкой мыши. В открывшемся контекстном меню выбрать пункт ,,Ячейка'' ,,Объединить'' (,,Cell'' ,,Merge''). Чтобы разбить ячейку необходимо выбрать пункт контекстного меню ,,Ячейка'' ,,Разбить'' (,,Split'').

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

Создайте таблицу - расписание ваших занятий. Пример:

Расписание занятий гр. ___

пары Понедельник Вторник Среда Четверг Пятница
1 математика -- физика -- рус. язык
2 химия технология спецпредметы -- физика
3 информатика спецпредметы спецпредметы -- литература
4 биология -- химия -- экология
5 -- -- -- информатика --
6       физика  
7       рус. язык  
8       литература  

Для создания невидимых линий между ячейками можно выделить нужную ячейку и, нажав кнопку ,,Границы'' (,,Borders'') на панели инструментов таблицы, выбрать пункт без границ. В режиме разметки страницы невидимые линии будут отображаться серым цветом. Таким же образом можно изменять стили других границ, стирать ненужные границы.

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

Элементы векторной графики Вставьте в документ разрыв страницы и наберите стилем ,,Уровень 1'': ,,Занятие 2''. А стилем ,,Уровень 2'' -- ,,Векторная графика''.

Создайте в документе какой-либо векторный рисунок, например, блок-схему алгоритма выбора. В OO Writer удобно выбирать уже готовые графические объекты из галереи объектов. В OO Writer существует возможность создать текстовое поле, которое можно вставить из панели ,,Рисование''. Оно обладает большим количеством свойств, сочетание которых позволяет получить полноценный красочный текстовый объект.

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

Формулы На новой странице стилем ,,Уровень 2'' наберите: ,,Набор и редактирование формул''. Простые Вставьте в текст какую-нибудь формулу. Пример:

\begin{displaymath}\lim_{x\to 0}\Int_0^\pi\frac{\sin x}{x}\,dx=\Int_0^\pi\,dx=\pi\end{displaymath}

Вставка в текст формулы вызвать из меню ,,Вставка ,,Формула'' (,,Insert'' ,,Formula''). Сложные Вставьте в текст ,,многоэтажную'' формулу, например,

\begin{displaymath}F(\omega,N) = \Int_{-\infty}^{\infty}E(t)\cdot \frac{\sin{\df...
...a t}{2\pi}}}
{\sin{\dfrac{\omega t}{2\pi}}}e^{-i\omega t}\, dt.\end{displaymath}

При вставке в текст формулы появляется панель формул. Если она не появится, необходимо в меню ,,Вид'' отметить соответствующий пункт.

Автоматические элементы На новой странице создайте стилем ,,Уровень 1'' заголовок ,,Автоматические элементы'', стилем ,,Уровень 2'' будете создавать подзаголовки, соответствующие названиям выполняемых заданий.

Использование автоматических списков Создайте список, содержащий несколько уровней. Используйте различные стили. Например:

Животные:

  1. Домашние:
    \begin{subenumerate}
\item \к грызуны\н
\begin{itemize}
\item мышь
\item крыса
\...
...щники\н
\begin{itemize}
\item собака
\item кошка
\end{itemize}\end{subenumerate}
  2. Дикие:
    \begin{subenumerate}
\item \к млекопитающие\н
\begin{itemize}
\item кенгуру
\ite...
...\н
\begin{itemize}
\item крокодил
\item черепаха
\end{itemize}\end{subenumerate}

Для создания списков используйте кнопки [height=20pt]buttons. Для задания нового элемента списка просто нажмите ,,Enter'' в конце строки, для создания следующего уровня списка нажмите ,,Tab'' (клавиша слева от буквы q на клавиатуре) после того, как перейдете на новый элемент. Возврат на предыдущий уровень списка - ,,Shift + Tab''. Редактирование вида маркеров - двойным щелчком левой клавишей мыши на маркере.

Оглавление Если в вашем документе не применялись стили ,,Уровень 1'' и ,,Уровень 2'', то создайте в нескольких местах документа заголовки. Желательно, чтобы документ состоял из нескольких страниц, и на каждой было хотя бы по одному заголовку 1-го уровня и 2-3 заголовка 2-го уровня.

Вставьте в самом начале текста автоматический элемент ,,Оглавление''. Оглавление вставляется из меню ,,Вставка'' ,,Оглавления и сноски'' ,,Оглавления и сноски''(,,Insert'' ,,Indexes and tables'' ,,Indexes and tables''). Выберите какой-нибудь стиль оглавления, а также количество уровней, которые будут в нем отображаться.

Алфавитный указатель

Выделите какое-нибудь слово, например, если вы пользовались классификацией животных, выделите ,,дикие''. Выберите в меню ,,Вставка'' $\Rightarrow$ ''Оглавления и сноски'' $\Rightarrow$ ,,Элемент указателя'' (,,Entry''). В качестве 1-го ключа укажите ,,Дикие животные''. Укажите, что это - основной элемент. Затем выделите, например, ,,Кошка''. Опять повторите операцию с выделением указателя, но кроме 1-го ключа укажите 2-й ключ - ,,Хищники''. Проделайте подобное еще с нескольлкими словами, затем перейдите в конец документа и вставьте алфавитный указатель также, как вставляли оглавление.

Гиперссылки

Вставьте в документ гиперссылку на какой-нибудь рисунок, расположенный в папке ,,Мои рисунки''. Посмотрите, как она работает.

На какой-нибудь странице документа создайте внутреннюю гиперссылку на один из элементов документа (например, какой-нибудь заголовок). Для активации гиперссылки нужно щелкнуть на ней левой клавишей мыши с нажатой клавишей <Ctrl>. Электронные таблицы. Вспомнить лекцию ,,Обработка числовой документации''

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

Самая важная функция электронных таблиц -- создание формул, включающих функцию и диапазон вычисляемых ячеек. Благодаря этому электронные таблицы получили такое широкое применение. Необходимо отметить также возможность прогнозирования значения с помощью анализа "что-если". Это означает, что можно пересмотреть различные варианты данных для достижения результата.

По имеющимся данным можно построить диаграмму.

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

Откройте OO Calc. Ознакомьтесь с меню программы и панелью инструментов.

Простые таблицы

Создайте таблицу по образцу:



Экзаменационные оценки
п/п Ф.И.О. Математика Физика Химия
1. Пупкин Вася 2 3 2
2. Иванов Коля 3 4 4
3. Сергеев Олег 5 5 4
4. Никитин Стас 3 3 4
5. Аверьянов Саша 4 3 3


Для создания автоматической нумерации поставьте цифру 1 в 1-й ячейке списка, затем выделите ее одним щелчком левой кнопки мыши и протяните на нужное количество ячеек за правый нижний угол (черный квадрат).

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

Для сортировки данных выделите диапазон, который необходимо отсортировать, и выберите из меню ,,Данные'' (,,Data'') пункт ,,Сортировка'' (,,Sort'').

Таблицы с формулами

Создайте рядом с предыдущей таблицей таблицу 3х30. В первый столбец занесите номер ячейки с данными в таблице (как в предыдущей таблице), во второй столбец занесите значения аргумента -- Х -- начиная от -1.5 и заканчивая +1.5 с шагом 0.1. Для этого введите в первую ячейку $-1.5$, в ячейке под ней напишите формулу $=Xx + 0.1$, где $Xx$ -- кординаты предыдущей ячейки.

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

Теперь протяните только что введенную ячейку вниз за правый нижний угол вплоть до конца таблицы.

В третий столбец вставьте какую-нибудь формулу, например, =SIN(Xx) + 3*TG(Xx), где $Xx$ -- координаты соседней слева ячейки. Протяните эту ячейку до конца таблицы.

Залейте первый столбец черным цветом, а второй и третий -- зеленым. Создайте границы таблицы.

Ссылки

Вставьте в какую-нибудь ячейку своего документа гиперссылку на другой документ. Теперь при активации этой ссылки автоматически будет открываться новый документ.

На втором листе документа (см. закладки внизу рабочей области) создайте таблицу ,,Цены на продуктовые товары''. Включите в нее несколько товаров (первый столбец), во втором столбце запишите стоимость товаров в у.е., а в третьем -- в рублях. Для автоматического пересчета введите в 1-ю ячейку третьего столбца формулу =Xx*Yy. Где Xx -- соседняя слева ячейка с ценой в рублях, Yy -- ячейка, содержащая курс валюты (поместите ее рядом с таблицей).


Цены на продуктовые товары
п/п Продукт Цена ($) Цена (р.)
1. Сметана (1кг) 1.22  
2. Хлеб (1 булка) 0.31  
3. Молоко (1л) 0.43  
4. Колбаса копченая (1кг) 4.55  
5. Вареники (0.5кг) 0.95  


Теперь протяните ячейку с формулой вниз. У вас получились нули. Объясните, почему так произошло. Посмотрите, что было записано в ячейки при автозаполнении. Как избавиться от этой проблемы?

См. лекции (про абсолютные и отностительные ссылки) Добавьте в таблицу еще 2-3 пункта, протяните формулу, выражающую цену в $ в рублях, чтобы вычислить и их стоимость.

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

Построение диаграмм и графиков Откройте или создайте новый файл, содержащий таблицу из двух колонок. В первую занесите координаты Х с некоторым постоянным шагом, во вторую -- какую-нибудь функцию от Х. Пар X -- Y должно быть не менее 30. В данной работе будет использоваться эта таблица.

Выделите данную таблицу и постройте по ней гистограмму и график. Для этого выделите колонки с данными осей Х и У, затем из меню ,,Вставка'' выберите пункт ,,Диаграмма'' (,,Insert'' ,,Chart''). Поставьте флажок на пункте ,,Первая колонка как подпись оси Х'' (,,First column as label''). Другой флажок снимите.

Нажмите кнопку ,,Далее'' (,,Next''). Выберите тип ,,График''. Убедитесь, что переключатель ,,Данные в'' (,,Data series in'') под окном выбора стоит в положении ,,Колонках'' (,,Columns''). Нажмите ,,Далее'' и выберите вид графика ,,Обычный'' (,,Normal''). Нажмите ,,Далее'' и задайте название графика и подписи осей. Снимите флажок с пункта ,,Легенда'' (,,Legend'').

Нажмите ,,Создать'' (,,Create'') и на вашем рабочем листе появится диаграмма.

Создайте какое-нибудь красивое оформление диаграммы, измените шрифты подписей, типы линий, заливку и т.п.

Теперь постройте статистическую таблицу разрядки конденсатора:


t, мс I, мкА t, мс I, мкА t, мс I, мкА t, мс I, мкА
0 150.5 6 7.3 11 1.0 16 0.1
1 100.4 7 5.0 12 0.5 17 0.1
2 55.7 8 3.8 13 0.3 18 0.1
3 35.6 9 2.6 14 0.2 19 0.0
4 19.4 10 2.3 15 0.2 20 0.0


Зная, что конденсатор разряжается по закону $I=I_0 e^{-\dfrac{t}{RC}}$ $(*)$, а также, что $R=22$кОм, найдите емкость конденсатора.

Для этого сделаем кое-какие расчеты: 15

Теперь вы получили значение емкости конденсатора. Это был пример использования электронных таблиц в физике и математике.

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

Для сложных вычислений существует такой ,,монстр'', как Matlab -- программа, которая удовлетворит практически все вычислительные и визуализационные потребности современного ученого. Электронные презентации. Электронные презентации значительно упрощают работу по составлению графического сопровождения различного рода мероприятий.

OO Impress позволяет:

Создание простой презентации Запустите OO Impress. Появится ,,автопилот'', предлагающий создать пустую презентацию, открыть уже имеющуюся презентацию или создать презентацию из шаблона. Создайте пустую презентацию, для этого сразу нажмите кнопку ,,Создать'' (,,Create''). У вас появится окно ,,Разметка слайда'' (,,Modify slide''), из которого можно выбрать разметку нового слайда. Для первого слайда выберите второй вариант сверху: текстовое поле (заголовок слайда) вверху слайда и пустое пространство внизу. Нажмите ,,ОК''.

При создании презентации появляется ,,плавающее'' окно ,,Презентация'', позволяющее вставлять и изменять слайды, а также копировать их.

Слайд в виде черного текста на белом фоне смотрится некрасиво, поэтому для начала создайте фон презентации.

Для задания фона слайдов щелкните по пустому месту на слайде и из контекстного меню выберите ,,Слайд'' ,,Настройки страницы'' ,,Фон'' (,,Slide'' ,,Page setup'' ,,Background'').

Можно залить фон одним цветом (,,Color''), градиентной заливкой (,,Gradient''), штриховкой (,,Hatching'') или рисунком (,,Bitmap''). Справа вверху окна расположен образец -- так будет выглядеть фон слайда после заливки. Внизу расположены элемены выбора цвета/типа заливки.

Выбрав нужную заливку, щелкните ,,ОК''. Появится окно, спрашивающее, применить ли такой фон ко всем слайдам. Нажмите ,,Нет'' (,,No''), если хотите оформить слайды по-разному.

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

Придумайте тему презентации, или выберите ее из списка: ,,Отдых в горах'', ,,Виды спорта'', ,,Мой колледж'', ,,Я и мои друзья'', ,,Каникулы моей мечты'', ,,Немного про меня'', ,,Выбор профессии''.

На первом слайде напишите название презентации, добавьте какой-нибудь спецэффект для появления названия. Для этого щелкните по тексту левой кнопкой мыши, затем щелкните левой кнопкой по границе текстового поля для того, чтобы войти в режим редактирования не самого текста, а собственно поля. Щелкните по нему правой кнопкой мыши и из контекстного меню и выберите пункт ,,Эффекты'' (,,Effects''). Появится окно настройки спецэффектов, в котором довольно лекго разобраться. Из закладок вверху выбираем тип эффекта, затем из выпадающего меню, расположенном ниже, выбираем группу эффектов, а из нее -- из самого большого поля в этом окне выбираем тип эффекта. Самое нижнее выпадающее меню позволяет выбрать скорость эффекта. Выбрав эффект, нажмите кнопку ,,Применить'' (,,Assign'') -- кнопка с зеленой галочкой -- для присвоения эффекта элементу. Эффект можно просмотреть и не применяя, нажав кнопку ,,Просмотр'' (,,Prewiew''), расположенную справа от кнопки ,,Применить''.

Если не закрывать окно ,,Эффекты'', можно применять спецэффекты и к другим элементам слайда, щелкая левой кнопкой мыши по этому элементу и присваивая ему какой-нибудь спецэффект.

Окно ,,Эффекты'' можно вызвать и из пункта меню ,,Слайд шоу'' (,,Slide show'') ,,Эффекты''.

Сделайте цвет текста таким, чтобы он хорошо контрастировал с фоном слайда. Для этого выделите текст, цвет которого вы хотите изменить, а затем либо из меню ,,Формат'' ,,Символ'' ,,Эффекты шрифта'' (,,Format'' ,Character'' ,,Font Effects''), либо нажатием кнопки цветовых аттрибутов текста на панели инструментов выбрать цвет текста.

Добавьте в презентацию еще 7-10 слайдов (в вашей итоговой презентации должно быть не менее 8 слайдов).

Перемещаться между слайдами можно при помощи клавиш <Page Up> и <Page Down>

Оформьте остальные слайды на свой вкус. Помимо текста вставьте в слайды изображения из галереи ОО, либо из сетевой папки pictures на сервере sgpk. Обратите особое внимание на смысловую нагрузку презентации и эргономичное оформление слайдов.

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

Анимация не должна утомлять зрение (т.е. элементы не должны ,,скакать'' - они должны перемещаться плавно).

Создание автоматического показа презентации Откройте пункт меню ,,Показ слайдов'' (,,Slide Show''). Настройте автоматическую смену слайдов по времени -- подпункт ,,Настройка презентации'' (,,Slide Show settings) и вид смены слайдов -- подпункт ,,Смена слайдов'' (,,Slide Transition''). В окне ,,Настройка презентации'' можно настроить много разных параметров. Обратите внимание на эти настройки. Вид смены слайдов можно настроить отдельно для каждого слайда, также как и паузу между слайдами.

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

Можно настроить автоматическую смену слайдов и по-другому. Для этого зайдите в меню ,,Слайд шоу'' ,,Временные интервалы'' (,,Slide show'' ,,Rehearse timings''). Запустится слайд шоу, а на экране появится таймер, щелкая на который через желаемый интервал времени, можно настроить соответствующую паузу между слайдами.

Анимации и звуковые файлы в презентации Добавьте к презентации несколько слайдов. Вставьте на один из слайдов анимацию (из галереи, сети, либо создайте ее самостоятельно с помощью Gimp).

Добавьте спецэффекты для появления и исчезновения анимации.

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

Вставьте в один из слайдов аудиофайл ,,Апплодисменты'' (его можно найти в галерее).

Завершите оформление слайдов, проверьте функциональность презентации. Графические редакторы. Растровые графические редакторы (Gimp) Запустите растровый редактор, ознакомтесь с его меню.

Загрузите в редактор какую-нибудь фотографию (можно скачать по сети с компьютера sgpk по адресу http://www.sgpk/pict). Скачать изображение можно, щелкнув в браузере (Konqueror или Mozilla) правой кнопкой на понравившееся изображение и выбрав из контекстного меню пункт ,,Сохранить как'' (,,Save As'').

Для того, чтобы открыть изображение в Gimp, необходимо выбрать в меню ,,Файл'' (,,File'') пункт ,,Открыть'' (,,Open'') или нажмите сочетание клавиш "Ctrl" + "O". В появившемся диалоговом окне выберите файл, который необходимо открыть.

Испробуйте различные спецэффекты. Ознакомьтесь с возможностями редактора.

Выполните с изображением следующие манипуляции:

Поэкспериментируйте с другими спецэффектами. Отменить только что выполненное действие можно, нажав сочетание клавиш "Ctrl" + "Z".

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

Посмотрите, что можно сделать с форографией по адресу http://www.sgpk/ Документы Примеры.

Сохраните полученное изображение в своей домашней папке.

Векторные графические редакторы (OO Draw, QCad, GnuPlot, Xfig и т.п.)

Создайте векторное изображение в любом векторном редакторе. Поэкспериментируйте с градиентными заливками и трехмерными спецэффектами.

Если вы работаете в Open Office, поэкспериментируйте с трехмерными эффектами. В Linux существуют такие удобные векторные графические редакторы, как Xfig и Dia. Если вы не можете найти их в меню, нажмите сочетание клавиш ,,Ctrl'' + ,,F2'', в появившемся окне наберите ,,dia'' (,,xfig'') и нажмите Enter.

Нарисуйте в векторном редакторе простую схему или чертеж, например, план расположения мебели в компьютерном классе.

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

Все модели можно разбить на два класса: предметные (материальные) и информационные. Предметные модели воспроизводят свойства объектов в материальной форме, а информационные -- в образной или знаковой.

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

Информационные модели делятся на следующие типы:

Для исследования модели можно использовать такой алгоритм:

  1. Содержательная постановка задачи. Задание необходимых для составления модели условий и параметров.
  2. Создание качественной описательной модели. Словесное описание модели и допущений, возможных при формализации.
  3. Составление формальной модели. Запись всех необходимых уравнений и условий, составление набросков графиков и т.п.
  4. Визуализация модели. Графическое отображение модели.

Исследование математической модели. Найти графическим методом корень уравнения $x^3=\sin x$, не имеющее точного алгебраического решения.

Выполнять это задание следует, воспользовавшись следующим алгоритмом:

  1. Создайте электронную таблицу Open Office Calc. Сохраните ее под названием Lesson_7.sxi в своей рабочей папке.
  2. В самой первой ячейке поставьте -1, в ячейке под ней запишите формулу =A1+0.05 и протяните эту ячейку за правый нижний угол до 41-й строки.
  3. В ячейке B1 запишите формулу =A13, а в C1 -- =SIN(A1) и тоже протяните их до 41-й строки.
  4. Выделите всю получившуюся таблицу и выберите в меню ,,Вставить'' (,,Insert'') ,,Диаграмма'' (,,Diagram'').
  5. В открывшемся диалоге выбора типа диаграммы поставьте флажок у пункта ,,Первый столбец как подпись'' (,,First column as...''); нажмите ,,Далее'' (,,Next'').
  6. Выберите тип диаграммы -- ,,Линии'' (,,Lines''); укажите, что ряды данных расположены в столбцах (Columns); нажмите ,,Далее''.
  7. Выберите ,,Обычная'' (,,Normal''); нажмите ,,Далее''.
  8. Введите название диаграммы и укажите подписи осей; нажмите ,,Готово'' (,,Ready'').

На построенном графике найдите координаты точек пересечения двух кривых. Это и будут искомые корни уравнения.

Исследование физической модели. Построить физическую модель полета тела, брошенного под углом $\alpha$ к горизонту.

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

Качественная описательная модель. Здесь можно сделать следующие допущения:

Формальная модель. Опишем математически движение мяча. По оси $X$ он движется равномерно, а по оси $Y$ -- равноускоренно. Проекции начальной скорости на координатные оси равны:

\begin{displaymath}v_x=v_0 \cos\alpha;\qquad v_y=v_0\sin\alpha.\end{displaymath}

Соответственно, координаты будут меняться по законам:

\begin{displaymath}x=v_0\cos\alpha\cdot t;\qquad y=v_0\sin\alpha\cdot t-\frac{gt^2}2.\end{displaymath}

Когда мяч упадет на площадку, его координата $y$ станет равна 0, следовательно, можно получить время полета мяча:

\begin{displaymath}v_0\sin\alpha\cdot t=\frac{gt^2}2\quad \Arr\quad t_1=0,\quad t_2=\frac{2v_0\sin\alpha}{g}.\end{displaymath}

$t_1$ нас не интересует, т.к. это -- время вылета мяча из автомата. Теперь, подставив найденное $t$ в выражение для $x$, получим:

\begin{displaymath}x=\frac{v_0^2}{g}\sin2\alpha.\qquad\mathbf{(*)}\end{displaymath}

Пусть аппарат обладает возможностью задать мячу одну из трех скоростей: $v_1=5$ м/с, $v_2=10$ м/с, $v_3=20$ м/с. Согласно формуле $(*)$, какими бы ни были углы наклона, для конкретной скорости $v_0$ расстояние, которое пролетит мяч, лежит в диапазоне $\left[0,\:
\frac{v_0^2}{g}\right]$. Таким образом, если необходимо бросить мяч на расстояние $x$, вначале следует выбрать необходимую начальную скорость из условия

\begin{displaymath}\dfrac{v_0^2}{g}\ge x, \quad\Arr\quad v_0\ge\sqrt{gx}.\end{displaymath}

Итак, если начальная скорость $v_1$, $v_2$ или $v_3$ удовлетворяет этим условиям, вторым шагом будет выбор угла наклона автомата. Следует учесть, что почти для всех точек таких углов будет 2: $\alpha_1=45\degr-\beta$ и $\alpha_2=45\degr+\beta$, где $\beta$ -- некоторый угол.

Вычислить угол можно из формулы $(*)$:

\begin{displaymath}\alpha=\frac12\arcsin{\frac{gx}{v_0^2}}.\end{displaymath}

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

Это задание также будем выполнять в OO Calc.

  1. Создайте новый документ или используйте другой лист имеющегося документа.
  2. В первый столбец занесите скорости: 5, 10 и 20 м/с. Выделите ячейку A6 каким-нибудь цветом. В нее вы будете заносить требуемую дальность полета. В первую ячейку второго столбца занесите формулу =IF(A1>=SQRT($A$6*9,81);A1;0) и протяните ее вниз до третьей строки. Это -- условие, проверяющее, сможет ли при данной начальной скорости мяч долететь до цели.
  3. В первую строку столбца C занесите формулу =0,5*ASIN(9,81*$A$6/(B12))*180/PI(). Здесь будет расчитываться значение первого угла. Значение второго угла будет расчитываться в столбце D, куда следует занести формулу =90-C1. Выделите обе ячейки и протяните вниз до третьей строки.
  4. В столбец F занесите значения времени от 0 до 4 с интервалом 0,05.
  5. В столбцах G и I будем рассчитывать координату Х при полете мяча с максимальной скоростью. Занесите в G1 формулу =$A$6*COS($C$3*PI()/180)*F1. В I1 занесите формулу =$A$6*COS($D$3*PI()/180)*F1.
  6. В столбцах H и J будем рассчитывать координату У мяча. Занесите в ячейку H1 формулу =$A$6*SIN($C$3*PI()/180)*F1-4,905*F12, а в ячейку J1 -- формулу =$A$6*SIN($D$3*PI()/180)*F1-4,905*F12.
  7. Протяните первую строку от столбца G до столбца J до цифры 4 столбца F.
  8. Теперь внесите в ячейку A6 число 15 и постройте траекторию полета мяча для двух углов. Для этого выделите столбцы G и H и выберите в меню ,,Вставить'' ,,Диаграмма''. Укажите, что подписи оси Х расположены в первом столбце. Выберите тип диаграммы ,,Линии'', ,,Обычная''. Аналогично поступите для столбцов I и J.
  9. Теперь измените значение расстояния на 10 и посмотрите, как изменятся графики полета мяча. Для построения графика выделите колонки, в которуы занесены координаты Х и У (например, G и H. Затем выберите пункт меню ,,ВставкаДиаграмма''. В появившемся окне не забудьте поставить флажок ,,Первый столбец как подпись'', далее выберите нужный тип диаграммы и нажмите ,,ОК''.
Основы программирования в shell. Shell (оболочка) -- командный процессор, принимающий команды пользователя, анализирующий их и выполняющий необходимые действия. Наиболее часто в Linux употребляется оболочка Bash (sh). Некоторые команды оболочки вы уже знаете, но бывают случаи, когда приходится по многу раз вводить одни и те же команды, меняя лишь малую их часть. Для упрощения работы пользователя в таких случаях используются командные файлы (скрипты shell).

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

Создайте в своей рабочей папке файл count и сделайте его исполняемым (наберите команду chmod 775 count). Теперь откройте этот файл для редактирования любым текстовым редактором (если вы работаете в mc, наведите выделение на этот файл и нажмите клавишу F4, если командной строке -- наберите, например, kwrite count).

В самом начале файла наберите строку
#!/bin/sh
Она необходима для того, чтобы командный процессор распознал данный файл как скрипт. Далее наберите непосредственно текст скрипта:

COUNT=-2                                        # Не считаем папки . и ..
for FILE in `ls -a`                             # Начало цикла
do                                              #  по списку файлов в папке
    COUNT=`expr $COUNT + 1`                     # Увеличить счетчик на 1
done                                            # Конец цикла
echo "Папка содержит $COUNT файлов и папок"     # Вывод результата

Обратите внимание, что ковычки, в которые заключены команды <s и expr, получаются при нажатии буквы е (слева от 1) в английской раскладке. Они означают, что заключенный в них текст будет выполнен как команда, а результат ее -- подставлен вместо кавычек.

Знаком # отмечаются комментарии, все, что написаоно в строке после него, не будет считано командным интерпретатором, поэтому, в принципе, комментарии можно не записывать. Они нужны только для лучшего понимания скрипта. Единственный комментарий, который обязательно следует записать -- указание командной оболочке, что для исполнения файла необходимо использовать bash (#!/bin/sh).

Здесь COUNT -- счетчик, который будет содержать количество файлов и папок в текущей папке. Далее в программе следует цикл, в котором переменная FILE принимает все значения из листинга текущей папки. На каждый файл переменная COUNT увеличивается на 1.

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

Набрав и сохранив программу, выполните ее, для чего в mc просто наведите на нее выделение и нажмите Enter, а в командной строке ее можно выполнить двумя способами: набрав либо sh count, либо ./count.

Подсчет файлов 2. Теперь заставим нашу программу не просто считать файлы и папки вмести, а определять отдельно количество файлов, папок и исполняемых файлов. Для этого нам понадобится три счетчика. В начале программы обнулим счетчики файлов и исполняемых файлов, а счетчику папок присвоим значение -2, чтобы не считать папки "." и "..".

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

Параметром команды называют текст, который идет после ее имени. Обычно параметры используются для того, чтобы задавать различные варианты исполнения команды, либо передавать ей какие-либо данные. Например, в предыдущем тексте для вывода списка всех файлов данной папки мы передали команде <s параметр -a. Для того, чтобы просмотреть содержимое не текущей папки, необходимо передать ее имя как параметр команды <s: например, ls /usr/lib.

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

Организуем цикл по списку файлов и папок в данной папке, а затем будем проверять каждый элемент этого списка, прибавляя к соответствующему счетчику 1. Проверка типа выполняется с помощью условного оператора [], проверяющего истинность значения, заключенного в скобках. Оператор t& выполняет следующую за ним команду, если предыдущая вернула истинное значение. Каждому типу файлов соответствует свой флаг проверки: -f -- для любых файлов, -d -- для папок, -x -- для исполняемых файлов. Когда будет необходимо применить сложную проверку, будем пользоваться операторами if -- then -- else -- fi, означающими ,,если'' -- ,,то'' -- ,,иначе'' -- ,,конец проверки''.

Цикл в скриптах bash организуются командой for, после которой следует имя переменной, в которую будут заноситься очередные значения цикла, затем -- слово in, означающее, что значения будут браться из последующего списка, и, наконец, сам список значений, чаще всего его заменяют выводом какой-нибудь программы, как мы и поступим.

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

Доступ к параметрам, сообщенным скрипту в командной строке, осуществляется так же, как и доступ к значениям переменных, за тем исключением, что каждый параметр обозначается цифрой, соответствующей его номеру. Нулевой параметр соответствует названию команды. Пример: $2 означает доступ ко второму параметру введенной команды.

После завершения цикла выведем содержимое счетчиков на экран.

#!/bin/sh

countf=0                    # счетчик файлов
countd=-2                   # счетчик папок
countx=0                    # счетчик исполняемых файлов
[ "$1" != "" ] && dir="$1/" # по умолчанию будем считать в текущей папке
for file in `ls -a $1`
do
    [ -f "$dir$file" ] && countf=`expr $countf + 1`
    [ -d "$dir$file" ] && countd=`expr $countd + 1`    
    [ -x "$dir$file" -a ! -d "$dir$file" ] && countx=`expr $countx + 1`        
done
echo -e "count files in $PWD/$1:\n$countd\tfolders\n$countf\tfiles\n$countx\texecutes"
echo "Total: `expr $countf + $countd + $countx` files and folders"

Параметр -e говорит команде echo, что она должна учитывать специальные параметры, управляюие текстом: t#tex2html_wrap_inline994#n -- начать новую строку, t#tex2html_wrap_inline996#t -- вставить символ табуляции.

Набрав и сохранив программу, выполните ее, для чего в mc просто наведите на нее выделение и нажмите Enter, а в командной строке ее можно выполнить двумя способами: набрав либо sh count, либо ./count.

Более сложные скрипты. Сбор файлов из разных папок в одну 1.

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

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

Вначале проверим, является ли параметр нашей команды полным именем, то есть проверим, начинается ли оно со знака /. Для этого нам поможет команда >rep, показывающая все вхождения заданного ей параметра в файле или входных данных. Данные на вход команды >rep перенаправим при помощи конвейера -- оператора |, который переводит стандартный вывод (выходные данные ) первой программы на стандартный вход второй (входные данные).

Полным именем (путем) файла называется весь путь к файлу, начиная с корневой папки. Например, /var/log/messages/1.msg -- полное имя файла, messages/1.msg -- его имя (путь к нему) относительно папки log, а 1.msg -- краткое имя файла (или же -- собственно имя файла).

При проверке имя папки сохраним в переменной tmp. Если оно является полным, присвоим его переменной where, в которой будет храниться полный путь к искомой папке. Если имя является неполным, сделаем его таким, подставив префиксом текущую папку (она хранится в переменной PWD), а если gather была запущена вообще без параметров, присвоим переменной where GATHER.

Файлы будем копировать командой cp, если вы хотите, чтобы файлы не копировались, а перемещались, необходимо заменить ее на команду mv.

#!/bin/sh

tmp=`echo "$1" | grep "^/"`                             # Проверка, является ли
if  [ "$tmp" != "" ]; then                              #  параметр $1 полным именем
    where="$1"                                          #  файла.
else                                                    # Если не является, то
    if [ "$1" != "" ]; then                             #  если он не пустой
        where="$PWD/$1"                                 # приводим его к полному виду,
    else                                                #  иначе -
        where="$PWD/GATHER"                             #  будем складывать в GATHER.
    fi                                                  # Конец проверки
fi                                                      # Конец проверки
[ ! -e $where ] && mkdir $where                         # Если папки назначения нет,
                                                        #  создаем ее.
for file in `ls`                                        # Цикл по списку файлов в
do                                                      #  текущей папке (без скрытых).
    if [ "$PWD/$file" != "$where" -a -d "$file" ]; then # Если наткнулись на папку,
        cd $file                                        #  входим в нее
        gather $where                                   #  и собираем из нее файлы,
        cd ../                                          #  а потом выходим назад,
        continue                                        #  прерывая цикл, чтобы
    fi                                                  #  не обработать случайно папку
    cp $file $where                                     # Копируем файл в место назначения
done                                                    # Конец цикла

Сбор файлов из разных папок в одну 2. Теперь усложним нашу программу: сделаем так, чтобы она собирала только картинки jpg и переименовывала их, начиная с 1. Для этого нам понадобится счетчик, в котором будет находиться номер текущей картинки, назовем его count. Кроме того, т.к. программа работает рекурсивно, необходимо передавать дочерним процессам (вызываемым основной программой) номер текущей картинки (будем передавать его вторым параметром). Основная программа также должна знать, до какого номера ,,досчитался'' дочерний процесс, т.е. он должен возвращать текущее значение счетчика после завершения своей работы (сделаем это при помощи команды echo $count, выводящей в конце программы текущее значение счетчика).

Увеличивать значение счетчика будем опять при помощи команды expr. Проверить, является ли файл картинкой jpg можно по его расширению при помощи команды >rep, перенаправив на ее стандартный вход имя файла, выведенное командой echo. Будем искать вхождение выражения .jpg в конец имени файла, для этого используем знак $ в конце выражения, означающий конец строки (начало строки обозначается знаком ^). Кроме того, следует учесть, что имя файла может быть не только в нижнем регистре, но и в верхнем, т.е. следует проверять как малые, так и большие буквы в расширении. Для того, чтобы подставить одно из нескольких значений в строчном выражении, их пишут в квадратных скобках, не разделяя запятой.

#!/bin/sh

if [ "$2" != "" ]; then           # Если есть второй параметр,
    count="$2"                    #  присваиваем счетчику его значение,
else                              # иначе
    count=1                       # присваиваем счетчику 1.
fi
tmp=`echo "$1" | grep "^/"`
if  [ "$tmp" != "" ]; then
    where="$1"
else
    if [ "$1" != "" ]; then
        where="$PWD/$1"
    else
        where="$PWD/GATHER"
    fi
fi
[ ! -e $where ] && mkdir $where
for file in `ls`
do
    if [ "$PWD/$file" != "$where" -a -d "$file" ]; then
        cd $file
        count=`gather $where $count`  # Присвоим счетчику значение дочернего процесса.
        cd ../
        continue
    fi
    tmp=`echo "$file" | grep ".[jJ][pP][gG]$"`  # Проверим, картинка ли наш файл
    if [ "$tmp" != "" ]; then                   # если картинка, то
        cp $file $where/$count.jpg              # скопируем ее в папку назначения,
        count=`expr $count + 1`                 # и увеличим на 1 значение счетчика.
    fi
done
echo $count                                     # В конце выведем текущее значение счетчика.

Наберите этот скрипт и посмотрите, как он работает. Основы программирования на языке C. Знакомство с языком С. Введение. Для написания компьютерных программ используется большое число языков программирования. Для того, чтобы запустить написанную на одном из них программу, следует транслировать ее в понятные компьютеру коды. Программ-трансляторов намного больше, чем языков программирования, каждый программист использует тот транслятор, который ему больше нравится и лучше всего удовлетворяет требованиям к готовой программе.

Трансляторы делятся на компиляторы и интерпретаторы.

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

Более ,,продвинутыми'' являются языки программирования, использующие компиляторы. Компилятор анализирует программный код и создает исполняемый файл, содержащий машинные коды, понятные операционной системе. Исполняемый файл не нужно анализировать в ходе его выполнения -- он загружается в память компьютера и выполняется ОС сразу, что значительно повышает скорость выполнения программы.

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

Файлы, содержащие текст программ на языке С, обычно имеют расширение с, а на языке С++ -- срр, сс или с++. Кроме них существуют заголовочные файлы, имеющие расширение h (в С++ -- hpp, H или h++). Заголовочные файлы содержат информацию о функциях и переменных, хранящихся в соответствующих с файлах.

Структура файлов на языке С.

Для трансляции программного кода, написанного на С и С++ в системе Linux используется компилятор >cc (аббревиатура, означающая GNU C compiler -- компилятор языков С и С++, написанный по лицензии GNU).

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

Функции на языке С имеют следующий вид:

TYPE FNAME(ARGLIST){
    FBODY;
    return RET;
}
где TYPE -- тип данных RET, возвращаемых функцией; FNAME -- имя функции, оно должно начинаться с буквы или символа _, может содержать латинские буквы (компилятор различает прописные и строчные буквы, так что myFn и myfn -- разные имена функций), цифры и символ _; ARGLIST -- список аргументов, представляющий собой набор переменных (и описаний их типов), которые должны быть переданы в функцию и/или возвращены ею (если не хватает одного возвращаемого значения RET; FBODY -- тело функции, представляющее собой набор команд, которые должна выполнять эта функция.

Все функции в программе разделяются знаком ,,; '', который говорит компилятору, что действие данного оператора закончилось.

Главной функцией программы является функция main, возвращающая обычно целое значение int. Если компилятор не находит такой функции, он выдает ошибку. Функция main может быть единственной в программе, а может и вызывать другие функции.

Более широким является понятие оператора, представляющего собой указание ОС совершить какое-то действие. Оператором может быть и функция, и, например, арифметические операции (+, -, *, /). Существует множество различных операторов, часть из них вы изучите.




next up previous
Next: Типы данных.
Edward V. Emelianoff 2007-04-25


Hosted by uCoz