Реферат: Проблемно-тематический курс

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

К-во Просмотров: 177
Бесплатно скачать Реферат: Проблемно-тематический курс