Начала программирования.Введение.Чтобы решить поставленную задачу, часто приходится действовать по определенному плану. Более того, основная сложность решения некоторых задач и состоит именно в разработке последовательного плана действий. В полной мере это относится и к составлению программ для решения задач с помощью компьютера. Давайте попробуем решить задачу, суть которой - составление плана действий при наличии некоторых заданных ограничений. Задача 1.Человеку необходимо переправить через реку волка, козу и капусту. Но в лодке помещается только человек, а с ним или волк, или коза, или капуста. Нельзя оставлять на берегу без присмотра волка с козой или козу с капустой(съедят). Как переправиться ? Задача 2.Есть 3-х литровая банка и ведро на 8 литров. Как с помощью этих двух емкостей налить в бочку 7 литров воды из водопроводного крана. Как налить 10 литров воды ? После решения этих задач программирование уже не покажется вам таким уж сложным занятием. Составляя программы для решения задач на компьютере, также приходится выстраивать последовательность необходимых действий. При том могут присутствовать разного рода ограничения. При этом для достижения желаемого результата план действий должен также рассматривать все возможные случаи значений исходных данных задачи. Таким образом, мы приходим к понятию алгоритма как способа описания последовательности действий для решения поставленной задачи, для получения нужного результата. Разбиение решения задачи на последовательность отдельных элементарных шагов называют алгоритмическим подходом к решению. Зная как выполнить каждый из элементарных шагов и как объединить эти шаги в единый алгоритм, мы можем получить решение исходной задачи. Помимо разработки общего алгоритма решения в программировании существенную роль играет техника составления простейших программ , из которых складываются большие программы. Поэтому мы начинаем с простейшего программирования, как в начальной школе дети начинают с тренировки в написании отдельных букв. Алгоритмические языки.Итак, пришло время составлять настоящие программы. С чего начать? Вы уже знаете, что процессор компьютера может выполнять только те команды, которые ему знакомы. Эти команды представляются двоичным кодом. Таким образом, если создать файл с нужной последовательностью двоичных кодов, то потом, запустив этот файл на выполнение, можно выполнить программу. Правда, создать такой файл вручную — дело почти безнадежное. Даже для самых простых алгоритмов получится громоздкий и непонятный код. В нем практически невозможно разобраться, можно допустить ошибки, которые будет трудно отыскать. Запомнить двоичные коды команд тоже непросто, а выстроить их в нужную для решения задачи последовательность еще сложнее. Поэтому для блегчения программирования разработаны специальные языки для записи алгоритмов в более привычной для человека форме. Они называются алгоритмическими языками или языками программирования. Программист с помощью текстового редактора создает файл с текстом программы, записанной на алгоритмическом языке. Но чтобы получить готовую для выполнения программу, этот текст нужно преобразовать в коды команд процессора. Алгоритмические языки устроены так, что каждому предложению этого языка соответствует совершенно определенная последовательность команд процессора. Таким образом, перевод программы на язык машинных команд становится чисто техническим делом и его можно поручить самому компьютеру. Для такого преобразования служат специальные программы-переводчики, их так и называют — компиляторы и трансляторы (от английских слов translate — переводить, compile — составлять). С момента появления первых вычислительных машин было придумано много разных алгоритмических языков. Их разнообразие обусловлено желанием сделать запись алгоритмов как можно более удобной для человека, решающего те или иные конкретные задачи. Так, алгоритмические языки для вычислительных задач позволяют легко программировать расчеты по сложным формулам, языки для обработки экономической информации — удобно работать с таблицами и файлами, языки для разработки программ операционных систем — эффективно анализировать и обслуживать работу различных устройств компьютера.
|
||
Оглавление.
|