Основные этапы решения задач на компьютере
Содержание
1.... Введение 2
1.1. Общие сведения. 2
1.2. Основные этапы решения задач на компьютере. 3
1.3. Свойства и способы описания алгоритмов. 4
1.4. Система программирования Турбо Паскаль. 5
1.5. Диалоговая среда разработчика Турбо Паскаль. 6
2.... Элементы языка Турбо Паскаль 7
2.1. Алфавит. 7
2.2. Идентификаторы.. 7
2.3. Данные в языке Паскаль. 7
2.3.1. Понятие типа данных в Турбо Паскаль. 7
2.3.2. Простые типы данных. 8
2.3.3. Структурированные типы данных. 9
2.3.4. Указатель (ссылочный тип) 9
2.4. Константы.. 9
2.5. Переменные и типы переменных. 10
2.6. Структура программы на Турбо Паскаль. 12
3.... Выражения 13
3.1. Математические операции. 14
3.2. Логические операции. 14
3.3. Операции отношения. 14
3.4. Приоритет операций. 15
3.5. Основные математические функции (стандартные функции) 15
3.6. Примеры.. 16
3.7. Тип выражения. 17
4.... Виды вычислительных алгоритмов 17
4.1. Линейный вычислительный процесс. 18
4.1.1. Оператор присваивания. 18
4.1.2. Операторы ввода и вывода. 19
4.1.2.1. Вводданных. 19
4.1.2.2. Выводданных. 19
4.1.2.3. Управлениевыводомданных. 20
4.1.2.4. Выводнапечать. 21
4.2. Разветвляющийся вычислительный процесс. 21
4.2.1. Оператор условного перехода. 21
4.2.2. Оператор выбора. 22
4.2.3. Оператор безусловного перехода. 22
4.3. Операторы повторений. 23
4.3.1. Оператор цикла while-do (цикл с предусловием) 23
4.3.2. Оператор цикла repeat-until (цикл с постусловием) 23
4.3.3. Оператор цикла for (цикл с параметром) 24
5.... Массивы. 24
6.... Подпрограммы. 26
6.1. Понятие подпрограммы.. 26
6.2. Подпрограмма–функция. 27
6.3. Подпрограмма–процедура. 28
7.... Создание и отладка компьютерных программ. 30
7.1. Общие сведения. 30
7.2. Система программирования Турбо Паскаль. 30
7.3. Диалоговая среда разработчика Турбо Паскаль. 30
7.4. Основные этапы создания компьютерной программы. 31
7.4.1. Работа в текстовом редакторе среды программирования ТР. 31
7.4.2. Сохранение текста программы на диске. 31
7.4.3. Поиск ошибок в тексте программы. 31
7.4.4. Просмотр результатов выполнения программы: 32
Введение
Общие сведения
Компьютер используется для решения самых разнообразных информационных задач: работа с текстом, создание графических изображений, получение информационной справки из базы данных, табличные расчёты, решение математических задач, расчёт технических конструкций и т.д. Для их решения существует специальное программное обеспечение (ПО): прикладное программное обеспечение (программы, предназначенные для решения узкого класса задач прикладного характера) и системы программирования (средства для создания программ на языках программирования). Пользователь сам решает вопрос о том, каким программным средством воспользоваться. Если в составе прикладного ПО имеется программа, подходящая для решения данной задачи, то пользователь выбирает её (табличный процессор, система управления базами данных, математический или графический пакет и т.д.). В том случае, если готовым прикладным ПО воспользоваться нельзя, то приходится прибегнуть к программированию на алгоритмических языках.
Решение любой задачи начинается с составления алгоритма её решения. Термин происходит от имени арабского математика Мухаммеда бен аль-Хорезми, предложившего в IX веке первые алгоритмы решения задач. Алгоритм – это последовательность действий, направленных на решение поставленной задачи.
Последовательность действий (команд, операторов), предназначенная для выполнения компьютером, называется программой. Программа для компьютера должна быть написана на языке, понятном ему. У компьютера имеется перечень команд, которые он может понять и выполнить. Такой перечень команд называется системой команд компьютера. Компьютер – это электронно-вычислительная машина и систему команд компьютера принято называть языком машинных команд (ЯМК). Программа на ЯМК представляет собой набор двоичных кодов – последовательность нулей и единиц.
Записать алгоритм в виде набора цифр чрезвычайно сложно, поэтому вводится промежуточный этап – разработка текста программы. Совокупность средств и правил представления алгоритма в виде, понятном для компьютера, называется языком программирования. Все языки программирования разделяются на две группы – языки высокого и низкого уровней. Языком самого высокого уровня считается человеческий язык. Языком самого низкого уровня считается язык машинных кодов. Все остальные алгоритмические языки занимают промежуточное положение.
К языкам низкого уровня принадлежат языки семейства ассемблеров и автокод. Ассемблер фактически состоит из набора команд данной машины, записанных в виде сокращений на английском языке. Автокод – вариант ассемблера на основе русского языка. Программы на этих языках почти полностью понятны компьютеру, почти не требуют перевода и практически сразу выполняются компьютером. Но писать программы на языках низкого уровня может только очень квалифицированный программист. Однако программы, написанные на языках низкого уровня, отличаются более высокой скоростью работы, меньшим объёмом и более полным использованием ресурсов.
Языки высокого уровня приближены к человеческому языку, но выполнение алгоритма компьютером тормозится необходимостью предварительного перевода на язык машинных кодов. Примерами таких языков являются Фортран, Паскаль, Бейсик, Си и т.д. программирование на языках высокого уровня проще, чем программирование на языках низкого уровня. Оно не требует глубоких знаний устройства компьютера и доступно неспециалисту.
Создание текста программы на языке программирования выполняется человеком вручную, а перевод текста программы в машинные двоичные коды выполняется специальными компьютерными программами. Для перевода программ с языков высокого уровня на язык машинных команд используются специальные программы, называемые трансляторами, а сам процесс перевода называется трансляцией. Трансляторы подразделяются на две большие группы – интерпретаторы и компиляторы. Компиляторы сначала переводят всю программу в машинные коды и после этого очень быстро исполняют её. Достоинством компиляции является быстрота исполнения, а недостатком – невозможность увидеть промежуточные результаты. Результат выполнения программы мы увидим только после успешной компиляции, а на этапе предварительной подготовки программа-компилятор обычно требует устранить все синтаксические ошибки. Интерпретаторы покомандно переводят программу на язык машинных кодов и тут же исполняют команду. Программа- интерпретатор при обнаружении ошибки прекращает работу и предлагает исправить ошибку. Достоинство интерпретаторов – возможность видеть промежуточные результаты и вносить в исполняемый алгоритм изменения. Недостаток – гораздо более медленная работа по сравнению с компиляторами.
Основные этапы решения задач на компьютере
Работу по решению задачи на компьютере можно разбить на следующие этапы:
· Постановка задачи;
· Математическая формализация;
· Построение алгоритма;
· Программирование, отладка и тестирование программы;
· Проведение расчётов и анализ результатов;
· Документирование.
Постановка задачи. На этапе постановки задачи должно быть определено, что дано и что требуется найти. Постановка задачи включает в себя сбор информации о задаче, формулировку условия задачи, определение конечных целей решения задачи, определение формы выдачи результатов, описание данных (их типов, диапазонов величин, структуры и т.п.). Решение прикладной задачи с помощью компьютера называют моделированием, так как при этом используют упрощённое представление о реальном объекте, процессе или явлении.
Математическая формализация. На этом этапе объект или явление описывается с помощью формального языка (формул, уравнений, неравенств ит.д.). Такой процесс называется формализацией. Результатом формализации является создание математической модели задачи. Создавая математическую модель задачи, нужно определить, что считать исходными данными и результатами, а также описать математические соотношения, связывающие результаты с исходными данными.
Построение алгоритма. Для реализации математической модели на компьютере создаётся алгоритмическая модель. Разработка алгоритма включает в себя структуризацию, т. е разбиение задачи на последовательность простых модулей, каждый из которых легко может быть реализован на языке программирования.
Программирование, отладка и тестирование программы. Программирование – это запись словесного алгоритма, его блок-схемы или псевдокода на выбранном языке программирования. Затем текст программы вводится в компьютер и начинается отладка программы, т.е. процесс испытания работы программы и устранения ошибок и неточностей, допущенных на предыдущих этапах. Обнаружить ошибки, связанные с нарушением правил записи программы на языке программирования (синтаксические и семантические) помогает используемая система программирования. Пользователь получает от системы программирования сообщение об ошибке, исправляет её и снова повторяет попытку исполнить программу. Затем проводится проверка правильности алгоритма с помощью тестов. Тест – это конкретный вариант значений исходных данных, для которых известен ожидаемый результат. На тестах проверяется правильность реализацией программы поставленной задачи.
Проведение расчётов и анализ результатов. На этом этапе программа используется для проведения расчётов с необходимыми исходными данными и получение искомого результатов. Производится анализ полученных результатов и в случае необходимости уточнение математической модели, корректировка алгоритма и программы.
Документирование. Завершающим этапом работы по решению задачи является документирование – т.е. распечатка текста программы, снабжённого необходимыми комментариями автора (листинг).