Смекни!
smekni.com

Проблемно-тематический курс (стр. 3 из 9)

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

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

Например, второй закон Ньютона можно изложить словами, а можно описать математической моделью: F = та (это мо­дель равноускоренного прямолинейного движения). Математические модели широко применяются не только в физике и технике, но и в других областях: в социологии, эко­номике, биологии, географии, экологии и др. Например, в Вычислительном центре Академии наук под ру­ководством академика Н.Н.Моисеева была разработана мате­матическая модель возможных последствий ядерной войны на планете Земля. На основании этой модели, с использованием мощных компьютеров, были проведены численные экспери­менты, которые показали, как наивны надежды некоторых людей пережить возможную катастрофу. Этими эксперимен­тами впервые доказано, что людей погубит не ударная волна, не световое излучение и радиация (от которых можно как-то защититься). Людей погубит... мороз, «ядерная зима», кото­рая наступит на многие годы в результате подъема в атмосферу огромных облаков сажи и пепла от взрывов и пожаров. Эта сажа будет задерживать солнечные лучи, и температура на Земле резко понизится.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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