Основные этапы обработки программы

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

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

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

Этапы обработки фотографии. Обучающее видео.

Второй этап – математическое или информационное моделирование.Цель этого этапа – создать такую математическую модель решаемой задачи, которая может быть реализована на компьютере. Часто математическая постановка задачи сводится к простому перечислению формул и логических условий, однако возможно, что для полученной модели известны несколько методов решения, и тогда следует выбрать лучший из них. Для нашей задачи данный этап будет выглядеть так: введённые в компьютер числа запомним в памяти под именами А и В, затем вычислим сумму этих чисел по формуле А+В, и результат запомним в памяти под именем Summa.

Третий этап – алгоритмизация задачи. На основе математического описания необходимо разработать алгоритм решения.

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

Алгоритм должен обладать рядом свойств.

Свойства алгоритма:

  • Однозначность алгоритма, под которой понимается единственность толкования исполнителем правил и порядка выполнения действий. Для этого алгоритм должен быть записан командами из системы команд исполнителя. Для нашего примера исполнитель должен понимать такую запись действий, как А + В.
  • Конечность алгоритма –обязательность завершения каждого из действий и всего алгоритма в целом. Наш алгоритм обладает этим свойством, так как после выполнения действий ввода исходных данных, вычисления суммы и вывода результата алгоритм завершается.
  • Результативность алгоритма, предполагающая, что его выполнение завершится получением определённых результатов. В нашем примере всегда для целых чисел А и В может быть вычислена сумма.
  • Массовость, т.е. возможность применения алгоритма к целому классу задач, отвечающих общей постановке задачи. Для того, чтобы алгоритм обладал свойством массовости, следует составлять его с использованием обозначения величин и избегая конкретных значений. Наш алгоритм позволяет правильно посчитать сумму не только для чисел 2 и 3, но и для любой пары целых чисел.
  • Правильность алгоритма,под которой понимается способность алгоритма выдавать правильные результаты решения поставленной задачи. В нашем примере используется формула сложения целых чисел, и для любой пары целых чисел результат выполнения алгоритма будет равен их сумме, что и требуется.

Существует несколько типов алгоритмов:

Как разработать технологический процесс изготовления детали. 9 основных этапов

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

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

Четвёртый этап – программирование.Программой называют план действий, подлежащих выполнению исполнителем, в качестве которого может выступать компьютер. От алгоритма программа отличается тем, что записывается на языке понятном для исполнителя. Если исполнителем является компьютер, то программа записывается на одном из языков программирования.

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

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

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

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

Читайте также:
Правильно выключить компьютер это пуск программы

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

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

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

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

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

Источник: ronl.org

2. Основные этапы обработки программ пользователя.

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

Программа, созданная текстовым редактором , обычно входящим в систему программирования, сохраняется на диске в виде файла с именем следущего формата : name>.pas

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

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

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

3. Сборка (компоновка, редактирование связей). На этом этапе все объектные модули с помощью программы компоновщик (или редактор связей) компонуются (собираются) в одну исполняемую программу на машкоде. Результатом работы компоновщика является файл, который называется загрузочный модуль.

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

4.Загрузка. (Команда Run в Pascal)С помощью программызагрузчик(или интерпретатор команд операционной системы, обычно это файлcommand.com), программа загружается в оперативную память и управление передается на ее первую команду. Обычно в начале работы программы вводятся исходные данные либо из файла, либо пользователем с клавиатуры. В процессе выполнения программа выводит результаты на экран, принтер или в файл на диске.

Средства записи алгоритмов. Виды алгоритмов

Алгоритмы бывают трех основных видов, которые и являются базовыми при написании программ. Первый тип — линейный алгоритм; такой, в котором все действия выполня­ются в строгом порядке, последовательно, одно за другим. Типичный жиз­ненный пример такого алгоритма — рецепт пирога. Второй тип — разветвляющийся алгоритм; такой, в котором выполняются те или иные действия в зависимости от выполнения или невыполнения не­коего условия. Пример из жизни — правило перехода улицы по светофору. Если горит красный — стоим, если горит зеленый — идем. Третий тип — циклический алгоритм; такой, в котором присутству­ют повторяющиеся действия с какой-либо изменяющейся величиной, такназываемым параметром. Пример — колка дров. Берем полено — колем топором, берем второе полено и т. д., пока поленья не закон­чатся, и эта работа нам не надоест. Средства записи алгоритмов:

  1. Словесный (вербальный). Пример – алгоритм Евклида для нахождения НОД двух натуральных чисел.
  2. Блок-схема алгоритмов.
  3. Псевдокоды – система обозначений и правил для записи алгоритмов.
Читайте также:
Все программы которые нужны для игр

Пример записи алгоритма Евклида на псевдокоде. Алгоритм Евклида: начало ввод k1, k2 пока k1 k2 повторять если k1 > k2 то k1 := k1-k2 иначе k2 := k2-k1 всё кц (* конец цикла пока *) вывод k1 конец

  1. Запись на алгоритмическом языке. Программа, для выполнения на ЭВМ.

Источник: studfile.net

informatika_2_2016 (Экзамен — Теория), страница 3

Документ из архива «Экзамен — Теория», который расположен в категории » «. Всё это находится в предмете «информатика» из 1 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .

Онлайн просмотр документа «informatika_2_2016»

Текст 3 страницы из документа «informatika_2_2016»

  1. Общего назначения (универсальные)- программные продукты, предназначенные для автоматизации разработки и эксплуатации функциональных задач пользователя и информационных систем в целом. (текстовые редакторы, электронные таблицы, системы управления базами данных, интегрированные пакеты)
  2. Методо-ориентированные — включают программные продукты, обеспечивающие независимо от предметной области и функций информационных систем математические, статистические и другие методы решения задач.
  3. Проблемно-ориентированные — программные продукты, предназначенные для решения какой-либо задачи в конкретной функциональной области.
  4. Интеллектуальные системы — реализуют отдельные функции интеллекта человека. Основными компонентами систем искусственного интеллекта являются базы знаний, интеллектуальный интерфейс с пользователем и программа формирования логических выводов.

18. Операционные системы. Классификация.

Операционные системы (ОС) — комплекс системных и служебных программ, обеспечивающих организацию вычислительного процесса на компьютере.

Операционные системы классифицируются по:

  • количеству одновременно работающих пользователей: однопользовательские, многопользовательские;
  • числу процессов, одновременно выполняемых под управлением системы: однозадачные, многозадачные;
  • количеству поддерживаемых процессоров: однопроцессорные, многопроцессорные;
  • разрядности кода ОС: 8-разрядные, 16-разрядные, 32-разрядные, 64-разрядные;
  • типу интерфейса: командные (текстовые) и объектно-ориентированные (графические);
  • типу доступа пользователя к ЭВМ: с пакетной обработкой, с разделением времени, реального времени;
  • типу использования ресурсов: сетевые, локальные.

19. Основные функции операционных систем.

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

20.Распределение ресурсов между процессами

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

Специальная программа планировщик, являющаяся частью ОС, распределяет ресурсы ЭВМ между процессами. Таким образом, процессы конкурируют за ресурсы. Каждый процесс имеет приоритет, в соответствии с которым он получает ресурсы ЭВМ. Наибольший приоритет имеют компоненты ОС, наименьший – программы пользователя.

Приоритет процесса зависит также от частоты запроса процессом ресурсов. Чем более требователен процесс к ресурсам, тем он имеет более высокий приоритет.

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

21. Поддержка файловой системы

Файловые системы — неотъемлемая часть любой операционной системы. Они позволяют пользователям записывать и хранить файлы, получать доступ к данным, и, конечно же, пользоваться жесткими дисками.

Важное свойство файловых систем — поддержка журналирования. Журналируемая файловая система ведёт постоянный учёт всех операций записи на диск. Благодаря этому после сбоя электропитания файловая система всегда автоматически возвращается в рабочее состояние.

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

К функциям обслуживания файловой структуры относятся следующие операции, происходящие под управлением операционной системы:

  • создание файлов и присвоение им имен
  • создание каталогов (папок) и присвоение им имен
  • переименование файлов и каталогов (папок);копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;
  • удаление файлов и каталогов (папок)
  • навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке)
  • управление атрибутами файлов.

22.Обеспечение интерфейса пользователя

Интерфейс пользователя — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой.

Виды интерфейсов пользователя (по реализации интерфейса пользователя)

  • неграфические операционные системы реализуют интерфейс командной строки. Основным устройством управления в данном случае является клавиатура. Исполнение команды начинается после ее утверждения, например нажатием клавиши ENTER
  • графические операционные системы. в качестве органа управления кроме клавиатуры может использоваться мышь или адекватное устройство позиционирования. Работа с графической операционной системой основана на взаимодействии активных и пассивных экранных элементов управления. В качестве активного элемента управления выступает указатель мыши — графический объект, перемещение которого на экране синхронизировано с перемещением мыши. В качестве пассивных элементов управления выступают графические элементы управления приложений (экранные кнопки, значки, переключатели, флажки, раскрывающиеся списки, строки меню и многие другие). Характер взаимодействия между активными и пассивными элементами управления выбирает сам пользователь
Читайте также:
Какие программы нужны для Самсунг галакси

23. Этапы обработки исходного кода программ под управлением операционной системы

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

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

Компилятор – это программа, предназначенная для трансляции исходного текста программы с высокоуровневого языка в объектный код. Входной информацией для компилятора является описание алгоритма или программа на языке программирования. На выходе компилятора – эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).

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

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

24.Тестирование и отладка программ. Назначение и взаимосвязь. Методы тестирования. Примеры тестов для фрагмента программ.

Тестирование программы – процесс многократного выполнения программы с целью выявления в ней наличия ошибки.

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

Тест – это набор исходных данных с известными результатами.

Локализация — это нахождение места ошибки в программе.

  • Основные тесты — должны проверять работоспособность программ для наиболее типичных данных
  • Выраженные тесты – проверяют работоспособность программы в минимальном режиме
  • Тесты граничных значений – проверяют на граничных значениях
  • Аварийные тесты – проверяют реакцию программы на определенную аварийную ситуацию. В частности на ввод некорректных данных: деление на 0 и т.д.

Методы проектирования тестов:

  • Метод «черного ящика» — соответствие входной и выходной информаций. ( по возможности перебрать все исходные данные).
  • Метод «белого ящика» — учитывается структура алгоритма программы.
  • Комбинирование – сначала программа рассматривается как «черный ящик», а потом запускается тест.

Локализация включает в себя:

  • Определение сущности ошибки.
  • Выявление фрагмента программы, в которой содержится ошибка.
  • Установление конкретного места ошибки ( определяется методом ручной прокрутки: надо взять текст, а потом проанализировать работу программы)

25. Классификация ошибок. Последовательность, способы и средства их обнаружения.

Классификация ошибок и порядок их обнаружения:

  • Синтаксические ошибки – программа написана некорректно на языке программирования.
  • Некорректность данных – неправильная обработка данных в зависимости от типа данных.
  • Ошибки в алгоритме программы ( смысловые)

26.Понятие алгоритма. Свойства алгоритмов, способы описания.

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

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

Требования к алгоритму, которые выполняются компьютером:

  1. Алгоритм должен иметь пошаговый характер
  2. Алгоритм не должен совершать действий, которые не может выполнить исполнитель (ЭВМ).

Системы команд – набор действий, который может выполнять компьютер.

  1. Алгоритмы не должны содержать действий, которые приводят к неоднозначным исходам. ( на один и тот же пример не может быть два ответа)
  2. Должен обладать свойством массовости ( он должен быть применим к некоторому классу объектов, давать возможность получения результата при различных исходных данных из некоторой области допустимых значений).
  3. При точных выполнений всех команд алгоритма процесс должен заканчиваться за конечное число шагов.
  4. Эффективность алгоритма ( должен выполняться за разумно конечное время.

Алгоритмизация – процесс разработки и описания алгоритма.

Формы записи алгоритма:

  1. Словесная запись алгоритма
  2. Запись на алгоритмическом языке ( программирование)
  3. Схемный алгоритм – графический способ представления алгоритма с элементами словесной записи. ( каждое предложение записывается в виде геометрических фигур: блок-схемный алгоритм)

Начало или конец выполнения программы или подпрограммы

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

Выбор направления выполнения алгоритма в зависимости о условий

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

Выполнение операций по управлению циклом

Вызов и использование ранее созданных и отдельно описанных алгоритмов ( подпрограмм)

Источник: studizba.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru