Шаг 1. Сравнить значения чисел А1 и А2; если |А1|>=|А2|, то числу Аmax присвоить значение |А1|, иначе числу Аmax присвоить значение |А2|.
Шаг 2. Сравнить значения чисел А3 и Аmax. Если |А3|>=|Аmax|, то числу Аmax присвоить значение |А3|.
Шаг 3. Конец алгоритма.
Приведенное описание алгоритма является достаточно строгим и позволяет однозначно решить поставленную задачу. Однако, для достаточно сложных алгоритмов описание становится слишком громоздким и ненаглядным. Поэтому содержательную форму используют на начальных стадиях разработки алгоритмов, когда определяются основные этапы решения поставленной задачи.
Графическая форма представления алгоритма
Программная форма представления алгоритма
Writeln(‘Введите три числа’);
if A1>=A2 then Amax:=A1
if A3>=Amax then Amax:=A3;
Writeln(‘Максимальное число ‘,Amax);
Программирование решения задачи
Алгоритм и его программная реализация тесно взаимосвязаны.
Часто встречающиеся ошибки в 1С у новичков. Интенсив по программированию на 1С
Программа – упорядоченная последовательность инструкций компьютера (команд) для решения задачи.
Программное обеспечение – совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программирование – теоретическая и практическая деятельность, связанная с созданием программ.
Программирование является собирательным понятием и может рассматриваться и как наука, и как искусство; на этом основан научно-практический подход к разработке программ.
Программа – результат интеллектуального труда, для которого характерно творчество, поэтому в любой программе присутствует индивидуальность ее разработчика, программа отражает определенную степень искусства программиста. Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать стандартам.
Программирование базируется на комплексе научных дисциплин, направленных на исследование, разработку и применение методов и средств разработки программ. При разработке программ используются ресурсоемкие и наукоемкие технологии, высококвалифицированный интеллектуальный труд. По некоторым данным в середине 90-х годов в мире было занято программированием » 2% трудоспособного населения. Совокупный оборот в сфере создания программных средств достигает нескольких сот миллиардов долларов в год. В связи с этим весьма актуальным становится вопрос о разработке и применении эффективных технологий программирования.
Стадии разработки программного продукта
Этот этап представляет собой выполнение четырех взаимосвязанных задач:
- реализация алгоритма на языке программирования;
- отладка программы;
- тестирование программы;
- модификация и сопровождение программы.
· Написание программы -запись разработанного алгоритма на каком-либо языке программирования. · Отладка.На этом этапе с помощью специальной программы (транслятора) в программе устраняются синтаксические ошибки (связанные с неправильной записью или употреблением языковых конструкций). · Тестирование. На этом этапе устраняются семантические (смысловые) ошибки. Необходимо проводить тестирование в два этапа: на заведомо правильных, а затем на заведомо неправильных данных. В любом случае программа должна выдавать соответствующие результаты. Как правило, в программе должны быть отражены все особые случаи. Для сложных алгоритмов такая информация, как правило, неизвестна. · Модификация. Программа постоянно модифицируется как на этапе разработки, так и в период опытной эксплуатации. Программы, рассчитанные на долгий срок применения, требуют периодического усовершенствования. Это может быть связано с дополнительными требованиями к ее возможностям, сменой оборудования и т.п. Поэтому необходимо, чтобы программа предоставляла возможность свой модификации без полной повторной реализации. · Сопровождение программного продукта — исправление обнаруженных ошибок, а также поддержка работоспособности программного продукта при переходе на новые версии и внесении изменений. Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ Основная категория специалистов, занятых разработкой программ – это программисты. Программисты неоднородны по уровню квалификации, а также по характеру своей деятельности. Наиболее часто программисты делятся на системных и прикладных. Системный программист занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего сферу для выполнения программ, обеспечивающих реализацию функциональных задач. Прикладной программист осуществляет разработку и отладку программ для решения функциональных задач. В процессе создания программ на начальной стадии работ участвуют и специалисты – постановщики задач. При создании больших по масштабам и функциям обработки программ (например, операционных систем) – нужен программист-аналитик для анализа и проектирования комплекса взаимосвязанных программ. Большинство информационных систем основано на работе с базами данных (БД). Если база данных является сложной и используется многими программистами, то возникает проблема организационной поддержки БД, которая выполняется администратором БД. Основным потребителем программ служит конечный пользователь, который относится к категории пользователей-непрограммистов. Он должен иметь элементарные знания и навыки работы с компьютером.
Источник: studfile.net
Отладка и выполнение программы
После того, как программа набрана и поставлена заключительная точка после слова end, ее необходимо оттранслировать, устранить ошибки, как синтаксические, так и семантические, и выполнить, то есть получить конечный результат.
После набора программы ее рекомендуется записать на диск. Более того, если текст программы достаточно объемен, лучше всего делать и промежуточные записи во избежание потери информации при сбоях компьютера или пропадании напряжения питания.
Если программа набирается заново, то есть активное окно имеет имя noname01.pas, то при нажатии клавиши F2 выполнится команда File/ Save as. При этом появится диалоговое окно со списком файлов – программ из текущего раздела, с именами Files, как на рис.2.6.
Рис. 2.6. Сохранение программы в Free Pascal.
В окне Name набирается имя файла, с которым он будет сохранен на диске. Имя автоматически будет дополнено расширением. pas. После записи на диск имя в текущем окне редактора сменится на заданное в поле Name. После дальнейшего набора программы или ее корректировки при нажатии клавиши F2 будет выполняться команда File/ Save, и никаких дополнительных запросов происходить не будет.
При переходе к новой программе окно с текстом старой программы закрывают (< Alt+F3 > или Window / Close, хотя это и не обязательно) и открывают новое активное окно (File / New). При необходимости чтения другой, ранее набранной программы, выполняется команда File / Open. (F3), в появляющемся диалоговом окне в области Files перемещением маркера выбирается нужный файл и нажимается клавиша Enter, эквивалентная кнопке диалогового окна Open.
После ввода программы ее можно откомпилировать с целью устранения ошибок (< Alt+F9 >). Если программа не сохранена, то при компиляции возникнет диалоговое окно как при сохранении программы. Если компилятор обнаружил синтаксические ошибки, то появится сообщение, представленное на рис.2.7.
Рис. 2.7. Сообщение о наличии в программе синтаксических ошибок.
После того, как все ошибки устранены, появится следующее сообщение, как на рис. 2.8.: «Компиляция выполнена: нажмите любую клавишу».
Рис. 2.8. Компиляция завершена успешно.
После ввода всей программы ее можно либо откомпилировать, либо сразу отдать команду на выполнение (< Ctrl+F9 >). В последнем случае все равно выполнится предварительная компиляция, и если присутствуют синтаксические ошибки, программа выполняться не будет. Если программа не сохранена, то при компиляции возникнет диалоговое окно как при сохранении программы.
Все ошибки программ делятся на два больших класса: ошибки компиляции (синтаксические) и ошибки выполнения (логические или алгоритмические). О первом типе ошибок сообщает компилятор до запуска программы на выполнение с указанием типа ошибки и предполагаемого ее места.
К сожалению, ошибка может быть и не там, где стоит курсор; его положение – это фактически то место, где компилятор «осознает» ошибку. Например, если имеется лишний BEGIN в программе, то компилятор не поймет этого до тех пор, пока пары BEGIN. END не будут сбалансированы. На начальном этапе программирования большинство синтаксических ошибок происходит из-за невнимательности набора программы. Даже в первой строке могут делаться ошибки, см. рис.2.9.
Рис. 2.9. Ошибка в служебном слове
В первой строке сообщений компилятора появится сообщение: «Prim1.pas(1,9) Fatal: Syntax error, “BEGIN” expected but “identifier PROGRAMM” found».
Здесь Prim1.pas – имя программы, данное ей при записи на диск.
(1,9) – место, где обнаружена ошибка (строка, столбец). Не всегда совпадает с реальным местом ошибки.
Fatal: Syntax error – синтаксическая ошибка фатальная, дальнейшее выполнение невозможно.
“BEGIN” expected but “identifier PROGRAMM” found — ожидается BEGIN, но найден идентификатор PROGRAMM. Первое обязательное служебное слово – Begin, все остальные: заголовок, разделы описаний, можно и не писать. Все конструкции языка Паскаль, которые состоят из букв и цифр и начинаются с буквы, являются идентификаторами, за исключением служебных слов и некоторых директив. Так как слово PROGRAMM к служебным не относится, то оно определено как идентификатор, с которого не должна начинаться программа.
В данном примере пояснение причины ошибки не имеет особого смысла, – ожидается оператор BEGIN, – и такое случается довольно часто. Более осмысленное толкование происходит в следующем случае:
«Prim1.pas(1,14) Fatal: Syntax error, ”;”expected but “ordinal const” found» – перед порядковой константой (единицей) ожидается точка с запятой.
Смысл ошибки заключается в том, что имя программы, как и обычные идентификаторы, не должно включать пробелы, поэтому за разделителем, – пробелом, должна идти следующая конструкция языка, отделяемая от заголовка точкой с запятой.
Довольно часто позиция указывается в строке, следующей за ошибочной:
Точка с запятой должна стоять перед А, то есть в конце предыдущей строки.
В любом случае при непонимании ошибки следует обратиться к синтаксису отмеченной конструкции языка Турбо Паскаль, либо к предыдущей.
Ошибки выполнения появляются после компиляции и запуска программы на выполнение. На экране программы выдается сообщение вида, представленного на рис.2.10.
Рис. 2.10. Сообщение с кодом завершения 201.
Ошибки выполнения искать труднее, чем синтаксические. Это и ошибки на уровне ОС, и ошибки ввода — вывода, и критические ошибки, и фатальные ошибки. Но, хотя ошибок данного класса довольно много, в данном курсе лабораторных работ чаще всего появляются только три фатальные ошибки:
Exitcode = 200 – Деление на нуль.
Exitcode = 201 – превышение времени выполнения программой.
Exitcode = 207 – переполнение при операции с плавающей точкой.
Вообще говоря, комментарии к первой и последней ошибкам не требуют дополнительных пояснений. Хотя они могут случаться не только при недопустимых делениях и вышедших из под контроля циклах операций умножения, но в данных лабораторных работах гораздо чаще встречаются при недопустимых аргументах математических функций: отрицательных значениях для логарифмов, квадратных корней, и других.
Ошибки же по времени выполнения (зацикливания компьютера) возникают либо при неверно составленном алгоритме, а соответственно, и программе, либо при выходе за границы неконтролируемых величин. Так как циклы могут использовать 2 типа операторов, то в цикле FOR категорически запрещено принудительное изменение параметра цикла, так как он изменяется автоматически. В циклах While и Repeat, наоборот обязательно надо изменять параметр цикла принудительно, иначе он останется без изменения. В бесконечных циклах каждое последующее слагаемое должно уменьшаться. Пример последней ситуации приведен в примечании к лабораторной работе № 4.
ИСР Free Pascal имеет два экрана. На основном экране набираются, просматриваются и редактируются программы, отдаются команды ИСР, устанавливаются параметры работы и так далее. Но при запуске программы появляется другой экран – экран пользователя. Сюда помещаются результаты работы по программе, и он виден до тех пор, пока программа не перестанет выполняться.
Так как в данном курсе лабораторных работ программы весьма просты, то они выполняются практически мгновенно, и снова появляется основной экран ИСР. Для просмотра экрана пользователя из меню выбирается Debug > User screen или нажимается комбинация клавиш < Alt+F5 >. Для возврата к основному экрану можно нажать любую клавишу. Если в процессе запуска программы возникнет необходимость прервать ее работу, например в случае «зацикливания» программы, используют комбинацию клавиш < Ctrl+Break >.
На экране пользователя мы увидим либо сообщение об ошибке выполнения, либо результат (если пропущен оператор вывода, естественно, вывода результата не будет), например, как на рис.2.11.
Рис. 2.11. Результат по нажатию клавиш < Alt+F5 >.
Здесь нам нужна только последняя строка:
Результат может быть и неверным как из-за неправильно составленного алгоритма, так и из-за ошибок в программе, которые формально, с точки зрения транслятора, ошибками не являются. Например, при вычислении суммы по следующему фрагменту программы
Источник: cyberpedia.su
Понятие о способах отладки программы.
Отладка программ – это не менее серьезный этап, чем их подготовка, что, к сожалению, нечасто учитывают начинающие программисты, воодушевленные успехом работы первых простых программ. По мере усложнения программ, необходимость в средствах их отладки возрастает.
Отладка программы – это многоуровневый процесс выявления места расположения ошибок и определения причины их появления. В системе MATLAB для этой цели предусмотрено немало вспомогательных средств, которые реализованы, в частности, в редакторе M-файлов (называемым также отладчиком M-файлов), который имеет достаточно простой графический интерфейс) и средства для визуализации процесса поиска ошибок.
Одним из таких средств является возможность отображать различными цветами разные элементы программы (переменные, операторы, константы, комментарии, ключевые слова программирования и т.д.), а также выравнивания строк программы в зависимости от используемых ключевых слов и управляющих конструкций. Таким образом, редактор автоматически выполняет синтаксический контроль текстов (листингов) программ, однако ошибки иного рода система MATLAB отыскать не в состоянии.
Простые программы, как правило, не требуют использования специальных инструментов отладки. Добиться корректного выполнения программы обычно оказывается возможным после нескольких ее запусков с использованием различных исходных данных. В верификационных целях зачастую полезно задать просмотр результатов промежуточных вычислений, удалив в программе символы «точка с запятой» (;), которые традиционно завершают инструкции. Более того, можно и вовсе ввести дополнительные переменные для отображения хода вычислений, а по завершении проверки вернуть программный код к исходному виду.
При возникновении ошибки в процессе выполнения программы система MATLAB предпринимает попытки ее самостоятельной идентификации, выводя в командное окно сообщение, описывающее приблизительный характер ошибки и номер строки, в которой она обнаружена (следует отметить, впрочем, что такая диагностика не всегда достоверна).
Совсем иначе обстоит дело с отладкой сложных программ – простыми приемами проверки здесь не обойтись, необходимо использовать специальные инструменты отладки. Наиболее универсальным и удобным приемом в этом отношении является размещение в тексте программы точек останова (или прерывания; Breakpoint) и последующее пошаговое выполнение кода (используя, например, возможности редактора-отладчика MATLAB), при котором имеется возможность просмотреть содержимое рабочего пространства (т.е. всех значений переменных, использующихся в программе).
Для создания точки останова следует поместить курсор в выбранную точку и нажать функциональную клавишу F12 (отметим, что повторное нажатие этой клавиши убирает точку останова) или выбрав в главном меню пункт Breakpoints и далее в ниспадающем окне указать Set/Clear. После этого в строке слева появится маркер в виде красного кружка, указывающий на то, что в данной строке размещена точка останова.
Далее, не закрывая окна редактора, следует перейти в командное окно системы MATLAB и запустить из командной строки функцию на выполнение. В результате произойдет останов выполнения функции прямо на строке, в которой поставлена точка останова. В данном состоянии можно просматривать фактические значения входных параметров файл-функции, текущие значения глобальных и локальных переменных, а также вычислять значения выражений, содержащие переменные, находящиеся в данный момент в рабочем пространстве. Для просмотра значения переменной, достаточно подвести курсор к ее имени в тексте функции, после чего на экране появится всплывающий желтый прямоугольник со значением переменной внутри него.
Статьи к прочтению:
- Понятие процесса архивации файлов
- Порядок и сроки организации образовательной программы
py037 Простые средства отладки программ
Похожие статьи:
- Отладка и выполнение программ Независимо от уровня квалификации программиста появление ошибок в программе неизбежно. Поскольку исключить появление ошибок невозможно, основой успешной…
- Отладка и выполнение программы После того, как программа набрана в виде текста в окне редактирования, ее необходимо откомпилировать, устранить синтаксические и семантические ошибки и…
Источник: csaa.ru