Как составить электронный справочник

Как создать электронный справочник

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

Как создать электронный справочник

Вам понадобится

  • Персональный компьютер с доступом в интернет, электронная программа с навигацией, текстом, графикой и фото, видео.

Инструкция

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

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

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

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

Видео по теме

Обратите внимание

СНМ – это формат стандартных операционных систем, начиная Windows 98 выше. Он не требует для просмотра скачивания дополнительных программ. Это позволит широкому кругу пользователей знакомиться с информацией файла.

Источники:

  • создание электронного справочника

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Создание справочников возможно только через веб-интерфейс портала ЕСНСИ. Пользователю ЕСНСИ доступно два способа создания справочников через веб-интерфейс: вручную либо через автоматическую загрузку структуры справочника.

Создание структуры справочника вручную

В ЕСНСИ доступно создание следующих типов справочников:

  • Простой тип;
  • Агрегатор простых справочников;
  • Иерархический справочник;
  • Справочный файл.

Создание справочника типа «Простой справочник»

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

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

1.      Перейти на экранную форму Список справочников (Рисунок 1).

Рисунок 1 Список справочников..png
Рисунок 1 – Список справочников.

2.      Нажать кнопку Добавить справочник.

3.      Система отобразит экран Создание справочника, шаг первый – Реквизиты, тип Простой справочник (Рисунок 2).

Рисунок 2 Создание простого справочника..png

Рисунок 2 – Создание простого справочника.

4.      Заполнить поле Наименование справочника. Название справочника должно быть уникальным в рамках группы.

5.      Заполнить поле Описание справочника (опционально).

6.      Выпадающий список с указанием типа справочника будет предустановлен на справочник типа Простой справочник.

7.      Выбрать в поле Глубина ревизии значение из выпадающего списка:

  • Хранить последние пятьдесят – означает, что у справочника в истории ревизий (изменений справочника) будет доступно только последние пятьдесят ревизий;
  • Хранить последние десять – означает, что у справочника в истории ревизий будет доступно только последние десять ревизий;
  • Хранить последние две – означает, что у справочника в истории ревизий будет доступно только две последние ревизий.

8.      Заполнить поле Код. Введенное значение должно быть уникальным в рамках системы.

9.      Выбрать в поле Группа справочника из выпадающего списка.

10.      Выбрать в поле Доступ к справочнику уровень доступа из выпадающего списка:

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

11.      Установить метку в поле Автоматическое распространение изменений справочника (опционально, устанавливается только для справочников, требующих распространение обновлений).
Данная отметка означает, что все изменения справочников будут попадать в рассылку изменений справочников через СМЭВ посредством ВС:

  • Рассылка обновлений справочников ЕСНСИ;
  • Рассылка инкрементного обновления справочника ЕСНСИ по идентификаторам.

12.      Нажать кнопку Продолжить (данная кнопка станет активной после заполнения всех обязательных полей).

Система отобразит экран шаг второй – Атрибуты, тип Простой справочник (Рисунок 3), для создания структуры справочника.

Рисунок 3 Создание атрибутов справочника..png
Рисунок 3 – Создание атрибутов справочника.

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

14.      Указать необходимый тип атрибута:

  • Строка;
  • Целое число;
  • Дата;
  • Дробное число;
  • Ссылка;
  • Логический;
  • Текст.

15.      Заполнить опциональное поле Выражение (регулярное выражение для атрибутов с типом Строка и Текст, по которому будет валидироваться заполняемое значение данного атрибута)

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

17.      Установить метку База составного ключа (не менее одного и не более трех для создаваемого справочника) для атрибута.
Составной ключ – это идентификатор, обеспечивающий уникальность записи справочника. Отметка необходима для автоматического создания атрибута – автоключа, указывающего на уникальность записи, редактирование данного атрибута вручную запрещено.
Данную отметку можно установить только для атрибутов следующих типов:

  • Строка;
  • Целое число;
  • Дата;
  • Дробное число.

В случае, если данная метка присутствует – метка Обязательность заполнения ставится автоматически, без права отмены. При установки данной метки и заполнении данных атрибута появляется поле Структура составного ключа (Рисунок 4), с возможностью выбора из выпадающего списка очередности заполнения частей составного ключа.

Рисунок 4 Создание ключевого атрибута..png
Рисунок 4 – Создание ключевого атрибута.

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

19.      Для отмены внесенных изменений необходимо нажать на кнопку Отмена, после чего отобразится всплывающее сообщение с подтверждением (Рисунок 5). При нажатии на кнопку Выйти произойдет отмена и удаление всех изменений, при нажатии на Отмена – возврат к созданию справочника.

Рисунок 5 Выход со страницы создания справочника..png
Рисунок 5 – Выход со страницы создания справочника.

ВАЖНО! Название справочника должно быть уникальным в рамках группы (справочники, не принадлежащие одной группе, могут иметь совпадающие названия). При попытке сохранить справочник с повторяющимся наименованием система отобразит уведомление (Рисунок 6).

Рисунок 6 Ошибка уникальности имени справочника..png
Рисунок 6 – Ошибка уникальности имени справочника.

ВАЖНО! Код справочника должен быть уникальным в рамках системы. При попытке сохранить справочник с повторяющимся кодом система отобразит уведомление (Рисунок 6).

Создание справочника типа «Справочник-агрегатор простых справочников»

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

Для создания справочника данного типа необходимо оформить заявку через СЦ МЦ —  https://sc.digital.gov.ru, приложив две заполненные формы (1 и на создание справочника-агрегатора).

Создание иерархического справочника

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

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

1.      Перейти на экранную форму Список справочников (Рисунок 1).

2.      Нажать кнопку Добавить.

3.      Система отобразит экран Создание справочника типа Простой справочник (Рисунок 2).

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

5.      Заполнить поле Описание (опционально).

6.      Установить в выпадающем списке Тип справочника Иерархический справочник (Рисунок 7).

Рисунок 7 Создание иерархического справочника..png

Рисунок 7 – Создание иерархического справочника.

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

8.      Выбрать в поле Группа группу справочника из выпадающего списка.

9.      Выбрать в поле Доступ к справочнику уровень доступа из выпадающего списка:

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

10.      Установить метку в поле Автоматическое распространение изменений справочника (опционально, устанавливается только для справочников, требующих распространение обновлений).

Данная отметка означает, что все изменения справочников будут попадать в рассылку изменений справочников через СМЭВ посредством ВС:

  • Рассылка обновлений справочников ЕСНСИ;
  • Рассылка инкрементного обновления справочника ЕСНСИ по идентификаторам.

11.      Нажать кнопку Продолжить (данная кнопка станет активной после заполнения всех обязательных полей). Сохранено метаописание справочного файла.

12.      Система отобразит экран шаг второй – Атрибуты (Рисунок 8), для создания структуры справочника.

Рисунок 8 Создание атрибутов иерархического справочника..png
Рисунок 8 – Создание атрибутов иерархического справочника.

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

14.      Указать необходимый тип атрибута:

  • Строка;
  • Целое число;
  • Дата;
  • Дробное число;
  • Ссылка;
  • Логический;
  • Текст.

15.      Заполнить опциональное поле Выражение (регулярное выражение для атрибутов с типом Строка и Текст, по которому будет валидироваться заполняемое значение данного атрибута)

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

17.      Установить метку Ключевой атрибут (только один для данного типа справочника). Для данных атрибутов доступны следующие типы:

  • Строка;
  • Целое число;
  • Дата;
  • Дробное число.

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

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

19.      Для отмены внесенных изменений необходимо нажать на кнопку Отмена, после чего отобразится всплывающее сообщение с подтверждением (Рисунок 5). При нажатии на кнопку Выйти произойдет отмена и удаление всех изменений, при нажатии на Отмена – возврат к созданию справочника.

ВАЖНО! На этапе сохранения для данного типа справочника автоматически заведется атрибут с именем Родительский атрибут с типом ссылка. Данный атрибут необходим для создания структуры иерархии и является вспомогательным атрибутом.

Создание справочника из файла

Данный способ создания справочника позволяет пользователю ЕСНСИ выполнить автоматическую загрузку структуры справочника.

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

1.      Перейти на экранную форму Список справочников (Рисунок 8).

2.      Нажать кнопку Добавить из файла.

3.      Система отобразит экран Создание справочника из файла (Рисунок 9).

Рисунок 9 Создание справочника из файла..png
Рисунок 9 – Создание справочника из файла.

4.      Загрузить файл в формате xml или zip:

  • XML – данный вид файла должен соответствовать принятой структуре XML файла в системе, структуру можно скачать в виде XSD схемы на форме создания справочника (Рисунок 9). Если структура файла не соответствует существующей структуре справочника, справочник не будет создан;
  • ZIP – данный вид файла должен содержать в себе один файл обновления в формате xml, название которого должно быть написано латиницей. Этот вид файла пользователю необходимо использовать, если размер загружаемого файла в формате xml/csv превышает 350Мб.

5.      Нажать кнопку Загрузить вручную.

6.      Выбрать файл для импорта.

7.      Название выбранного файла отобразится в поле Файл.

8.      Проверить правильность выбранной кодировки загруженного файла справочника (по умолчанию для XML файла выбирается кодировка UTF-8).

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

10.      Выбрать в поле Глубина ревизии (доступно для простого типа справочника) значение из выпадающего списка:

  • Хранить последние пятьдесят – означает, что у справочника в истории ревизий (изменений справочника) будет доступно только последние пятьдесят ревизий;
  • Хранить последние десять – означает, что у справочника в истории ревизий будет доступно только последние десять ревизий;
  • Хранить последние две – означает, что у справочника в истории ревизий будет доступно только две последние ревизий.

11.      Выбрать в поле Группа группу справочника из выпадающего списка.

12.      Выбрать в поле Доступ к справочнику уровень доступа из выпадающего списка:

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

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

14.   Для отмены внесенных изменений необходимо нажать на кнопку Отмена, после чего отобразится всплывающее сообщение с подтверждением (Рисунок 5). При нажатии на кнопку Выйти произойдет отмена и удаление всех изменений, при нажатии на Отмена – возврат к созданию справочника.

Создание справочного файла

Справочный файл – тип справочника без заданной в ЕСНСИ структуры, распространяемый в формате, заданном Пользователем.

Для создания справочного файла необходимо обратиться в СЦ МЦ —  https://sc.digital.gov.ru

Содержание

  1. 13 полезных программ: которые помогут вам создать свою первую электронную книгу.
  2. 13 полезных программ для написания электронной книги.
  3. Какой формат лучше всего подходит для электронных книг?
  4. 1. PDF (портативный формат документа).
  5. 2. MOBI (Mobipocket).
  6. 3. EPUB (ePublication).
  7. 4. iBook (Apple iBooks).
  8. Веб-приложения и плагины WordPress для создания электронной книги.
  9. 1. Pressbooks.
  10. 2. Beacon (WordPress плагин).
  11. 3. Google Docs.
  12. 4. Zinepal.
  13. 5. PublishXpress.
  14. Настольные инструменты для написания / создания электронной книги.
  15. 6. Open Office.
  16. 7. Adobe InDesign.
  17. 8. Kindle Gen.
  18. 9. Microsoft Word.
  19. 10. iBooks Author.
  20. 11. Calibre.
  21. 12. Scrivener.
  22. Какое программное обеспечение для создания электронных книг является лучшим?
  23. Как создать электронную книгу
  24. Для чего нужна электронная книга
  25. Для творческой самореализации
  26. Для заработка
  27. Для продвижения своего бизнеса
  28. С чего начать?
  29. Формат книги
  30. Программы и конвертеры форматов для создания электронных книг
  31. Microsoft Word
  32. Pdffactory Pro
  33. SanRav Воок Office
  34. eBook Edit Pro
  35. Конвертер онлайн
  36. 3D обложка для электронной книги
  37. Как создать электронную книгу? Обзор лучших решений
  38. Что такое электронная книга
  39. Основные форматы e-book
  40. Создание учебника на основе HTML
  41. Создание PDF книг

13 полезных программ: которые помогут вам создать свою первую электронную книгу.

Приветствую вас друзья. Вы еще не знаете как написать свою первую электронную книгу? Тогда я вам предлогаю 13 полезных программ для написания электронной книги, без каких либо затруднений.

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

13 полезных программ для написания электронной книги.

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

И собирать свою базу потенциальных клиентов, которые в дальнейшем у вас будут покупать ваши товары, или товары ваших партнеров.

Какой формат лучше всего подходит для электронных книг?

1. PDF (портативный формат документа).

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

2. MOBI (Mobipocket).

Первоначально используемый электронным ридером Mobipocket, формат. mobi теперь используется более популярными читателями электронных книг, включая Amazon Kindle и приложения Kindle для устройств iOs и Android. Этот формат визуально привлекателен, поскольку он дает читателям сходное поведение с физическими книгами, такими как пролистывание, чтобы перевернуть страницу, и выделение страницы.

3. EPUB (ePublication).

Формат epub похож на формат. mobi, но это бесплатный стандарт с открытым исходным кодом для публикации электронных книг. Из-за этого почти все электронные ридеры поддерживают.epub, включая Amazon Kindle Fire, Apple iBooks и Google Books.

4. iBook (Apple iBooks).

Как только вы познакомитесь с этими форматами, вы сможете решить, какой из них вы хотите использовать для своей электронной книги. Если вы планируете продавать его на Amazon или Литрес,то … формат epub-это лучший вариант. Если вы делаете быструю электронную книгу, которую хотите бесплатно предложить на своем сайте, то лучше всего сделать ее в формате PDF. В конечном счете, вам нужно подумать о том, какой формат лучше всего подходит для вашей целевой аудитории.

Создание вашей электронной книги.

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

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

Веб-приложения и плагины WordPress для создания электронной книги.

1. Pressbooks.

pressbook

2. Beacon (WordPress плагин).

btacon

Beacon-это плагин для WordPress, который превращает ваши сообщения в блогах в электронные книги. Вы можете выбрать, какие статьи включить или отфильтровать их по категориям. Плагин преобразует сообщения блога в формат HTML5 или PDF. Функции макета также включены,и вы можете спроектировать обложку электронной книги из приборной панели Beacon. Этот плагин является бесплатным для использования и требует бесплатной учетной записи на сайте beacon.by.

3. Google Docs.

google 1

Простой способ написания и преобразования контента в PDF онлайн бесплатно — это использование Google Docs. Введите свой контент, и у вас есть все шрифты Google, доступные для выбора из всех в окне Google Docs.

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

4. Zinepal.

zinepal

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

5. PublishXpress.

puplish

PublishXpress-это онлайн-инструмент преобразования, который берет DJVU, DOCX, TXT HTML, RTF и PDF файлы и преобразует их в MOBI и EPUB. Это идеально, если у вас уже есть готовая Электронная книга и вы просто хотите превратить ее в MOBI и EPUB, чтобы она была доступна другим читателям электронных книг. Услуга бесплатна, но следите за любыми несовершенствами в вашем преобразованном тексте.

Настольные инструменты для написания / создания электронной книги.

6. Open Office.

openoffice

7. Adobe InDesign.

adobe 1

8. Kindle Gen.

kindle

Kindle Gen-это приложение командной строки для преобразования HTML или любого другого источника электронной книги в формат электронной книги Kindle (для продажи на Amazon). Если вы знакомы с использованием командного окна, то этот инструмент не так уж и сложен. Кроме того, существует файл ReadMe, который поставляется с полными инструкциями по преобразованию файлов в KPF (формат пакета Kindle). Чтобы использовать более удобный инструмент, загрузите Kindle Previewer в дополнение к Kindle Gen, и вы сможете конвертировать другие форматы электронных книг в Kindle в более простом интерфейсе.

9. Microsoft Word.

microsoft word

Любой, у кого есть компьютер, будет знаком с MS Word, поэтому создание электронной книги с помощью этого программного обеспечения отлично подходит для тех, кто не хочет изучать другое программное обеспечение.

Если у вас есть Microsoft Word 2016, вы можете конвертировать свой DOC-файл в PDF в MS Word без необходимости покупать надстройку. Тем не менее, есть десятки конвертеров DOC в PDF онлайн, которые вы можете использовать бесплатно.

ibooks author

iBooks Author-это программное обеспечение для редактирования электронных книг, предназначенное для продажи книг исключительно на Apple iBooks. Этот формат будет работать только для Mac и iPad. Хотя это может показаться ограничительным, имейте в виду, что некоторые читатели предпочитают читать на своих iPad из-за четкого дисплея retina, поэтому создание вашей электронной книги с iBooks Author будет дополнительной услугой для ваших будущих читателей.

11. Calibre.

calibre

Calibre-это в первую очередь бесплатное программное обеспечение для управления электронными книгами и просмотра электронных книг, поэтому вы можете хранить электронные книги и организовывать их в библиотеку, но он также преобразует их между PDF, EPUB, MOBI и другими форматами электронных книг. Преобразование электронных книг в удобном диалоге отлично подходит для начинающих, и есть много изменений, которые вы можете внести в свою преобразованную часть.

12. Scrivener.

scrivener

Scrivener-это передовое программное обеспечение для написания текстов для авторов, которые пишут романы и сценарии. Чтобы создать электронную книгу, вам нужно ввести свой контент точно так же, как вы бы ввели обычную книгу. Когда вы закончите, используйте функцию компиляции, чтобы экспортировать его в форматы электронных книг, такие как MOBI, EPUB и Kindle. Это не очень простой процесс, но в интернете есть отличные учебники о том, как это делается. Существует 30-дневная бесплатная пробная версия, чтобы попробовать Scrivener, после чего вам нужно будет приобрести программное обеспечение за 40 долларов.

Какое программное обеспечение для создания
электронных книг является лучшим?

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

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

Также рекомендую почитать эти статьи:

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

Источник

Как создать электронную книгу

Здравствуйте, уважаемые читатели блога WordPress-book.ru. В этой статье я поделюсь с вами своими наработками по теме «Как создать электронную книгу».

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

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

В конце концов, это выгодно, потому как можно неплохо заработать.

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

Для чего нужна электронная книга

Для творческой самореализации

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

Для заработка

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

Для продвижения своего бизнеса

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

С чего начать?

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

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

Формат книги

Чтобы написать электронную книгу, можно использовать любой текстовый редактор.

Самым распространенным и удобным редактором является Microsoft Word. В нем можно редактировать и форматировать текст, проверять ошибки орфографии, вставлять картинки, таблицы и т. д.

После того, как книга написана, ее достаточно сохранить в стандартном для Word формате c расширением doc. Но это не самый удобный формат для вашего детища.

Рассмотрим наиболее распространенные форматы электронных книг и способы их конвертации, а вы выберите самый для себя подходящий.

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

Pdf — формат, которому следует уделить особое внимание и который является самым популярным при создании электронных книг. Формат поддерживается практически всеми устройствами, а содержание отображается так же, как и было создано первоначально. То есть, как вы вставите изображение, таблицы, как оформите текст, так это будет выглядеть и в формате pdf. Еще одним преимуществом данного формата является то, что без специальных навыков невозможно что-либо изменить в содержании, а это помогает защитить книгу от пиратского копирования и распространения.

Epab, FB2 – распространенные форматы электронных книг для современных телефонов и планшетных компьютеров. Конечно, на телефоне можно читать книгу и в формате pdf, но тот, кто это пробовал, со мной обязательно согласится, что это лучший способ самоистязания. Хороший автор, заботящийся о своих читателях, обязательно сделает копию своей электронной книги в формате и для мобильных девайсов.

Программы и конвертеры форматов для создания электронных книг

Microsoft Word

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

Такая функция стала доступна в Microsoft Office Word версии 2007 года. Вам нужно только скачать « Надстройку Microsoft для сохранения в формате PDF » с официального сайта программы по этой ссылке.

После чего, скачанную надстройку установить и функция сохранения документов в формате PDF в вашем Microsoft Word будет активирована.

Sokhranenie v PDF v Word 20

Pdffactory Pro

Не у всех установлен Microsoft Word 2007 года выпуска или более свежий. Многие продолжают пользоваться старой версией 2003 года, как я, например, не желая изучать кардинально измененный интерфейс программы.

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

pdfFactory Pro

Можете поиграть с настройками принтера в его свойствах.

Далее нажмите на кнопку OK, откроется окно предварительного просмотра, в котором перед окончательным сохранением в формате PDF, кроме изменения основных настроек, вы можете зашифровать свой файл.

pdfFactory Pro 2

SanRav Воок Office

SanRav %D0%92%D0%BE%D0%BE%D0%BA Editor

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

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

eBook Edit Pro

Программа конвертер электронных книг в формат exe.

eBook Edit Pro

Конвертирует в exe файлы HTML формата. Для загрузки своей электронной книги в программу предварительно сохраните ее как веб-страницу в Microsoft Word или в других редакторах.

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

Конвертер онлайн

document.online-convert.com/ru — уникальный сервис онлайн конвертации файлов в самые разные форматы. Никаких программ искать, устанавливать, платить за них не нужно, сервис сам выполнит конвертацию в выбранный формат. Причем сделает это быстро и бесплатно.

konvertaciya v pdf onlayjn

Для меня особо важно то, что сервис поддерживает мои любимые форматы ePub и FB2 для чтения электронных книг на современных гаджетах.

3D обложка для электронной книги

Как говорится, «встречают по одежке», и не стоит пренебрегать этим правилом в данном случае.

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

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

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

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

3D oblozhka dlya knigi

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

На этом у меня все. Как создать электронную книгу теперь для вас не вопрос. Делитесь ссылками на свои труды в комментариях.

Источник

Как создать электронную книгу? Обзор лучших решений

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

sozdat alektronnuju knigu 101211

Что такое электронная книга

alektronnaja kniga 101211

Под e-book также понимают любое учебное издание по какой-либо дисциплине, выполненное в одном из цифровых форматов и снабженное примечаниями, или упражнениями. А также поясняющими иллюстрациями в виде растровых изображений.

e book 101212

E-book может быть выполнена в различных цифровых форматах. Постараемся выделить их основные виды:

Более подробно хотелось бы остановиться на нескольких основных форматах, используемых в настоящее время для создания электронных книг.

Основные форматы e-book

В наше время электронные книги чаще всего представлены в нескольких наиболее популярных форматах.

ee zagruzki 101215

adobe acrobat 101232

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

Создание учебника на основе HTML

ebook maestro 101232

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

uprostit ves process 101233

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

redaktor s podderzhkoi 101233

После вставки в html названия страниц и их содержимого мы заново сохранили все файлы:

sohranili vse faili 101233

Теперь заново возвращаемся в наше приложение. На вкладке « Общие » вводим название книги и контактную информацию ее автора:

kontaktnuju informaciju e 101234

На вкладке « Файлы » сообщаем программе о расположении файлов книги. То есть задаем путь, где мы сохранили отредактированные нами веб-страницы стандартного шаблона. Также здесь можно указать путь к иконке для книги, а в поле « Выходной EXE-файл книги » — место сохранения готового образца:

mesto sohranenija gotovog 101234

Во вкладке « Интерфейс » настраиваем пользовательский интерфейс: задаем размеры, цвет и схему расположения основных элементов книги:

osnovnih alementov knigi 101234

demonstracii vsego proces 101235

Еще несколько подобных программ:

Создание PDF книг

sozdanie pdf knig 101237

Приложение поддерживает создание не только PDF документов, но и создание книг на основе других стандартов:

na osnove drugih standart 101237

Мы выбрали наиболее легкий путь. Поэтому в показанном выше меню выбрали в качестве источника статьи в формате Word :

v formate word 101237

nastroiki parametrov kodi 101238

Вот как выглядела наша созданная книга:

sozdannaja kniga 101238

Еще несколько подобных программ для создания электронных книг:

А также специализированные онлайн-сервисы:

Теперь можно смело «идти в бой» и писать свой электронный учебник или книгу. Вот только не стоит писать учебник жизни. Эту науку каждый из нас постигает по своим правилам, и выучить их все может заставить только сама жизнь!

Источник

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

ОГЛАВЛЕНИЕ

ОГЛАВЛЕНИЕ.. 2

1.ВВЕДЕНИЕ.. 3

2.ПОСТАНОВКА ЗАДАЧИ.. 4

2.1.Наименование и область применения. 4

2.2.Основания для разработки. 4

2.3.Назначение разработки. 4

2.4.Технические требования к программе или программному обеспечению. 4

3.ВЫБОР СПОСОБА, МЕТОДА РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ.. 5

3.1.Выбор структуры данных. 5

4.2.Класс CObject 6

4.2.1.Описание. 6

4.2.2.Поля. 6

4.2.3.Методы.. 6

4.3. Класс CObjectListItem.. 7

4.3.1.Описание. 7

4.3.2.Поля. 7

4.3.3.Методы.. 7

4.4.Класс CObjectList 7

4.4.1.Описание. 7

4.4.2.Поля. 7

4.4.3.Методы.. 7

4.5.Класс CHandbook. 7

4.5.1.Описание. 7

4.5.2.Поля. 8

4.5.3.Методы.. 8

4.6.Строки. 8

4.ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ.. 9

4.1.Список. 9

4.1.1.Список. 9

4.1.2.Поиск элемента в списке. 9

4.1.2 Вставка элемента в список. 9

4.1.3 Удаление элемента из списка. 10

4.2.Указатель на базовый класс. 10

4.3.Инкапсуляция. 10

4.4.Наследование. 11

4.5.Полиморфизм.. 11

5.ВЫВОДЫ ПО РАБОТЕ.. 12

6.СПИСОК ЛИТЕРАТУРЫ… 13

  1. ПРИЛОЖЕНИЯ.. 14

1.ВВЕДЕНИЕ

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

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

Суть основных компонент можно раскрыть следующим образом:

  1. Объект (Object). Вот несколько определений объекта.

* В наиболее широком смысле это совокупность данных, существующих в машинном представлении как единое целое, допускающее обращение по имени, указателю или ссылке.

* В смысле ООП объект – это сущность, обладающая состоянием и поведением.

* Объект – это инкапсулированная абстракция, которая включает информацию о состоянии и четко определенное множество протоколов доступа.

  1. Сообщение (Message) – это специальный символ, идентификатор или ключевое слово с параметром или без, которое представляет выполняемое объектом действие.
  2. Класс (Class). Представляет тип данных, определяемых программистом, который специфицирует как представление объектов этого класса, так и операции, которые можно выполнять с объектами. Во многих случаях класс следует понимать как абстрактный тип данных.
  3. Экземпляр (Instance) – объект, принадлежащий конкретному классу.
  4. Метод (Method) – функция, вызываемая в ответ на запрос к объекту некоторого класса совершить какое-либо действие. Можно сказать, что метод определяет реакцию объекта на сообщение. Совокупность методов класса определяет поведение объектов данного класса.

Несколько слов об основных свойствах ООП.

  1. Инкапсуляция (Encapsulation) – сокрытие информации или определение пользователем новых типов данных. Каждый такой тип содержит определение набора значений и операций, которые могут быть выполнены над этими значениями, и образует так называемый абстрактный тип данных.
  2. Наследование (Inheritance) – это механизм, позволяющий строить иерархию типов. Механизм наследования предполагает определение базового типа, а затем использование его для построения производных типов. Причем каждый из производных типов наследует все свойства базового типа, включая характеристики (данные) и набор операций (методов, функций).
  3. Полиморфизм (Polymorphism) – свойство объекта отвечать на направленный к нему запрос сообразно своему типу.

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

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

2.ПОСТАНОВКА ЗАДАЧИ

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

2.1.Наименование и область применения

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

2.2.Основания для разработки.

Основанием для разработки модели электронного справочника является выданное в соответствии с вариантом задание на курсовую работу по дисциплине «Объектно-ориентированное программирование».

2.3.Назначение разработки.

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

2.4.Технические требования к программе или программному обеспечению.

3.1.Требования к функциональным характеристикам.

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

3.2.Требования к надёжности.

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

3.3.Условия эксплуатации.

Заданные характеристики в пункте 3.2 характеристики должны обеспечиваться при температурно-климатических условиях, приемлемых для ЭВМ, на которой запущена программа.

Программа должная быть рассчитана на опытного пользователя Microsoft Windows 2000.

3.4.Требования к составу и параметрам технических средств. Программа должна корректно работать на IBM-совместимой ЭВМ. Наличие манипулятора «мышь» и   sVGA монитора обязательно.

3.5. Требования к информационной и программной совместимости.

Программа должна быть разработана с использованием среды разработки Microsoft Visual C++ 6.0.

3.6.Требования к маркировке и упаковке.

Диски с копиями программы должны быть маркированы товарными знаками Заказчика.

3.7.Требования к транспортированию и хранению. Данные требования соответствую таковым для каждого из носителей, на которых будет храниться программа.

3.ВЫБОР СПОСОБА, МЕТОДА РЕШЕНИЯ ПОСТАВЛЕННОЙ ЗАДАЧИ

3.1.Выбор структуры данных

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

  1. Список[6]
  2. Массив[1][4][5]
  3. Дерево[6]

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

Можно использовать цифровой поиск, поиск в АВЛ деревьях, в красно-чёрных деревьях.

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

Отрицательная сторона — сложность реализации по сравнению с остальными методами.

Массив в данном случае не подходит из-за ограниченности его размеров. Однако существует у него и положительные стороны.

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

Список достаточно прост в реализации и у него нет ограничения на количество данных. Его слабая сторона – время поиска. Но поскольку по заданию требуется построить модель электронного справочника, а не реальный электронный справочник то будет реализован этот вариант. Благодаря быстродействию современный компьютеров он будет работать достаточно быстро и на сравнительно больших объёмах данных.

Вообще можно взять готовый стандартный шаблон для работы со списком list, также в используемой графической библиотеке wxWidgets[3] есть класс wxList[3]. Легче всего было бы использовать один из них. Но тогда непонятно: куда применить классы и наследование в программе. Поэтому класс список будет реализован самостоятельно.

Будет реализован самый простой список, но упорядоченный. Хотя вообще-то можно было бы использовать некоторые методы для ускорения операций со списком. Например, можно было хранить указатели на объект, который является первым в списке, с этой первой буквой:

рисунок 1

Но как уже говорилось выше будет реализован самый простой список.

Схема классов, реализованных для данной программы:

Схема классов

4.2.Класс CObject

4.2.1.Описание

Класс CObject представляет собой единичный объект базы данных (одну запись). Сама база данных справочника состоит из множества экземпляров класса CObject.

4.2.2.Поля

Как видно из схемы существует класс CObject, содержащий поля с данными. На основе него построен класс CObjectListItem, в котором присутствуют методы для вставки элементов перед и после объекта и соответствующие поля.

Класс CObject имеет следующий поля для хранения названия предмета, описания предмета, изображения предмета. Таким образом достигается практически универсальность справочника. Можно в справочнике хранить список книг (Записывая в название предмета название книги, а в описании — о чём та книга, в изображении привести, например, обложку), телефоны (название – ФИО, описание – телефое, изображение — фотография) и т. д.

4.2.3.Методы

Какие методы необходимы для класса CObject? Поскольку используется инкапсуляция, то естественно необходимы методы для доступа к полям.

Далее необходимо иметь возможность присвоить один объект другому и сравнить объекты на равенство.

4.3. Класс CObjectListItem

4.3.1.Описание

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

4.3.2.Поля

Построен на основе CObject и наследует от него все поля и методы. Добавляются поля-указатели на предыдущий и следующий элемент

4.3.3.Методы

Добавляются методы доступа к полям-указателям на предыдущий и следующий элементы. Также методы для вставки нового элемента после и перед ним. Более подробно вставка описана в разделе 4.

4.4.Класс CObjectList

4.4.1.Описание

Класс CObjectList представляет собой прообраз базы данных. он содержит в себе информацию о всех объектах базы данных модели электронного справочника.

По сути он представляет собой реализацию списка объектов.

4.4.2.Поля

Класс CObjectList имеет в своём составе указатели на голову и хвост списка, поле для хранения количества элементов и методы для работы со списком: вставка, удаление, поиск.

Также было бы полезным знать количество объектов, находящихся в данный момент в списке. Для этого есть два пути:

  1. Написать метод подсчёта количества объектов в списке;
  2. Иметь переменную в которой будет постоянно хранится и корректироваться при выполнении операций удаления в вставки количество объектов

Понятно, что второй метод предпочтительнее, так как в первом методе при подсчёте будет проходить время пропорциональное n, где n — количество объектов в списке.

4.4.3.Методы

Для работы со списком нужны стандартные методы вставки, удаления, поиска и т. д. Эти методы более подробно описаны в теоретическом разделе.

4.5.Класс CHandbook

4.5.1.Описание

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

4.5.2.Поля

Добавляются поля для хранения информации о поиске объекта. То есть о признаках, по которым необходимо найти объект. Для этого используется класс CObject. Подразумевается, что соответствующее поле соответствует нулю типа этого поля (для строк им является строка “”, то есть пустая строка). В противном случае там хранится информация, которая должная содержатся в этом поле в найденном объекте. Это сделано для того, чтобы после осуществления первого поиска элемента, для поиска следующего элемента необходимо было нажать только одну кнопку FindNext.

Поскольку в один определённый момент просматривается только одно поле, то есть указатель на текущий объект, а также номер его позициив списке.

4.5.3.Методы

Добавляется методы для поиска первого элемента и поиска следующего элемента.

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

Есть метод установки текущего элемента и номера текущего элемента (тоже нужно использовать с осторожностью).

Для перемещения по записям методы перехода к предыдущему элементу и следующему элементу.

Также перегружаются методы добавления и удаления объекта, которые после (или перед) вызова метода базового класса CObjectList корректируют добавленные в этом классе поля.

4.6.Строки

Этот вопрос является актуальным при программировании на С++. Поскольку в С++ есть много способов для хранения строк.

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

К счастью в стандартной библиотеке С++ есть класс string, который заметно облегчает работу со строками. Но в используемой графической библиотеке wxWidgets[3] есть ещё один класс wxString[3]. Во избежании проблем с графической оболочкой будет использоваться именно он.

4.ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ

4.1.Список

4.1.1.Список

Список строится на основе структуры, в которой имеется поле с данными и поле, указывающее на следующий элемент списка (Next).

Односвязный список

Можно также добавить и указатель на предыдущий элемент списка (Previous) (так и сделано в этой курсовой работе).

двусвязный список

4.1.2.Поиск элемента в списке

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

4.1.2 Вставка элемента в список

Вставка элемента. Для вставки элемента сначала необходимо найти позицию вставки. Объекты в списке хранятся не беспорядочно. В данном случае они упорядочены по имени. Список начинает просматриваться с начала. Когда находится место для вставки то происходит корректировка указателей.

Список перед вставкой нового элемента:

Двусвязный список перед вставкой элемента

Пусть P (от слова Previous, предыдущий) — предыдущий элемент списка, то есть элемент, после которого необходимо вставить новый. Пусть N (от слова Next, следующий) — следующий элемент списка, то есть элемент, перед которым необходимо вставить новый. C (Current) —вставляемый элемент списка.

Корректировка указателей происходит по следующему алгоритмы:

P.Next:=C;

C.Previous=P;

N.Previous=C;

C.Next=C;

Список после вставки нового элемента:

Двусвязный список после вставки элемента

Описанный случай происходит при вставке в середину списка. В случае вставки в начало списка, то есть когда С становится первым элементом списка полю С.Previous присваивается NIL и убираются все операции с P. А в случае вставки в конец списка убираются все действия с N и полю C.Next:=NIL.

Также в случае вставки в конец и начало списка необходимо скорректировать указатели на голову и хвост списка.

4.1.3 Удаление элемента из списка

При удалении элемента из списка происходит следующая коррекция указателей:

Если существует следующий за С элемент N, то N.Previous:=C.Previous

Если существует предыдущий для С элемент P, то P.Next=C.Next

Только после этого освобождается память из-под элемента С.

Список перед удалением элемента:

Двусвязный список перед удалением элемента

Список после удаления элемента:

Двусвязный список после удаления элемента

4.2.Указатель на базовый класс

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

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

4.3.Инкапсуляция

Класс содержит не только данные, но и методы для их обработки. Для каждого класса требуется реализовать все действия над его данными, могущие понадобиться при работе с экземпляром данного класса. Инкапсуляция[1] подразумевает запрет на прямой доступ к данным класса. Обработка информационных полей экземпляра класса в таком случае может быть осуществлена лишь с помощью методов данного класса. Подразумевается, что методы класса предоставляют возможность производить над экземпляром класса все необходимые действия.

Инкапсуляция позволяет рассматривать экземпляр класс не как совокупность информационных полей, а как нечто целое – объект, над которым можно совершать лишь предусмотренные, заведомо корректные действия. Это улучшает понятность и структурированность программы, уменьшает число ошибок.

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

4.4.Наследование

Наследование[1] — возможность создания иерархии классов, когда потомки наследуют все свойства своих предков, могут их изменять и добавлять новые. Свойства при наследовании повторно не описываются, что сокращает объём программы. Выделение общих черт различных классов в один класс-предок является мощным механизмом абстракции — ведь и любая наука начинается с абстрагирования и классификации, которые помогают справиться со сложностью рассматриваемой предметной области.

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

4.5.Полиморфизм

Третьим китом, на котором стоит ООП, является полиморфизм[1] — возможность использовать в различных классах иерархии одно и то же имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы.

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

5.ВЫВОДЫ ПО РАБОТЕ

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

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

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

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

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

6.СПИСОК ЛИТЕРАТУРЫ

  1. Павловская Т. А. C/C++. Программирования на языке высокого уровня – СПб.: Питер, 2004. – 461с. ил.
  2. MSDN Library Visual Studio 6.0
  3. wxWidgets Manual
  4. Ишкова Э. А. С++. Начала программирования. Изд. 3-е перераб. и доп. — М.: ООО «Бином-Пресс», 2004. —368 с.: ил.
  5. Глушаков С. В., Коваль А. В., Смирнов С. В. Язык программирования С++: Учебник курс / Худож. – оформитель А. С. Юхьман. — Харьков: Фолио; М.: ООО «Издательство АСТ», 2001. — 500 с. — (Домашняя б-ка).
  6. Структуры данных и алгоритмы. :Пер. с англ. : Уч. пос. — М. : Издательский дом «Вильямс», 2000. —384 с. : ил. — Парал. Тит. англ.

7. ПРИЛОЖЕНИЯ

Тексты основных файлов:

Файл «object.h»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

///////////////////////////////////////////////////////////////////////////////

//

//  Проект      :  Handbook

//  Модуль      :  object.h

//  Дата        :  6/03/07

//

//  Описание    :  В этом модуле описан класс CObject, описывающийся один

//                 объект, хранящийся в электронном справочнике

//

///////////////////////////////////////////////////////////////////////////////

//

//    COPYRIGHT (c)  2007. Урванов Фёдор Владиславович

//

///////////////////////////////////////////////////////////////////////////////

#ifndef _COBJECT_FHOW384S98EGHSO98E4HYSOEB4TGO9S4E

#define _COBJECT_FHOW384S98EGHSO98E4HYSOEB4TGO9S4E

#include <wx/wx.h>

#include <ostream.h>

#include <istream.h>

class CObjectListItem ;

class CObject{

private:

wxString m_wxstrName;

wxString m_wxstrDescription;

wxString m_wxstrImageFileName;

public:

    CObject():m_wxstrName(«»),m_wxstrDescription(«»),m_wxstrImageFileName(«») {}

CObject(const CObject & p_rco);

virtual ~CObject() {};

//Функции доступа к полям

wxString GetName(void){return m_wxstrName;}

void inline SetName(wxString p_wxstrName) {m_wxstrName=p_wxstrName;}

wxString GetDescription(void){return m_wxstrDescription;}

void inline SetDescription(wxString p_wxstrDescription)

{m_wxstrDescription=p_wxstrDescription;}

wxString GetImageFileName(void){return m_wxstrImageFileName;}

void inline SetImageFileName(wxString p_wxstrImageFileName)

{m_wxstrImageFileName=p_wxstrImageFileName;}

/////////////////////////////////////////////////////////////////////////////

//перегрузка операций

virtual BOOL operator ==(const CObject & p_rco);

virtual BOOL operator !=(const CObject & p_rco);

friend ostream & operator << (ostream & out, CObject & p_rco);

friend istream & operator >> (istream & in, CObject & p_rco);

};

ostream & operator << (ostream & out, CObject & p_rco);

istream & operator >> (istream & in, CObject & p_rco);

#endif

Файл «object.cpp»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

///////////////////////////////////////////////////////////////////////////////

//

//  Проект     :  Handbook

//  Модуль :  object.cpp

//  Дата :  6/03/2007

//

//  Описание :  Реализация класса object.

//

///////////////////////////////////////////////////////////////////////////////

//

//    COPYRIGHT (c)  2007. Урванов Фёдор Владиславович

//

///////////////////////////////////////////////////////////////////////////////

#include «stdafx.h»

#include «object.h»

#include «objectlistitem.h»

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  Конструктор

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  const CObject& p_rco                              

//                                                                      

//  Описание              :  Конструктор копирования                      

//                                                                      

//  Выход                 :  нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

CObject::CObject(const CObject & p_rco)

{

memcpy((void*)this, (const void*)&p_rco,sizeof(p_rco));

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  ostream & operator <<

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  ostream & out, CObject& p_rco                

//                                                                      

//  Описание              :  Для записи в файл                    

//                                                                      

//  Выход                 :  нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

ostream & operator << (ostream & out, CObject & p_rco)

{

out<<p_rco.m_wxstrName<<»;

out<<p_rco.m_wxstrDescription<<»;

out<<p_rco.m_wxstrImageFileName<<»;

return out;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  istream& operator >>

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  istream & in, CObject & p_rco                              

//                                                                      

//  Описание              :  Стандартная операция потокового ввода.                      

//                                                                      

//  Выход                 :  нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

istream & operator >> (istream & in, CObject & p_rco)

{

ReadString(in,p_rco.m_wxstrName);

ReadString(in,p_rco.m_wxstrDescription);

ReadString(in,p_rco.m_wxstrImageFileName);

return in;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  operator ==

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  const CObject& p_rco                              

//                                                                      

//  Описание              :  Операция сравнения                  

//                                                                      

//  Выход                 :  нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CObject::operator ==(const CObject & p_rco)

{

if (m_wxstrName!=p_rco.m_wxstrName) return FALSE;

if (m_wxstrDescription!=p_rco.m_wxstrDescription) return FALSE;

if (m_wxstrImageFileName!=p_rco.m_wxstrImageFileName) return FALSE;

return TRUE;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  operator !=

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  const CObject& p_rco                              

//                                                                      

//  Описание              :  Операция не равно                  

//                                                                      

//  Выход                 :  нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CObject::operator !=(const CObject & p_rco)

{

if (m_wxstrName!=p_rco.m_wxstrName) return TRUE;

if (m_wxstrDescription!=p_rco.m_wxstrDescription) return TRUE;

if (m_wxstrImageFileName!=p_rco.m_wxstrImageFileName) return TRUE;

return FALSE;

}

Файл «objectlist.h»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

///////////////////////////////////////////////////////////////////////////////

//

//  Проект      :  Handbook

//  Модуль      :  objectlist.h

//  Дата        :  14/03/07

//

//  Описание    :  В этом модуле описан класс CObjectList, описывающий

//                 список

//

///////////////////////////////////////////////////////////////////////////////

//

//    COPYRIGHT (c)  2007. Урванов Фёдор Владиславович

//

///////////////////////////////////////////////////////////////////////////////

#include «objectlistitem.h»

#ifndef _OBJECTLIST_HGWOHHGPPOIV3657FDFGHW54Y_INCLUDED_

#define _OBJECTLIST_HGWOHHGPPOIV3657FDFGHW54Y_INCLUDED_

class CObjectList{

CObjectListItem * m_pcoliHead;

CObjectListItem * m_pcoliTail;

int m_unCountObjects;

public:

CObjectList():m_pcoliHead(NULL),m_pcoliTail(NULL),m_unCountObjects(0){}

virtual ~CObjectList() ;

BOOL Add(CObject & p_rco,unsigned &p_rnPosition,CObjectListItem  * & p_pcoliNewObject);

BOOL Remove(CObjectListItem& p_rcoli);

BOOL RemoveAll(void);

CObjectListItem* Find(CObjectListItem *p_pcoliFirst,CObject& p_rcoFind,unsigned& p_runPosition);

//Методы доступа к элементам списка

CObjectListItem * GetFirstObject() {return m_pcoliHead;}

CObjectListItem * GetLastObject() {return m_pcoliTail;}

unsigned int GetCountObjects(){return m_unCountObjects;}

};

#endif

Файл «objectlist.cpp»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

///////////////////////////////////////////////////////////////////////////////

//

//  Project : Handbook

//  Module : objectlist.cpp

//  Date : 11/05/2007

//

//  Content : Класс списка объектов, на основе которого построена вся

//                  база данных

//

///////////////////////////////////////////////////////////////////////////////

//

//    COPYRIGHT (c)  2007 Урванов Фёдор Владиславович

//

///////////////////////////////////////////////////////////////////////////////

#include «stdafx.h»

#include «objectlist.h»

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  Деструктор

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  нет                              

//                                                                      

//  Описание              :  Уничтожает все объекты.

//                                                                      

//  Выход                 :  нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

CObjectList::~CObjectList()

{

RemoveAll();

};

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  Add

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  CObject& p_rco входной параметр. Объект для

//                                      добавления.

//                           unsigned & p_runPosition. Входной и выходной

//                                      параметр. Вход — текущий номер

//                                      позиции. Выход — номер позиции

//                                      добавленного оьбъекта

//                           CObjectListItem* & p_pcoliNewObject — выходной

//                                      параметр. Добавленный элемент.

//                                                                      

//                                                                      

//  Описание              :  Операция добавления нового элемента                      

//                                                                      

//  Выход                 :  TRUE в случае успеха, FALSE — в противном случае.

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CObjectList::Add(CObject & p_rco,unsigned &p_runPosition,CObjectListItem    * &  p_pcoliNewObject)

{

unsigned un=0;

if (!m_pcoliHead)

{

m_pcoliTail=new CObjectListItem(p_rco);

if (!m_pcoliTail) return FALSE;

m_pcoliHead=m_pcoliTail;

p_pcoliNewObject=m_pcoliHead;

}

else

{

CObjectListItem *coli=m_pcoliHead;

while (coli)

{

if (coli->GetName()>p_rco.GetName()) break;

coli=coli->GetNext ();

un++;

}

if (coli)

{

if (!coli->AddBefore(p_rco)) return FALSE;

if (coli==m_pcoliHead)

{

m_pcoliHead=coli->GetPrevious();

}

p_pcoliNewObject=coli->GetPrevious();

}

else

{

if (!m_pcoliTail->AddAfter(p_rco)) return FALSE;

m_pcoliTail=m_pcoliTail->GetNext();

p_pcoliNewObject=m_pcoliTail;

}

}

p_runPosition=un;

m_unCountObjects++;

return TRUE;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  Remove

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  CObjectListItem& p_rcoli  — объект, который нужно

//                           удалить. Должен входить в состав списка!!!

//                                                                      

//  Описание              :  Операция удаления.                      

//                                                                      

//  Выход                 :  TRUE в случае успеха, FALSE — в противном случае.

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CObjectList::Remove(CObjectListItem& p_rcoli)

{

if (m_pcoliHead==&p_rcoli) m_pcoliHead=p_rcoli.GetNext();

if (m_pcoliTail==&p_rcoli) m_pcoliTail=p_rcoli.GetPrevious();

p_rcoli.~CObjectListItem();

m_unCountObjects;

return TRUE;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  Find

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  CObjectListItem * p_pcoliFirst — объект, с которого

//                             начинается поиск (включительно).  

//                           CObject & p_rcoFind — объект, хранящий условия

//                             поиска.

//                           unsigned& p_runPosition — выходной параметр.

//                             Смещение позиции найденного элемента, относительно

//                             p_pcoliFirst.                          

//                                                                      

//  Описание              :   Ищет объект, содержащий необходимый текст.

//                            Ищется объект, у котого в имени содержится строка,

//                            находящаяся в поле имени у p_pcoFind. Или в описании

//                            которого содержится строка, находящаяся в поле имени

//                            p_pcoFind. Выходной параметр p_runPosition указывает

//                            смещение в объектах найденного объекта, относительно

//                            начала поиска. Например, элемент p_pcoliFirst имеет

//                            смещение 0.

//                                                                      

//  Выход                 :  CObjectListItem * — указатель на найденный элемент.

//                                                                      

///////////////////////////////////////////////////////////////////////////////

CObjectListItem * CObjectList::Find(CObjectListItem *p_pcoliFirst,

CObject& p_rcoFind,

unsigned& p_runPosition)

{

CObjectListItem *coli=p_pcoliFirst;

unsigned unPos=0;

while (coli)

{

if ((coli->GetName()).Find(p_rcoFind.GetName())!=1) break;

if ((coli->GetDescription()).Find(p_rcoFind.GetDescription())!=1) break;

coli=coli->GetNext();

unPos++;

}

p_runPosition=unPos;

return coli;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :  RemoveAll

//  Автор                 :  Урванов Фёдор Владиславович

//  Дата                  :  6/03/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :  нет                            

//                                                                      

//  Описание              :  Удаляет все элементы.                      

//                                                                      

//  Выход                 :  TRUE — в случае успеха

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CObjectList::RemoveAll(void)

{

CObjectListItem * pcoli=m_pcoliHead;

if (pcoli)

{

while (pcoli->GetNext())

{

pcoli=pcoli->GetNext();

if (!Remove(*pcoli->GetPrevious())) return FALSE;

}

}

m_pcoliHead=NULL;

m_pcoliTail=NULL;

m_unCountObjects=0;

return TRUE;

}

Файл «handbook.h»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

///////////////////////////////////////////////////////////////////////////////

//

//  Проект : Handbook

//  Модуль : Handbook.h

//  Дата : 11/04/2007

//

//  Описание : Модуль с  классом всей базы данных

//

///////////////////////////////////////////////////////////////////////////////

//

//    COPYRIGHT (c)  2007 Урванов Фёдор Владиславович

//

///////////////////////////////////////////////////////////////////////////////

#ifndef _HANDBOOK

#define _HANDBOOK

#include «objectlist.h»

#include <ostream.h>

class CHandbook:public CObjectList

{

CObjectListItem *m_pcoliCurrent;

CObject m_coFind;

unsigned m_unPosition;

public:

CHandbook();

virtual ~CHandbook();

BOOL Add(CObject& p_rcoli);

BOOL Remove();

BOOL RemoveAll();

const CObjectListItem * GetCurrent();

unsigned  GetCurrentPosition();

void SetCurrent(CObjectListItem* p_pcoliCurrent,unsigned p_unPosition);

wxString GetName(void);

wxString GetDescription(void);

wxString GetImageFileName(void);

BOOL SetName(wxString p_wxstrName);

BOOL  SetDescription(wxString p_wxstrDescription);

BOOL SetImageFileName(wxString p_wxstrImageFileName);

BOOL IsFree(){if (!m_pcoliCurrent) return TRUE; else return FALSE;}

void Previous(void);

void Next(void);

void FindFirst(const wxString& p_rwxstrFindText,BOOL p_bFindInName, BOOL p_bFindInDescription);

void FindNext();

friend ostream & operator << (ostream & out,  CHandbook& p_chb);

friend istream & operator >> (istream & in,  CHandbook& p_chb);

};

extern ostream & operator << (ostream & out,  CHandbook& p_chb);

extern istream & operator >> (istream & in,  CHandbook& p_chb);

inline wxString CHandbook::GetName(void )

{

if (m_pcoliCurrent) return m_pcoliCurrent->GetName();

return wxString(«»);

}

inline wxString  CHandbook::GetDescription()

{

if (m_pcoliCurrent) return m_pcoliCurrent->GetDescription();

else return wxString(«»);

}

inline BOOL  CHandbook::SetName(wxString p_wxstrName)

{

if (m_pcoliCurrent)

{

m_pcoliCurrent->SetName(p_wxstrName);

return TRUE;

}

return FALSE;

}

inline BOOL  CHandbook::SetDescription(wxString p_wxstrDescription)

{

if (m_pcoliCurrent)

{

m_pcoliCurrent->SetDescription(p_wxstrDescription);

return TRUE;

}

else return FALSE;

}

inline const CObjectListItem * CHandbook::GetCurrent()

{

return m_pcoliCurrent;

}

inline  wxString CHandbook::GetImageFileName(void)

{

if (m_pcoliCurrent) return m_pcoliCurrent->GetImageFileName();

else return wxString(«»);

}

inline BOOL CHandbook::SetImageFileName(wxString p_wxstrImageFileName)

{

if (m_pcoliCurrent)

{

m_pcoliCurrent->SetImageFileName(p_wxstrImageFileName);

return TRUE;

}

else return FALSE;

}

#endif

Файл «handbook.cpp»:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

///////////////////////////////////////////////////////////////////////////////

//

//  Проект : Handbook

//  Модуль : Handbook.cpp

//  Дата : 11/04/2007

//

//  Описание : Модуль с реализацией класса всей базы данных

//

///////////////////////////////////////////////////////////////////////////////

//

//    COPYRIGHT (c)  2007 Урванов Фёдор Владиславович

//

///////////////////////////////////////////////////////////////////////////////

#include «stdafx.h»

#include «Handbook.h»

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    Конструктор

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет                               

//                                                                      

//  Описание              :    Начальная инициализация класса справочника

//                                                                      

//  Выход                 :    нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

CHandbook::CHandbook():CObjectList()

{

m_pcoliCurrent=NULL;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    Деструктор

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет                               

//                                                                      

//  Описание              :    не используется

//                                                                      

//  Выход                 :    нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

CHandbook::~CHandbook()

{

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    Previous

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет                               

//                                                                      

//  Описание              :    Перевод указателя на предыдущий элемент списка

//                             если таковой есть

//                                                                      

//  Выход                 :    нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

void CHandbook::Previous(void)

{

if (m_pcoliCurrent)

{

if (m_pcoliCurrent->GetPrevious())

{

m_pcoliCurrent=m_pcoliCurrent->GetPrevious();

m_unPosition;

}

}

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    Next

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет                               

//                                                                      

//  Описание              :    Перевод указателя на следующий элемент списка

//                             если таковой есть

//                                                                      

//  Выход                 :    нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

void CHandbook::Next(void)

{

if (m_pcoliCurrent)

{

if (m_pcoliCurrent->GetNext())

{

m_pcoliCurrent=m_pcoliCurrent->GetNext();

m_unPosition++;

}

}

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    Add

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    CObject& p_rcoli — добавляемый объект                               

//                                                                      

//  Описание              :    Добавление элемента

//                                                                      

//  Выход                 :    TRUE — в случае успеха, иначе FALSE

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CHandbook::Add(CObject& p_rcoli)

{

CObjectListItem *pcoli;

unsigned unPosition;

if (!(CObjectList::Add(p_rcoli,unPosition,pcoli))) return FALSE;

m_pcoliCurrent=pcoli;

m_unPosition=unPosition;

return TRUE;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    Remove

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет     

//                                                                      

//  Описание              :    Удаление текущего элемента.

//                                                                      

//  Выход                 :    TRUE — в случае успеха, иначе FALSE

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CHandbook::Remove(void)

{

if (m_pcoliCurrent)

{

CObjectListItem *coli=NULL;

if (m_pcoliCurrent->GetNext())

{

coli=m_pcoliCurrent->GetNext();

}

else

{

if (m_pcoliCurrent->GetPrevious())

{

coli=m_pcoliCurrent->GetPrevious();

m_unPosition;

}

}

if (!this->CObjectList::Remove(*m_pcoliCurrent)) return FALSE;

m_pcoliCurrent=coli;

}

return TRUE;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    RemoveAll

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет                               

//                                                                      

//  Описание              :    Удаление всех объектов из справочника

//                                                                      

//  Выход                 :    TRUE — в случае успеха, иначе FALSE

//                                                                      

///////////////////////////////////////////////////////////////////////////////

BOOL CHandbook::RemoveAll(void)

{

if (!this->CObjectList::RemoveAll()) return FALSE;

m_pcoliCurrent=NULL;

m_unPosition=0;

return TRUE;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    FindFirst

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    const wxString& p_rwxstrFindText — текст для

//                                        поиска

//                             BOOL p_bFindInName — Если TRUE, то текст

//                                 ищется в именах

//                             BOOL p_bFindInDescription — Если TRUE, то текст

//                                        ищется в описании

//                                            

//  Описание              :    Поиск первого вхождения объекта, который содержит

//                             искомый текст в имени (если p_bFindInName=TRUE),

//                             и/или в описании (Если p_bFindInDescription=TRUE)

//                                                                      

//  Выход                 :    нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

void CHandbook::FindFirst(const wxString& p_rwxstrFindText,BOOL p_bFindInName,BOOL p_bFindInDescription)

{

unsigned unPosition;

if (p_bFindInName)

{

m_coFind.SetName(p_rwxstrFindText);

}

else

{

m_coFind.SetName(«»);

}

if (p_bFindInDescription)

{

m_coFind.SetDescription(p_rwxstrFindText);

}

else

{

m_coFind.SetDescription(«»);

}

m_pcoliCurrent=this->CObjectList::Find(m_pcoliCurrent,m_coFind,unPosition);

m_unPosition+=unPosition;

if (!m_pcoliCurrent)

{

m_pcoliCurrent=GetFirstObject();

m_unPosition=0;

wxMessageBox(_(«Cannot find this string»),_(«NO»),wxOK);

}

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    FindNext

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет                               

//                                                                      

//  Описание              :    Ищет следующий элемент, удовлетворяющий

//                             условиям поиска, заданным в последнем вызове

//                             функции FindFirst.

//                                                                      

//  Выход                 :    нет

//                                                                      

///////////////////////////////////////////////////////////////////////////////

void CHandbook::FindNext()

{

m_pcoliCurrent=m_pcoliCurrent->GetNext();

unsigned unPosition=0;

if (m_pcoliCurrent)

{

m_pcoliCurrent=this->CObjectList::Find(m_pcoliCurrent,m_coFind,unPosition);

}

if (!m_pcoliCurrent)

{

m_pcoliCurrent=GetFirstObject();

m_unPosition=0;

}

else

{

m_unPosition+=unPosition+1;

}

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    ostream & operator <<

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    ostream & out

//                             CHandbook& p_chb — справочник                               

//                                                                      

//  Описание              :    Для сохранения справочника в файле

//                                                                      

//  Выход                 :    в завимости от ситуации

//                                                                      

///////////////////////////////////////////////////////////////////////////////

ostream & operator << (ostream & out, CHandbook& p_chb)

{

CObjectListItem* pcoliHead=(CObjectListItem* )(p_chb.GetFirstObject());

out<<p_chb.GetCountObjects()<<»;

while (pcoliHead)

{

out<<(*pcoliHead);

pcoliHead=pcoliHead->GetNext();

}

return out;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    ostream & operator >>

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    ostream & in

//                             CHandbook& p_chb — справочник                               

//                                                                      

//  Описание              :    Для чтения справочника из файла

//                                                                      

//  Выход                 :    в завимости от ситуации

//                                                                      

///////////////////////////////////////////////////////////////////////////////

istream & operator >>(istream & in, CHandbook& p_chb)

{

CObject coBuffer;

p_chb.RemoveAll();

unsigned unCount;

char c;

in>>unCount>>c;

for (unsigned n=0; n<unCount;n++)

{

in>>coBuffer;

p_chb.Add(coBuffer);

}

p_chb.m_pcoliCurrent=p_chb.GetFirstObject();

p_chb.m_unPosition=0;

return in;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    SetCurrent

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    CObjectListItem* p_pcoliCurrent Элемент который

//                             нужно сделать текущим

//                             unsigned p_unPosituon — новая позиция                        

//                                                                      

//  Описание              :    Устанавливает указатель текущего элемента

//                             и позицию. Использовать с осторожностью, чтобы

//                             не испортить текущее состояние справочника.

//                                                                      

//  Выход                 :    в завимости от ситуации

//                                                                      

///////////////////////////////////////////////////////////////////////////////

void CHandbook::SetCurrent(CObjectListItem* p_pcoliCurrent, unsigned p_unPosition)

{

m_pcoliCurrent=p_pcoliCurrent;

m_unPosition=p_unPosition;

}

///////////////////////////////////////////////////////////////////////////////

//                                                                      

//  Метод                 :    GetCurrentPosition

//  Автор                 :    Урванов Фёдор Владиславович                                          

//  Дата                  :    23/04/2007                                  

//                                                                        

//——————————————————————————

//                                                                      

//  Параметры             :    нет                  

//                                                                      

//  Описание              :    Возвращает номер текущей позиции

//                                                                      

//  Выход                 :    в завимости от ситуации

//                                                                      

///////////////////////////////////////////////////////////////////////////////

unsigned CHandbook::GetCurrentPosition(void)

{

return m_unPosition;

}

Скачать ZIP-архив с исходными кодами

СОЗДАНИЕ ЭЛЕКТРОННОГО СПРАВОЧНИКА «ИСПОЛЬЗОВАНИЕ РАСТЕНИЙ ДАЛЬНЕГО ВОСТОКА И СИБИРИ В ЛЕЧЕНИИ НАИБОЛЕЕ РАСПРОСТРАНЕННЫХ ЗАБОЛЕВАНИЙ ШКОЛЬНИКОВ»

  • Авторы
  • Руководители
  • Файлы работы
  • Наградные документы

Стругарян Д.В. 1


1МБОУ СОШ Мариинский рейд

Стругарян Г.Л. 1


1МБОУ СОШ Мариинский рейд


Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF

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

Задачи:

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

  • Создать электронный справочник «Использование растений Дальнего Востока и Сибири в лечении наиболее распространенных заболеваний школьников»

Методы:

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

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

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

Актуальность:

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

самообразования.

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

Введение

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

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

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

1 Методика проектирования и создания электронного справочника 1.1 Отличительные признаки электронного справочника

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

  • научные

  • массово-политические

  • производственно-практические

  • учебные

  • популярные

  • бытовые

По форме носителя справочники подразделяют:

  • бумажные

  • онлайн (интернет-справочники)

Отличие электронного справочника от бумажного состоит в том, что:

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

2) Многие электронные справочники являются по своей структуре открытыми системами. Их можно дополнять, корректировать, модифицировать в процессе эксплуатации.

1.2 Основные этапы проектирования электронного справочника

В проектировании электронного справочника можно выделить следующие основные направления деятельности:

  • разработка структуры справочника (Приложение 1),

  • реализация на компьютере,

  • апробация и корректировка.

При построении интерфейса справочника необходимо учитывать следующее: 1. Дизайн и оформление не должны отвлекать от поиска необходимого материала;2. Шрифт электронного справочника не должен быть слишком мелким или слишком крупным;3. Ни в коем случае нельзя делать светлый текст на темной фоне. От этого устают глаза, и теряется внимание. 4. Анимация, используемая в справочнике должна как можно нагляднее демонстрировать способы решения поставленных проблем.5. Электронный справочник должен максимально облегчить процесс решения поставленных проблем.

2 Создание электронного справочника 2.1 Анализ программных средств создания электронных книг

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

1)TurboSite — бесплатная программа для создания сайтов и электронных учебников. Можно создать HTML-сайт или электронный учебник с поддержкой комментариев, формы обратной связи, вставки видео файлов и javascript-тестов и другими возможностями. Программа очень проста в обращении, не требует знания языков программирования и разметки текста. Программа легка в использовании даже для малоопытных пользователей. В нее просто внести информацию, настроить гиперссылки, провести тестирование. Каждую страницу можно распечатать. Я считаю, что она больше подходит для создания электронного учебника. Это подтверждается созданием электронного учебника курса «Человек и его здоровье», тема «Инфекционные заболевания». (Приложение 2).

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

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

  2. нет возможности настроить гиперссылку конкретно к абзацу страницы (Приложение 2 открыть папку Public_html, index вход)

2) SunRav BookOffice — пакет, состоящий из двух программ: SunRav BookEditor — программа для создания и редактирования книг и учебников и

SunRav BookReader — программа для просмотра книг и учебников.

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

Возможно распространение электронных книг на CD и DVD дисках вместе с бесплатной программой для просмотра SunRav BookReader, которая может озвучивать книги, проводить индексный и полнотекстовый поиск, автоматически пролистывать страницы, читать текстовые, HTML, RTF и MS Office документы, изменять внешний вид, используя темы, организовывать наиболее часто используемые книги и главы в избранное.

По своим функциональным возможностям данная программа наиболее привлекательна. Однако бесплатная версия программы позволяет работать не более чем с 10 главами (разделами), что явно недостаточно для данного справочника./10/

3) Программа «Конструктор электронных учебников» является компилятором, т.е. для работы с ней необходимо заранее подготовить загружаемые файлы. В программе имеется возможность вставить изображение, аудио и видео файлы, но в ней нет возможности установить гиперссылки. Интерфейс программы очень простой, интуитивно понятный.

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

2.2 Актуальность выбранной темы справочника

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

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

«В связи с отсутствием оперативных и согласованных действий многих заинтересованных сторон наш мир вступает в эпоху, когда антибиотики теряют эффективность, и обычные инфекции и небольшие травмы, которые можно было излечивать в течение многих десятилетий, сейчас могут снова убивать. Эффективные антибиотики были одним из важнейших элементов, которые позволяли нам жить дольше, быть более здоровыми и пользоваться преимуществами современной медицины. Если мы не примем существенных мер для улучшения профилактики инфекций и не изменим методы изготовления, назначения и использования антибиотиков, наш мир будет все больше и больше утрачивать эти достижения общественного здравоохранения, и последствия этого бездействия будут опустошительны». (Помощник Генерального директора ВОЗ по безопасности здравоохранения д-р Кейджи Фукуда (Keiji Fukuda)

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

инфицированных MRSA (метициллин-устойчивые бактерии) на 64% выше по сравнению с людьми с лекарственно-неустойчивой формой инфекции. Устойчивость приводит к увеличению длительности пребывания в стационарах и предполагает необходимость более интенсивного лечения.

Согласно рекомендациям ВОЗ необходимо:

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

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

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

Растения содержат алколоиды, гликозиды, флавоноиды, дубильные и пектиновые вещества, эфирные и жирные масла и другие полезные вещества. Часть этих веществ выделяется из растительного сырья на фармацевтических заводах, и используются для приготовления лекарств. Однако большая часть лекарственных растений незаслуженно забыта. Многие считают, что гораздо проще выпить таблетку, «пшикнуть» в горло и все – здоров. А ведь флора Дальнего Востока и Сибири начитывает более 1000 видов лекарственных растений (около пятой части их изучено наукой), свыше 200 пищевых и витаминоносных растений, около 500 кормовых и медоносных и более 400 технических растений. Народы Дальнего Востока и Сибири использовали множество целебных растений, а сейчас мы восхищаемся Китайской народной медициной, покупаем различные лекарства из «Поднебесной».

2.3Разработка структуры электронного справочника

Предлагаемый компьютерный справочник разбит на несколько блоков:

  • «Рецепты», в состав, которого входят применяемые в народной медицине рецепты травяных сборов. Каждый раздел блока подразделяется на подпункты согласно заболеваниям.

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

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

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

https://drive.google.com/file/d/0B69QAK58vAiPaXpWQ0tkbHMxRE0/view?usp=sharing

Заключение

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

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

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

во-вторых, школа получила в свое распоряжение и сможет использовать электронный справочник;

в – третьих была оказана помощь в проектной работе ученикам 6 класса.

Выводы:

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

  2. Выбранная мною программа «Конструктор электронных учебников», позволила создать электронный справочник, однако он получился более упрощенный, чем планировалось.

Литература:

  1. Домашний медицинский справочник: Универсальная энциклопедия. Под редакцией доктора С.М.Зайцева изд.Махаон Москва 2000

  2. Травы жизни и их искатели. профессор Г.В.Крылов Западно – сибирское книжное издательство. Новосибирск 1972

  3. Травник от всех болезней. А Лагерь.из Рипол классик. Москва 1999

  4. Методическое пособие в вопросах и ответах URL:http://nt2.shu.ru:9500/eu.html

  5. Педагогика URL: http://paidagogos.com/?p=154

  6. http://www.who.int/mediacentre/news/releases/2014/amr-report/ru/

  7. http://www.tolgas.ru/org_structura/orot/dokymenti_orot/

  8. http://obrazovanie-saratov.ru/index.php/sozdanie-elekknig/534-0210-sozdanie-fajlov-exe-sunrav-bookoffice-37

  9. https://www.youtube.com/watch?v=wuDpZsG_Btw&list=PLCedE5ZB6cBatruGlatxiit1vtP5Q-CW1&index=1

  10. http://sunrav.ru/create-e-book.html

Приложение 1

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

Раздел 1.Рецепты.

Подразделы:

1.1Бронхит

1.2Инфекции респираторные вирусные

1.3Гастрит

Раздел2. Лекарственные растения.

Подразделы:

2.1 Дикорастущие лекарственные растения

Подподразделы:

2.1.1 Аир болотный

2.1.2 Алтей лекарственный

2.1.3 Душица обыкновенная

2.1.4.Зверобой продырявленный

2.1.5 Липа

2.1.6 Лопух

2.1.7 Малина

2.1.8.Мать-и-мачеха

2.1.9 Мята полевая

2.1.10 Ромашка лекарственная

2.1.11 Солодка гладкая

2.1.12 Сосна

2.1.13 Тысячелистник

2.1.14 Череда

2.2 Культурные растения

2.2.1 Анис

Раздел 3.Состав и применение чаев и сборов лекарственного сырья

Подразделы:

3.1 Грудные чаи

3.2 Потогонные чаи

3.3 Сборы для полоскания горла

Планируемая навигация:

взаимосвязь между разделами и подразделами осуществляется независимо, через содержание;

при обращении к рецепту по ссылке можно перейти к описанию лекарственного растения;

при обращении к описанию растения по ссылке можно перейти к рецепту, в котором оно применяется.

Приложение 2

Инструкция по созданию электронного учебника TurboSite

  1. Установка программы Turbo Site

Скачать программу Turbo Site и установить её на компьютер.

  1. Создаём новый проект

Запускаем программу Turbo Site. И видим окно приветствия.

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

  1. Выбираем оформление для электронного учебника

Можно изменить внешний вид учебника. Для этого надо перейти на вкладку Шаблон и выбрать из списка понравившийся вам вариант, нажать кнопку Генерировать сайт. После этого электронный учебник сгенерируется, и активируются дополнительные кнопки.

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

  1. Основные настройки электронного учебника

На вкладке Параметры сайта можно установить основные настройки электронного учебника.

  1. Добавляем страницы учебника

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

По умолчанию создана главная страница(index). Заполните «Оглавление»

Нажать кнопку Добавить. В левом окошке появится новая страница. Теперь в правую часть можно вставить свой текст.

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

  1. Расставляем ссылки на страницы

Выделить пункт оглавления – нажать кнопку ссылка – на страницу проекта – указать ту страницу, на которую нужно ссылаться.

Получился электронный учебник:

Он находится в папке public_html. Чтобы его открыть, достаточно запустить внутри этой папки файл index.html.

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

Приложение 3

Создание электронного пособия с помощью инструмента «Конструктор электронных учебников»

1. При открывании программы необходимо выбрать кнопку «Новый проект», затем папку, в которую сохранится справочник. В верхнем поле программы в поле «Название учебника» записываем название нашего справочника. Заполняем поле «Бегущая строка» кратким названием справочника (Рецепты). Данное название будет периодически появляться в верхней части учебника. Заполняем поле «Информация об авторе»

2.Написание любой книги, как правило, начинается с содержания. В данной программе панель «Содержание» находится в центре, в ней возможно создание большого количества глав, разделов и подразделов. Вставить их возможно с помощью кнопки «Добавить раздел»

При выборе в поле «Содержание электронного учебника» раздела и нажатии кнопки «Добавить раздел» можно вставить главу.

3. При необходимости поменять очередность глав и разделов можно с помощью кнопок «Переместить вверх» и «Переместить вниз».

4.Добавление текста в главу используется кнопка «Добавить элемент» в появившемся поле выбираем «Выбрать файлы/папки»

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

5. При необходимости любой ошибочно вставленный документ можно удалить с помощью кнопки «Удалить», расположенной в правой части экрана. 6. По окончанию работы нажимается кнопка «Создать учебник exe» 7. Получаем справочник

Чтобы открыть справочник надо зайти в папку CEB-EBook и открыть книжку.

Просмотров работы: 1650

Понравилась статья? Поделить с друзьями:
  • Как исправить перелом члена
  • Как найти моды в спинтайрес
  • Ведьмак 2 как найти золтана в переходах
  • Как найти араба в инсте для денег
  • Как найти сумму факториалов python