Алгоритмизация и программирование – основа современной информационной технологии



 

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

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

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

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

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

1) создание укрупненного алгоритма (требования к исход­ным данным и результатам, постановка задачи, описание точной схемы решения с указанием всех особых ситуа­ций);

2) изложение укрупненного алгоритма на языке, понятном ма­шине, — иначе, составление программы задания (задачи).

При таком подходе необходимо:

1) создать строгую систему условных обозначений для запи­си команд в понятной для человека форме (язык програм­мирования);

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

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

Раньше программы приходилось писать в машинных кодах. Сейчас существует множество языков программирования. Hа языке программирования можно писать мно­жество программ, пользуясь единственной программой-пере­водчиком. «Грамматические» правила языка программирования фор­мулируются предельно четко и не допускают вольного распо­ложения отдельных элементов команды и знаков препина­ния (иначе программа-посредник «не поймет» ваши указа­ния). Каждая команда имеет строго определенный синтаксис (правила записи). Например, если установлено, что условие «если» надо писать по-английски (if) нельзя ставить запятую, то всякая иная запись такой команды будет воспринята программой-посредником как ошибка. Команды на языке программирования часто называют опера­торами или инструкциями. Последовательность таких ко­манд, реализующих тот или иной алгоритм, называют про­граммой на исходном языке или просто исходным текстом. Это напоминает нам, что, кроме исходного текста, конкрет­ная программа может иметь еще и машинный код, который непосредственно исполняется на машине. Существует два типа программ-посредников, работающих с исходными текстами. Программа-компилятор (от слова compile — составлять, со­бирать) переводит исходный текст в машинный код и записы­вает его на диск в форме исполняемого (загрузочного) файла. После этого программа выполняется независимо от исходно­го текста. Раньше программы-компиляторы называли просто и точно — трансляторами (переводчиками). Программа-интерпретатор всегда работает совместно с ис­ходным текстом. Она разбирает каждую инструкцию исходно­го текста (интерпретирует ее) и немедленно исполняет (т. е. файл на машинном языке не создается). Программа в режиме интерпретации работает гораздо медленнее, чем такая же про­грамма в машинном коде. Это связано с тем, что каждую ин­струкцию приходится разбирать во время выполнения (а не за­ранее, как при компиляции). Многие инструкции в программе выполняются многократно, — и при каждом выполнении ин­терпретируются заново. Поэтому всюду, где возможно, стре­мятся заменить режим интерпретации режимом компиляции. Правда, интерпретация имеет и свои преимущества: с ее помощью проще отлаживать программу. Иногда пользуются режимом «псевдокомпиляции»: ускоряют интерпретацию за счет предварительного запоминания тех или иных элементов разобранных команд в памяти машины. В наше время машинные коды не используются, и каждая программа для компьютера составляется на том или ином языке программирования. Существует очень много языков, однако все они, как правило, содержат средства описания данных, арифметические операторы (подобные с = а+Ь), средства управления и организации циклов (подобные if), средства ввода и вывода информации. Многие языки пользу­ются похожими принципами организации программ, но — разным синтаксисом.. Чем принципиально отличаются естественные языки от язы­ков программирования? Естественные языки возникают и развиваются по объективным законам, не зависящим от воли людей. Если вы изучите, например, английский язык, вам уже проще освоить, скажем, немецкий: вы приобрели опыт и интуицию, которые позволят вам хотя бы иногда догадывать­ся о значении тех или иных слов, о связях слов и т. п. Слова и синтаксис языков программирования придумывают­ся искусственно. Например, вы освоили язык С и твердо зна­ете, что смысловые блоки исходного текста (составные опера­торы) выделяются фигурными скобками: {...}.

Программное обеспечение— вторая равноправная часть ин­формационной технологии. Без программ любая аппарату­ра — просто груда железа (многие так и называют аппаратную часть— «железом»). Программы для ЭВМ делятся на два больших класса:

Ø системное программное обеспечение;

Ø прикладное программное обеспечение.

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

На современных компьютерах большинство обслуживающих программ включено в состав графических операционных обо­лочек и систем (Windows 3.1, Windows 95, Windows NT).

С помощью прикладных программ мы решаем на компьютере конкретные задачи. Спектр прикладного обеспечения очень широк: от простых программ, составляемых начинающими для решения несложных вычислительных задач, до мощных профессиональных систем (например, издательских), науч­ных комплексов, сложнейших систем массового обслужива­ния (например, резервирования мест на самолеты). Промежуточное место занимает особый класс программ — инструментальные средства разработки приложений. Роль таких систем за последние годы резко возросла. Если раньше для разработки программ пользователи применяли автоном­ные компиляторы (типа Turbo С, Turbo Pascal и т. д.) с не­сложным сервисом, то ныне в состав инструментария входят мощные средства визуального программирования, библиоте­ки функций и классов и т. п.

Один и тот же программный продукт может иметь несколько версий (редакций), обознача­емых номерами: 3.0, 6.2 и т. д. Каждая следующая версия от­личается от предыдущей либо серьезными улучшениями (из­менение первой цифры), либо незначительными модифика­циями (тогда меняется вторая или третья цифра). Существует особый класс «программного обес­печения» — компьютерные вирусы. Это тоже программы, ко­торые пишутся некоторыми программистами из озорства, ху­лиганства или просто из вредности и могут нанести большой ущерб компьютерной системе.

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

Что такое база данных (БД)? В широком смысле слова можно сказать, что БД — это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области или разделе предметной области. Например, база данных по металлам и сплавам (металлургия), база данных по театраль­ным постановкам (культура), база данных поликлиники (ме­дицина), база данных по видеофильмам (видеотека) и т. п. Синонимом термина «база данных» часто считают «банк дан­ных», хотя последнее понятие почти вышло из употребле­ния. В нашем определении, вообще говоря, отсутствует упомина­ние о персональном компьютере. Например, врач может счи­тать базой данных картотеку своего кабинета, которую он ведет на бумажных или картонных карточках и хранит на стеллажах или в коробках. Если в кабинете установлен компьютер, и врач научился ра­ботать с текстовыми файлами, ничто не сможет помешать ему записать картотеку своих больных в один или несколько таких файлов, создав таким образом некий «компьютерный» банк данных. Работая с таким банком, кое-что из сферы учет­ной и оформительской работы он сможет делать быстрее (на­пример, — корректировать и печатать заготовленные назна­чения или рекомендации), однако многие возможности ком­пьютера останутся за рамками такого подхода. Значительная часть пользователей приобретая компьютер или получая доступ к нему на ра­боте или в школе, в перерывах между играми прежде всего осваивает операции именно с текстовыми файлами (а ныне — с документами Word). На первом этапе компьютер обычно используют в качестве удобной и «интеллектуальной» пишу­щей машинки (для подготовки, хранения, модификации и распечатки всевозможных писем, сочинений, объявлений, договоров, статей и т. п.). Вряд ли многие задумываются, что уже на этом этапе они пользуются примитивной информационной системой, кото­рая в данном случае состоит из следующих элементов: (а) текстового редактора как инструмента манипулирова­ния текстами; (б) группы текстовых файлов (базы данных) как объекта обработки.

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

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

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

Информационная система — это совокупность базы данных и всего комплекса аппаратно-программных средств для ее хранения, изме­нения и поиска информации, для взаимодей­ствия с пользователем.

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

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

База данных — организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ и постоян­ного применения.

Для хранения БД может использоваться как один компью­тер, так и множество взаимосвязанных компьютеров.

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

Очевидно, информацию в Internet, объединенную паути­ной WWW, можно рассматривать как распределенную базу данных. Распределенные БД создаются также и в ло­кальных сетях.

Для работы с базами данных требуется специальное про­граммное обеспечение. Такое программное обеспечение на­зывается системой управления базами данных или сокра­щенно СУБД.

Программное обеспечение, предназначенное для работы с базами данных, называется СУБД: система управления базами данных.

Системы, работающие с реляционными базами данных, называются реляционными СУБД. Наибольшее количест­во СУБД, созданных для персональных компьютеров — ре­ляционные. Система управления базами данных создает на экране ком­пьютера определенную среду для работы пользователя (пользовательский интерфейс). Кроме того, СУБД имеет определенные режимы работы и систему команд. Для многих реляционных СУБД, используемых на персо­нальных компьютерах, действует правило: каждая табли­ца хранится в одном отдельном файле. Каждый файл имеет свое имя. Если вы сами создаете таб­лицу и сохраняете ее в файле, то сами вы и придумываете имя для файла. Если же вы хотите работать с уже готовой таблицей, то вы должны узнать, в файле с каким именем (а также на каком диске и в каком каталоге) хранится таблица.

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

Специалистам, юристам в том числе, часто приходится работать с большими объемами данных, с тем чтобы найти требуемые сведения для подготовки различных документов. Для облегчения такого рода работ были созданы системы управления базами данных (СУБД: DBASE, RBASE, ORACLE и др.). СУБД позволяют хранить большие объемы информации, и, что самое главное, быстро находить нужные данные. Так, например при работе с картотекой постоянно нужно перерывать большие архивы данных для поиска нужной информации, особенно если карточки отсортированы не по нужному признаку. СУБД справится с этой задачей за считанные секунды.

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


Дата добавления: 2019-07-15; просмотров: 141; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!