
- •Понятие алгоритма. Исполнитель алгоритма Основным в процессе программирования является разработка алгоритма. Это один из наиболее сложных этапов решения задачи с использованием эвм.
- •3. Свойства алгоритма
- •Если для данной задачи невозможно составить алгоритм, обладающий данными свойствами, то задача является алгоритмически неразрешимой и она не может быть решена на эвм.
- •4. Формы записи алгоритма
- •5. Виды алгоритмов
- •Модульный метод (модульная технология)
- •6. Уровни языков программирования
- •7. Технологии программирования
- •8. Компоненты и основные понятия языка программирования. Компоненты языка программирования:
- •Основные понятия языка программирования
Основы алгоритмизации. Языки программирования.
1. Этапы решения задачи на ЭВМ.
2. Понятие алгоритма. Исполнитель алгоритма.
3. Свойства алгоритма.
4. Формы записи алгоритма.
5. Виды алгоритмов.
6. Уровни языков программирования.
7. Технологии программирования.
8. Компоненты и основные понятия языка программирования.
9. Системы программирования.
1. Этапы решения задачи на ЭВМ
Решение задач на ЭВМ представляет собой сложный процесс, включающий несколько этапов
Этапы:
Постановка задачи - составление точного и понятного словесного описания того, как должна работать будущая программа, что должен делать пользователь в процессе ее работы.
Математическая формулировка – запись условия задачи с помощью математических обозначений, формул, зависимостей, в определении исходных данных и формы выдачи результатов вычислений. Задача должна быть сформулирована четко и однозначно.
Выбор метода решения – определяет численный математический метод, позволяющий свести решение к последовательному выполнению 4-х арифметических операций. Одна и та же задача может решаться несколькими численными методами, которые являются предметом области математики – вычислительная математика. На этом этапе выбирается метод, который наилучшим образом обеспечит выполнение требований поставленной задачи.
Составление алгоритма – устанавливается необходимая последовательность арифметических и логических действий, с помощью которых может быть реализован выбранный численный метод..
Программирование (составление программы) - создание программного кода на языке программирования. Язык программирования – совокупность символов и правил их использования для описания процессов решения задачи на ЭВМ. Программа пишется вручную, текст вводится в ЭВМ и обрабатывается специальной программой – транслятором (переводит исходный текст программы на внутренний язык машины): компилятор и интерпретатор.
Отладка программы – выявление ошибок в программе, допущенных на предыдущих этапах. Транслятор обнаруживает синтаксические ошибки (ошибки времени трансляции), указывая их тип и место в программе.
Существуют логические ошибки выбранного алгоритма (алгоритмические). Для их выявления и устранения используется тестирование программы - проверка правильности ее работы. Это выявляется путем сравнения полученных результатов, рассчитанных вручную и на ЭВМ.
Процесс тестирования можно разделить на три этапа.
1. Проверка в нормальных условиях. Предполагает тестирование на основе данных, которые характерны для реальных условий функционирования программы.
2. Проверка в экстремальных условиях. Тестовые данные включают граничные значения области изменения входных переменных, которые должны восприниматься программой как правильные данные. Типичными примерами таких значений являются очень маленькие или очень большие числа и отсутствие данных. Еще один тип экстремальных условий — это граничные объемы данных, когда массивы состоят из слишком малого или слишком большого числа элементов.
3. Проверка в исключительных ситуациях. Проводится с использованием данных, значения которых лежат за пределами допустимой области изменений. Известно, что все программы разрабатываются в расчете на обработку какого-то ограниченного набора данных. Поэтому важно получить ответ на следующие вопросы: — что произойдет, если программе, не расчитанной на обработку отрицательных и нулевых значений переменных, в результате какой-либо ошибки придется иметь дело как раз с такими данными? — как будет вести себя программа, работающая с массивами, если количество их элементов превысит величину, указанную в объявлении массива? — что произойдет, если числа будут слишком малыми или слишком большими?
Наихудшая ситуация складывается тогда, когда программа воспринимает неверные данные как правильные и выдает неверный, но правдоподобный результат.
Программа должна сама отвергать любые данные, которые она не в состоянии обрaбатывать правильно.
Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.
Сопровождение программы - это работы, связанные с обслуживанием программ в процессе их эксплуатации. Сюда относится составление документации к решенной задаче, к математической модели, к алгоритму, к пpогpамме, к набору тестов, к использованию.
Понятие алгоритма. Исполнитель алгоритма Основным в процессе программирования является разработка алгоритма. Это один из наиболее сложных этапов решения задачи с использованием эвм.
Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Название "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.
Человек ежедневно встречается с необходимостью следовать тем или иным правилам, выполнять различные инструкции и указания. Например, переходя через дорогу на перекрестке без светофора надо сначала посмотреть направо. Если машин нет, то перейти полдороги, а если машины есть, ждать, пока они пройдут, затем перейти полдороги. После этого посмотреть налево и, если машин нет, то перейти дорогу до конца, а если машины есть, ждать, пока они пройдут, а затем перейти дорогу до конца.
В математике для решения типовых задач мы используем определенные правила, описывающие последовательности действий. Например, правила сложения дробных чисел, решения квадратных уравнений и т. д. Обычно любые инструкции и правила представляют собой последовательность действий, которые необходимо выполнить в определенном порядке. Для решения задачи надо знать, что дано, что следует получить и какие действия и в каком порядке следует для этого выполнить. Предписание, определяющее порядок выполнения действий над данными с целью получения искомых результатов, и есть алгоритм.
Алгоритм — заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов. |
Алгоритм - это точное предписание, определяющее последовательность действий, обеспечивающее получение требуемого результата из исходных данных.
Алгоритм – конечная последовательность строго очерченных правил, на основании исходных данных, приводящих к однозначному решению задачи.
Например, алгоритм заварки чая может выглядеть следующим образом: Проверка наличия заварки, воды, ёмкости для кипячения чая, ёмкости для заваривания чая, мерную ложечку, нагревательный прибор. Налить в ёмкость для кипячения воды, воды объёмом 3/4 ёмкости. C помощью нагревательного прибора довести воду до кипения. В ёмкость для заваривания чая мерной ложкой насыпать заварку в необходимых пропорциях (2 ч. л. на стакан воды) Залить кипяток в ёмкость для заваривания чая в выбранных пропорциях.
Создание алгоритма доступно исключительно живым существам, а долгое время считалось, что только человеку. Другое дело - реализация уже имеющегося алгоритма. Её можно поручить субъекту или объекту, который не обязан вникать в существо дела, а возможно, и не способен его понять. Такой субъект или объект принято называть формальным исполнителем.
Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.
Примером может служить стиральная машина - автомат, которая неукоснительно исполняет предписанные ей действия, даже если вы забыли положить в неё бельё или насыпать стиральный парашёк. Человек тоже нередко выступает в роли формального исполнителя, иногда это жизненно необходимо - легко представить себе возможные последствие, если, скажем, электромонтёр, пренебрегая требованиям инструкции, приступит к ремонту электропроводки, не отключив предварительно ток. Но в первую очередь формальными исполнителями являются различные автоматические устройства, и компьютер в том числе.
Исполнителя хаpактеpизуют:
сpеда;
элементаpные действия;
cистема команд;
отказы.
Сpеда (или обстановка) — это "место обитания" исполнителя.
Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаны pезультаты выполнения команды.
После вызова команды исполнитель совеpшает соответствующее элементаpное действие.
Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды
Классификация алгоритмов.
Основные формы использования алгоритмов:
Автономный алгоритм определяется решаемой задачей, структурой используемых данных, структурой логических связей частей (модулей) алгоритма и языком псевдокодов, на котором представлен, описан алгоритм.
Библиотека алгоритмов определяется множеством задач, решаемых с помощью библиотеки, множеством алгоритмов для решения типовых задач некоторой предметной области и структурой используемых данных.
Пакет алгоритмов, как и библиотека, определяется множеством задач, решаемых с помощью пакета, множеством алгоритмов для решения типовых задач или их составных частей из некоторой предметной области, структурой используемых данных и обменов данными между задачами (модулями), специальным языком, на котором формулируется задание (последовательность этапов решаемой задачи, последовательность задач задания).