Центральный Дом Знаний - История развития технологии программирования

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Я учусь (закончил(-а) в
Всего ответов: 2690

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Логин:
Пароль:

История развития технологии программирования

Содержание
1.Теоретическая часть. История развития технологии программирования 3
Введение 3
1.1 Понятие технологии программирования. 4
1.2 Организация самых первых программ. 6
1.3 Структурное программирование. 8
1.4 Модульное программирование. 11
1.5 Методология объектно-ориентированного программирования. 12
Заключение 13
2. Практическая часть 14
2.1. Общая характеристика задачи 14
2.2. Описание алгоритма решения задачи 16
Список использованной литературы 21
1.Теоретическая часть. История развития технологии программирования
Введение
Понятие «технология программирования» появилось в конце 1960-х гг. как название научной дисциплины, предметом которой являются способы проектирования и разработки программ, их отладки и тестирования, обеспечивающие необходимое качество и сроки создания программного обеспечения (ПО). Необходимость её появления была обусловлена высокой стоимостью создания ПО, а также срывами сроков и неудачами в реализации проектов сложных программных комплексов. После накопления практического опыта создания больших программных комплексов и выявления специфических особенностей процесса программирования появилась возможность разработать технологию программирования.
Понятие технологии программирования.

Технология программирования занята уточнением и детализацией требований к ПО; их проектированием, в том числе разделением программы на две части; собственно программированием, в том числе написанием текстов программ на языках программирования; отладкой и тестированием.  [1, с. 104]
Прогресс в сфере вычислительной техники и информационных и коммуникационных технологий предопределил появление разнообразных знаковых систем для записи алгоритмов – языков программирования.
Язык программирования служит двум взаимосвязанным целям: предоставляет программисту аппарат для задания действий, которые должны быть выполнены компьютером, и формирует концепции, которыми пользуется программист, продумывая общий алгоритм. Первой цели идеально отвечает язык, который настолько «близок к ЭВМ», что если всеми основными машинными объектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй же цели идеально отвечает язык, который настолько близок к решаемой задачи, что концепции ее решения можно выражать прямо и коротко.
Первые  языки программирования появились сравнительно недавно. Как и следовало ожидать, они (как и первые ЭВМ) были довольно примитивны и ориентированы на различные вычисления – как на чисто теоретические научные расчеты (прежде всего математические и физические), так и на прикладные задачи (в частности, в военной области). Программы, написанные на них, представляли собой линейные последовательности элементарных операций с регистрами, в которых хранились данные.
Следует отметить, что ранние языки программирования были оптимизированы под аппаратную архитектуру конкретного компьютера, для которого они предназначались. Это обеспечивало высокую эффективность вычислений, но не позволяло обеспечить стандартизацию: программа, работоспособная на одной вычислительной машине, не могла выполняться на другой.
Таким образом, ранние языки программирования существенно зависели от того, что принято называть «средой вычислений», и приблизительно соответствовали современным машинным кодам или языкам ассемблера.
Организация самых первых программ.

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

Структурное программирование представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение  всех этапов разработки программного обеспечения. В рамках этой технологии появился такой метод проектирования программ, как метод пошаговой детализации.
Технология структурного программирования закрепила сложившийся в то время процедурный, или алгоритмический, подход к программированию, при котором основное внимание концентрируется на определении последовательности действий. Были выделены три основные алгоритмические конструкции – следование, ветвление и цикл, достаточные для построения любого алгоритма.
Дальнейший рост сложности и объемов разрабатываемого программного обеспечения потребовал структурирования данных. Соответственно, в языках программирования появилась возможность определения пользовательских типов данных. Одновременно усилилось стремление разграничить доступ к глобальным данным основной программы для уменьшения количества возможных ошибок.
Появляется возможность использования локальных переменных в подпрограммах, однако проблема общей незащищенности области данных еще была решена не полностью. Кроме того, при достаточно больших размерах программы структурирование действий с помощью подпрограмм не уменьшает ее растущей сложности.
Разработчики крупных современных программных продуктов объединяются в группы. Поэтому возникла необходимость в методологии, позволяющей коллективу программистов эффективно использовать совместно разработанный программный код. Результатом стало появление и развитие технологии модульного программирования.[2,3].
Принципы структурного программирования были впервые реализованы в языке ALGOL. Первая версия ALGOL была выпущена в 1958 году (и называлась ALGOL-58). Вторая версия – через два года, в шестидесятом году. Затем – в 1968 году была выпущена усовершенствованная версия этого языка программирования высокого уровня. Заточена эта версия была под то, чтобы с легкостью можно было конвертировать обычные математические формулы в код на этом языке программирования.
                         Рис 1. Revised Report on the Algorithmic Language.
ALGOL был популярен не только в странах Европы (именно там его и создали), но и в СССР. Он внес большое влияние на все последующие языки, в том числе – на язык программирования Pascal.[5]
 Тем не менее, наибольшую популярность завоевал язык Pascal, созданный в 1970 г. Швейцарским ученым Н.Виртом. Pascal получил широчайшее распространение и может считаться образцовым языком программирования, наиболее популярным и сейчас (например, в версии Delphi фирмы Imprise).
Модульное программирование.
Модульное программирование предполагает выделение групп подпрограмм, использующих одни и те же глобальные данные, в отдельно компилируемые модули (библиотеки подпрограмм). Например, это могут быть модуль управления графическими ресурсами, модуль вывода данных на принтер и т.д.
Использование концепции модульного программирования существенно упрощает разработку программ несколькими программистами, каждый из которых  разрабатывает свои модули. При этом внутренняя организация каждого модуля скрыта от остальных модулей и потому может изменяться независимо от них. Взаимодействие же модулей осуществляется через специально оговоренные интерфейсы модулей. Кроме того, созданные программные модули в дальнейшем могут использоваться в других разработках, что увеличивает производительность труда программистов.
Практика программирования показывает, что структурный подход в сочетании с модульным программированием позволяет создавать достаточно надежные программы, объем которых не превышает  100000 операторов. При большем же объеме программы сложность межмодульных интерфейсов обычно возрастает настолько, что предусмотреть взаимовлияние отдельных частей программы становится очень сложно. Кроме того, «узким местом» модульного программирования является то, что ошибка в интерфейсе при вызове подпрограммы выявляется только при выполнении всей готовой программы (поскольку из-за раздельной компиляции модулей обнаружить эти ошибки раньше невозможно).
Стремление уменьшить количество взаимосвязей между отдельными частями программы и тем самым избавиться от вышеназванных недостатков привело к появлению объектно-ориентированного программирования.[4]
Методология объектно-ориентированного программирования.

Объектно-ориентированное программирование (ООП), разработанное в середине 1970-х гг. Б.Керниганом и Д.Риччи и реализованное в объектно-ориентированных версиях языков C и Pascal, представляет собой отображение объектов реального мира, их свойств (атрибутов) и связей между ними при помощи специальных структурных данных. Если структурное программирование подразумевает наличие ряда встроенных структур данных (целых, вещественных и строковых переменных, массивов, записей), при помощи которых производится отображение свойств объектов реального мира, то при объектно-ориентированном подходе для объекта создается своя структура данных (класс), содержащая  как свойства объекта (поля), так и процедуры для управления объектом (методы). Примеры объектно-ориентированных языков: Object Pascal, C++, Java.[2,3]
Методология ООП существенно отличается от всех других  тем, что в ней используется новая модель-модель «активных» данных.
Однако громоздкость описания «активных» данных требует больших аппаратных ресурсов, а также ограничивает область применения данного подхода задачами со сложной предметной областью (так как его неэффективно применять для решения небольших задач).
При этом методология ООП не отличается от двух предыдущих методов к созданию программ, а основывается на них:
А) программа состоит из модулей, которые содержат описания классов и объектов («активных» данных);
Б) методы (алгоритмы) «активных» данных строятся на основе структурного подхода.[4].

Заключение
Программирование — процесс и искусство создания êоìпьютерных программ с помощью ÿзûков программирования. Программирование сочетает в себе элементы искусства, науки, математики и инженерии. 
В узком смысле слова, программирование рассматривается как кодирование — реализация одного или нескольких взаимосвязанных àлгоритмов на некотором языке программирования. В более широком смысле программирование — процесс создания программ, то есть ðаçрàботка программного обеспечения. 
2. Практическая часть
2.1. Общая характеристика задачи

Организация ОАО «Триумф» предоставляет некоторые виды кредитов как физическим, так и юридическим лицам под следующие процентные ставки (рис. 1). На фирме ведется журнал учета кредитов и их возврата (рис. 2). При этом за каждый просроченный день возврата начисляется штраф в размере 1% от суммы кредита.
1. Построить таблицы по приведенным ниже данным (рис. 1-2).
2. Организовать межтабличные связи для автоматического заполнения граф журнала регистрации кредитов (рис. 2): «Наименование кредита», «Сумма возврата по договору, тыс. руб.», «Штрафные санкции, тыс. руб.», «Общая сумма возврата, тыс. руб.».
3. Определить наиболее востребованный вид кредита:
1) подвести итоги в журнале регистрации кредитов;
2) построить соответствующую сводную таблицу.
4. Построить гистограмму по данным сводной таблицы.
Код вида кредита Наименование вида кредита Годовая ставка, %
100 Бытовой 25
200 Автомобильный 18
300 Предпринимательский 20
400 Жилищный 21
500 На развитие 15

Рис. 1. Список видов кредита и ставки по ним в ОАО «Триумф»
Дата выдачи Заемщик (наименование фирмы или ФИО) Код вида кредита Наименование кредита Сумма кредита, тыс. руб. Срок возврата по договору Реальная дата возврата кредита Сумма возврата по договору, тыс. руб. Штрафные санкции, тыс. руб. Общая сумма возврата, тыс. руб. 21.11.05Иванов И.И.20020021.12.0622.12.0622.11.05Сидоров С.С.1002522.05.0625.07.0623.11.05ИП Терех О.А.30035025.06.0626.06.0624.11.05Селянов Г.Е.40085025.11.1012.12.05ЗАО «Днепр»500165012.12.0612.11.0613.12.05Петров Р.М.40076076015.12.0814.12.05Вавилова В.П.20014014015.12.0615.01.0715.12.05ИП Бекас П.Н.30054054015.12.07Рис. 2. Журнал регистрации кредитов
2.2. Описание алгоритма решения задачи 
Запустить табличный процессор MS Excel.
Создать книгу с именем «Регистрация кредитов».
Лист 1 переименовать в «Список видов кредита».
На листе «Список видов кредита» создать соответствующую таблицу: 
Рис. 3. Расположение таблицы «Список видов кредита» на рабочем листе  MS Excel
Лист 2 переименовать в «Журнал регистрации кредитов».
На листе «Журнал регистрации кредитов» создать таблицу со следующей структурой:
Колонка
электронной
таблицы Наименование
(реквизит) Тип данных Формат данных
длина точность
А Дата выдачи дата
В Заемщик (наименование фирмы 
или ФИО) текстовый 15
C Код вида кредита числовой 3 0
D Наименование кредита текстовый 15
E Сумма кредита, тыс. руб. числовой 3 3
F Срок возврата по договору дата
G Реальная дата возврата кредита дата
H Сумма кредита по договору, тыс. руб. числовой 3 3
I Штрафные санкции, тыс. руб. числовой 3 3
J Общая сумма возврата, тыс. руб. числовой 3 3
Рис. 4. Структура шаблона таблицы "Журнал регистрации кредитов"
7. Заполнить журнал регистрации кредитов.
В ячейку D2 ввести формулу «=ПРОСМОТР(C2;'Список видов кредита'!2:6;'Список видов кредита'!2:6)».
Размножить введенную формулу на остальные ячейки данной графы. Таким образом, будет выполнен цикл, управляющим параметром которого является номер строки.
В ячейку Н2 ввести формулу «=(1+ПРОСМОТР(C2;'Список видов кредита'!2:6;'Список видов кредита'!2:6)/100)*'Журнал регистрации кредитов'!E2». Размножить ее на остальные ячейки графы.
В ячейку I2 ввести формулу «=ЕСЛИ(G2-F2>0;0,01*(G2-F2)*E2;0)». Размножить ее на остальные ячейки графы.(......)
Loading

Календарь

«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24