logo search
ГОСы - ответы [2012]

3.Написать алгоритм вычисления определенного интеграла методом трапеций.

I = 2 Sinx dx

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

Жизненный цикл программы.

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

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

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

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

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

2) универсальность – определяется возможностями языка в написании различных алгоритмов.

3) эффективность объектных программ, определяемая свойствами используемого транслятора, которые определяются свойствами языка. Эффективность определяется затратами машинного времени и памяти, требуемыми на исполнение программы.

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

Основная единица языка – оператор – почти полностью соответствует машинной команде, отличается только записью. Поэтому при компиляции один оператор заменяется одной машинной командой. Такие языки называются языками уровня «один в один».

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

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

Группа машинно-независимых языков включает процедурно- и проблемно-ориентированные. Процедурно-ориентированные служат для записи алгоритмов, характерных для решения задач достаточно широкого круга. Такая программ слабо зависит от устройства системы команд конкретной ЭВМ, запись алгоритма оказывается гораздо компактнее, чем на автокодах. Проблемно-ориентированные языки служат для описания алгоритмов, характерных для весьма узких классов задач (работа с базами данных, оформление отчетов, работа с сетями). В настоящее время известно более 100 языков высокого уровня, широкое распространение имеют около 10.

Любой язык программирования состоит из трех частей:

  1. алфавит

  2. синтаксис

  3. семантика

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

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

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

Основные понятия языков программирования:

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

Основные (не содержат других операторов)

и производные (составные)

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

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

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

Свойства:

  1. в любой момент времени хранит не более одного значения

  2. имеет постоянный тип данных на протяжении всего времени работы программы

  3. хранит текущее значение до записи нового

  4. в начале работы программы значения неинициализированных переменных считаются неопределенными, то есть воспользоваться ими нельзя.

Жизненный цикл программы.

Первое поколения ЭВМ отличалось конструктивной простотой и небольшими возможностями.

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

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

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

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

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

С малым и большим временем жизни.

Этим классам соответствуют 2 подхода в их создании:

- гибкий (как объект научного творчества)

- жестко стандартизированный (промышленный)

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

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

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

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

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

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

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

  4. Сопровождение состоит в эксплуатации и обслуживании, улучшении характеристик и расширении возможности программного продукта, а также тиражировании и переносе программы на другие типы ВТ.