КОНТРОЛЬНЫЕ ВОПРОСЫ:
1. Что называется пользовательским интерфейсом?
2. Перечислите основные элементы среды программирования Visual Basic?
3. Инструментальные средства панели Visual Basic?
В современном мире человеку приходится решать задачи с использованием компьютера. Решение любой задачи предполагает наличие алгоритма, т.е. точного предписания последовательности действий, приводящих к получению результата. На основе алгоритма составляется программа, т.е. запись алгоритма решения задачи в виде, пригодном для исполнения его на компьютере. Отсюда следует, что сущность процесса решения задачи с помощью компьютера- это разработка алгоритма. Процесс составляется алгоритмических предписаний называется алгоритмизацией. Роль алгоритмизации в жизни современного общества определяется не только техническими аспектами ее использования.
Алгоритмический подход неотделим от повседневной жизни людей, от их обычной работы. В подавляющем большинстве случаев результат деятельности человека зависит от того, насколько четко он знает алгоритмическую сущность своих действий: что делать в каждый момент, в какой последовательности, каким должен быть итог действий. Это в определенной степени зависит от его умения составлять и использовать алгоритмы.
Слово «алгоритм» происходит от algorithmi – латинской формы написания имени великого Среднеазиатского математика IX века ал.- Хорезми, который сформулировал правила выполнения арифметических действий.
Любой человек ежедневно встречается со множеством работ, для выполнения которых существуют определенные правила ( инструкции, предписания) объясняющие, как эту работу осуществить. Исполнителями предписаний могут быть как люди, так и технические устройства- автоматы, роботы, компьютеры.
Понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение указанной цели, называется алгоритмом.
Предписания алгоритма называются также командами.
Каждый алгоритм рассчитан на определенного исполнителя, на понимание исполнителем команд данного алгоритма. Совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя.
Исполнитель алгоритма- это объект или субъект, для управления которым составлен алгоритм.
При разработке алгоритмов должны учитываться следующие требования:
1. Алгоритм должен быть разбит на отдельные шаги, представляющие собой четкие, законченные действия. Переход исполнителя к следующему шагу возможен лишь после завершения предыдущего. Свойство алгоритма состоять из отдельных шагов называется дискретностью.
2. Каждое предписание алгоритма или его команда должны быть понятны исполнителю, т.е. однозначно им истолкованы, и при одних и тех же исходных данных приводить к одним и тем же результатам. Это свойство алгоритма называется определенностью.
3. Возможности алгоритма решать не одну конкретную задачу, а целый класс однотипных задач. Например алгоритм решения квадратного уравнения позволяет находить его корна при любых значениях коэффициентов, а правила дорожного движения едины для всех. Данное свойство алгоритма называется массовостью.
4. Результативности. Не каждый перечень четко определенных действий приводит к результату. Например существует стратегия беспроигрышной игры в шахматы, на осуществление которой требуется 10120 ходов, которые практические человек не сможет осуществить за всю свою жизнь. Для исполнителя перечень действий, которые он выполняет, будет являться алгоритмом, если они приводят к решению задачи за разумное время.
Таким образом, алгоритм обладает следующими свойствами: дискретностью, определенностью, массовостью, результативностью.
Построение алгоритма для решения задач из какой-либо области требует от человека тщательного анализа поставленной задачи, глубоких знаний, сложных рассуждений. На поиск алгоритмов решения некоторых научных и инженерных задач иногда уходят многие годы. Но если алгоритм создан, решение задачи по данному алгоритму не представляет больших сложностей, а требует лишь выполнения отдельных команд алгоритма в той последовательности, в какой они приведены. Это очень важная особенность алгоритма, которая позволяет исполнителю действовать формально, механически исполняя команды. Алгоритм- одно из фундаментальных понятий информатики
Именно формальность исполнения алгоритма позволяет применить в качестве исполнителей машины, технические устройства.
Если рассматривать структуру построения алгоритмов, то можно выделить три основных типа их построения: линейный, разветвляющийся, циклический.
Линейным называется алгоритм, при выполнении которого исполнитель выполняет одну команду за другой в порядке их следования.
Разветвляющимся называется алгоритм, при выполнении которого действия исполнителя определяются результатами проверки некоторых условий.
Алгоритм, при исполнении которого отдельные команды или группы команд повторяются многократно, называется циклическим.
В реальности большинство алгоритмов содержат в себе эти три структуры.
Компьютер, как мы знаем, может обрабатывать числовые, текстовые, графические, звуковые данные.
Данные, которые обрабатываются командами языка программировании, носят название величин. Величины могут быть числовыми ( целые, вещественные), символьными и логическими. Величина характеризуется именем, типом и значением. Например, данным 25,1.0134, « Я изучаю информатику» мы можем придать имена: 25 обозначить как N , 1.0134 обозначить как В2, « Я изучаю информатику» присвоить имя С, при этом сказать, что значение N целое число, значение В2 вещественное, значение С текстовое или литерное.
Придание имен величинам или данным имеет ещѐ и другой смысл, связанный с однозначным определением места хранения данных в памяти компьютера и последующего их нахождения. Слова, употребляемые в алгоритмах обработки данных, такие как: «данные», «список данных», «величины», «список величин», « переменные», «список переменных, «параметры», «список параметров» идентичны по своему смыслу.
Существует, различные формы представления алгоритмов основными среди них являются:
Словесное писание алгоритма на естественном языке (вербальная форма):
Построчная запись алгоритма:
Блок схема:
Запись на каком-либо языке программирования.
Рассмотрим особенности каждой из названых форм и в качестве примера представим в каждой форме один и тот же алгоритмов для определения наибольшего общего делителя (НОД) двух цельных положительных чисел (алгоритм Евклида).
Словесное описание.
Словесное описание имеет минимум ограничений и является самым неформализованным. Однако при этом алгоритм получается и наименее строгим, допускающим появлением неопределѐнностей. Алгоритм в вербальной форме может оказаться очень объѐмным и трудным для восприятия человеком.
Например, если числа равны, НОД равен одному из них. В противном случае надо из большого числа вычесть меньшее, полученную разность запомнить вместо значения большого числа и повторить все сначала.
Построчная запись алгоритма. Это запись на естественом языке, но с соблюдением некоторых дополнительных правил. Сформулируем эти правила.
1: Шаги (предписания) алгоритма нумеруются.
2: Исполнение алгоритма происходят в порядке возрастания номеров шагов, начиная с первого(если не встречается не каких специальных указаний ) .
3: Типичными шагами алгоритма являются: учение (ввод) данных. Которые записываются в виде чтения А,В,…, где А,В,…- обозначения исходных данных: обработка данных (вычисления) по формулах записанная в виде V=…, где V- переменная, значения которой определяется как результат, полученные после выполнения операций, указывает в правой части. По существу, знак «=» обозначает специальную операцию, которая называется присваиванием; сообщение (выход) результата, который имеет вид Запись х,у…,
где х,у…- обозначение переменных, значения которых необходимо узнать;
проверка условия, запись которого. Если … идти к N, где в место многоточия записывается условие, при выполнение которого осуществляется переход к шагу с номером N (если условиие не выполняется, то производится переход к следующему по порядку шагу); переход к шагу с номером N: идти к N: конец вычислений Останов.
Пример: 1 Чтение А, В
Если А=В идти к 8
Если А=В идти к 6
В=В-А
Идти к 2
А=А-В
Идти к2
НОД=А
Запись НОД
Останов
Построчная запись алгоритма позволяет избежать неопределенностей в алгоритм, не требует, по существу , никаких специальных знаний (понимание правил, перечисленных выше, трудности не составляет) и в то же время обеспечивает отработку навыков логически строгого изложения хода решения задачи (последовательности вычислений, возможных вариантов перехода к различным шагам алгоритма и т.д.) и облегчает и изучает последующее изучение алгоритмических языков. Однако построчное запись алгоритма воспринимается человеком тяжело и требует большого внимания и изучение (или записи) алгоритмов в этой форме представлении.
Изображение алгоритма в виде блок схема отличается высокой степенью наглядностью. Блок схема состоит из соеденѐных между собой стрелками (линиями потока) блока различного вида и необходимого количества комментарием. Выполнение алгоритма всегда начиниется с блока начала и оканчивается при попадании на блок конца. Порядок вычисления определяется стрелками. В блоке обработке данных содержится описание тех действий, которые должны быить выполнены над объектами при попадании на этот блок по входящим в него стрелке. Здесь вычисляется выражение и присваивается новые значение переменным. Проверка условия изображается с помощью блока принимается решение, в нутри которого записывается это условие. В результате проверки выбирается одна из двух стрелок, определяющая направление дальнейщых вычислений. Внутри блока ввода или выхода пишетмя (необязательно) слово «ввод» или «выход» и перечесляются переменые, значения которых долджны быть введены или в даном месте схемы. Комментарий используются в тех случаях, когда пояснение не помещается внутри блока. Совокупность комментариев должна делать блок-схему понятной для любого пользователя .