Программирование и отладка программы

1





Оглавление



	Введение	3

	Определение программирования. Этапы создания программы	4

	Отладка программы	6

	Задача 2 и 3	9

	Задача 4 и 5	12

	Заключение	14

	Список используемой литературы	15



Введение



Компьютерная техника и компьютерная технология прочно вошли в человеческую жизнь. Развитие научно-технического прогресса невозможно без автоматизации вычислительных процессов. Именно потребность в автоматизации вычислительных процессов стала первоначальным импульсом в развитии программирования. 

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

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

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

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

Определение программирования. Этапы создания программы



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

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

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

В процессе создания любой программы можно выделить следующую последовательность этапов:

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

2 этап. Анализ задачи и моделирования: целью этого этапа является математическая модель или математическая постановка. На этом этапе выполняются следующие пункты

1) Определяются исходные данные и их типы.

2) Решение задачи описывается в виде аналитических зависимостей (уравнения, функции).

3) Определяются конечные данные и их типы.

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

3 этап. Алгоритмизация задачи и составление блок-схемы: выполняется на основе математического описания программы. На данном этапе составляется алгоритм решения задачи согласно действиям, задаваемым выбранным методом решения. Процесс обработки данных разбивается на отдельные относительно самостоятельные блоки, и устанавливается последовательность выполнения блоков. Разрабатывается блок-схема алгоритма.

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

5 этап. Отладка и тестирование программы: заключается в поиске и устранении синтаксических и логических ошибок в программе.

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

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





Отладка программы

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

Отладка – это деятельность, направленная на обнаружение и исправление ошибок в программе.

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

Отладка = Тестирование + Поиск ошибок + Редактирование.

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

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

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

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

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

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

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

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

Для отладки программ обычно применяют три способа:

Пошаговая отладка программ с заходом в подпрограммы;

Пошаговая отладка программ с выполнением подпрограммы как одного оператора;

Выполнение программы до точки останова.



Задача 2 и 3

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

ВЕДОМОСТЬ

Амортизационных отчислений по цеху С$ за М$_______

Наименование оборудования

Цена за единицу оборудования

Норма амортизационных отчислений

Количество единиц оборудования

Стоимость оборудования

Амортизационные отчисления

(15)

(10)

(13)

(9)

(13)

(13)

RS(I)

Z(I)

N(I)

P(I)

S(I)

А(I)

I=1

Z(I)=

N(I)=

P(I)=

S(I)=Z(I)*P(I)



A(I) =



…











I=K











Итого:









A=∑(Z(I)*P(I)*N(I))





Количество обрабатываемых строк – K; Номер строки I (I=1,2,3…К)

В скобках указана разрядность показателя

Алгоритм  расчета:

Стоимость 1- вида оборудования:

S(I) = Z(I)*P(I)

Амортизационные отчисления по 1 виду оборудования:

A(I) = S(I)*N(I)/100

Амортизационные отчисления по цеху:

   или   А=А=А(I)



Решение:

Из формулы расчета стоимости I вида оборудования S(I) = Z(I)*P(I) выразим цену за единицу оборудования - Z(I) и количество единиц оборудования - P(I). 

Получим:
Z(I)=S(I)/P(I) и P(I)=S(I)/Z(I)

Далее из формулы амортизационных отчислений по I виду оборудования - A(I) = S(I)*N(I)/100 выразим N(I) – норму амортизационных отчислений.

A(I) = S(I)*N(I)/100
A(I)*100=S(I)*N(I)
N(I)=A(I)*100/S(I) – получили формулу для расчета нормы амортизационных отчислений

Подставим полученные формулы в общую формулу расчета амортизационных отчислений по цеху. Получим:
A=∑A(I)
A=∑(S(I)*N(I))/100
A=
A=
A=∑(Z(I)*P(I)*N(I))

Построим блок-схему алгоритма для вычисления полученной функции A=∑(Z(I)*P(I)*N(I))

Входные данные Z(I)=z, P(I)=p, N(I)=n, A=a

Формулы: ∑ = sum

Выходные данные a

Алгоритм или блок-схема



Начало

Ввод(z, p, n)

a=sum(s*p*n)

Вывод (А)

Конец





















7.Составим программу на языке Pascal:
Program Primer1;

Var s,p,n,a: real;

BEGIN

              writeln(“Введите числа s,p,n”);

              readln(s,p,n);

              a:=sum(s*p*n);

              Writeln(a);

END.





Задача 4 и 5

На основании приведенной формы таблицы составить план ее исполнения и инструкцию по реализации с применением Excel или SuperCalc (любая версия). Алгоритм расчета см. в задании 2.

Алгоритм  расчета:

Стоимость 1- вида оборудования:

S(I) = Z(I)*P(I)

Амортизационные отчисления по 1 виду оборудования:

A(I) = S(I)*N(I)/100

Амортизационные отчисления по цеху:

   или   А=А=А(I)

Решение:

Из формулы расчета стоимости I вида оборудования S(I) = Z(I)*P(I) выразим цену за единицу оборудования - Z(I) и количество единиц оборудования - P(I). 

Получим:
Z(I)=S(I)/P(I) и P(I)=S(I)/Z(I)

Далее из формулы амортизационных отчислений по I виду оборудования - A(I) = S(I)*N(I)/100 выразим N(I) – норму амортизационных отчислений.

A(I) = S(I)*N(I)/100
A(I)*100=S(I)*N(I)
N(I)=A(I)*100/S(I) – получили формулу для расчета нормы амортизационных отчислений

Занесем все данные в таблицу, созданную в программе Microsoft Excel. У нас получится таблица такого вида:



Ведомость 







амортизационных отчислений







по цеху № 47 за 1997

















Наименование 

Цена за ед.

Норма амортизационных 

Кол-во единиц

Стоимость 

Амортизационные

оборудования

оборудования

отчислений

оборудования

оборудования

 отчисления

RS(I)

Z(I)

N(I)

P(I)

S(I)

A(I)

 

S(I)/P(I)

A(I)*100/S(I) 

S(I)/Z(I)

Z(I)*P(I)

 

 

 

 



 

 

 

 

 



 

 

 

 

 



 

 

 

 

 

 

 

 

Итого по цеху

 

 

 

 

 



























Далее используя встроенные экономические функции, проделаем следующее: в ячейке G10 (амортизационные отчисления) поставим знак «=» и по формуле  A(I) = S(I)*N(I)/100 подставим значение уже выраженных функций.

 По условию задачи ,  с помощью встроенной функции Суммы найдем А.



Ведомость 







амортизационных отчислений







по цеху № 47 за 1997

















Наименование 

Цена за ед.

Норма амортизационных 

Кол-во едениц

Стоимость 

Амортизационные

оборудования

оборудования

отчислений

оборудования

оборудования

 отчисления

RS(I)

Z(I)

N(I)

P(I)

S(I)

A(I)

 

S(I)/P(I)

A(I)*100/S(I) 

S(I)/Z(I)

Z(I)*P(I)

Z(I)*P(I)*N(I)

 

 

 



 

 

 

 

 



 

 

Итого по цеху

 

 

 

 

∑(Z(I)*P(I)*N(I))

Таблица будет иметь следующий вид:





Заключение

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

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

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

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

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




Список используемой литературы

Информатика: Учебник/ Под ред. Н. В Макаровой. – М.: Финансы и статистика, 2000. – С. 297 – 336.

Экономическая информатика: Учебник/ Под ред. В. П. Косарева, Л. В. Еремина. – М.: Финансы и статистика, 2001. – С. 127 – 146.

Закер Крейг. Компьютерные сети. Модернизация поиск неисправностей: Пер с англ. – СПб.:БХВ – Петербург, 2002. – С. 445 – 592.

Новиков Ф., Яценко А. Microsoft Office XP в целом.  – СПб.:БХВ – Петербург, 2002. – С. 19 – 57.

 А.Я. Архангельский. Программирование. М.: ЗАО Издательство БИНОМ. 2001г 1120с. 

Ларри Уолл, Том Кристиансен, Джон Орвант Программирование на Perl. Издательство: Символ-Плюс. 2001г 1152с.

 Липпман С.Б. Основы программирования на C++. Серия C++ In-Depth, том 1. Перевод с английского. Издательство: "Вильямс". 2002г. 256с.

Маслов, В.В. Основы программирования на языке Перл. Издательство: М.: Радио и связь. 1999 - 2000гг. 144с.

Рапаков Г.Г., Ржеуцкая С.Ю . Программирование на языке Pascal. Издательство: "БХВ-Петербург". 2004г 470с

Шауцукова Л.З. Информатика 10 - 11. М.: Просвещение, 2000

Зелинский В.В.: «Учебник по TURBO PASCAL 7». 2000г

Зелинский В.В.: «Самоучитель по Турбо Паскалю 7» 2002г