Электронная библиотека
Форум - Здоровый образ жизни
Саморазвитие, Поиск книг Обсуждение прочитанных книг и статей,
Консультации специалистов:
Рэйки; Космоэнергетика; Биоэнергетика; Йога; Практическая Философия и Психология; Здоровое питание; В гостях у астролога; Осознанное существование; Фэн-Шуй; Вредные привычки Эзотерика


Для_распечатки

Оглавление

Предисловие

В настоящем пособии по дисциплине «Программирование», адресуемом студентам, обучающимся по специальности 3514.00 «Прикладная информатика (по областям)», а также преподавателям, рассматриваются вопросы алгоритмизации и программирования на языке Turbo Pascal.

Пособие состоит из двух глав.

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

Во второй главе рассматривается вопрос написания программ на языке программирования Turbo Pascal версии 7.0. Дано обоснование выбора языка, описана структура программы, структура данных, операторы языка, рассмотрены приемы программирования на конкретных примерах, описано главное меню интегрированной среды разработки программ на языке Turbo Pascal и действия, производимые «горячими» клавишами.

Для студентов, обучающихся по программе дистанционного обучения объем первого семестра включает материал, изложенный в Главе 1 Основы алгоритмизации и часть материала Главы 2 Языки программирования до подраздела Массивы. Также к материалу, изучаемому в первом семестре, относится подраздел Интегрированная среда разработки на языке Турбо Паскаль.

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

В процессе изучения материала следует обратить особое внимание на вопросы, предложенные в подразделах Контрольные вопросы. Ответы на них конспектировать необязательно, но для правильного и полного восприятия материала все они должны быть проработаны студентами в полном объеме. Ответы на эти вопросы не должны вызывать затруднений у студентов. Знание теоретических вопросов проверяется в процессе сдачи зачета и экзамена.

Глава 1. Основы алгоритмизации

1.1. Алгоритм. Свойства алгоритма

Современные компьютеры являются программно-управляемыми. Программист составляет программу и помещает ее в память машины, а остальное - собственно решение задачи - компьютер делает автоматически, без участия человека.

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

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

Что же такое алгоритм?

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

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

Например, для получения чашки кофе, можно руководствоваться следующей последовательностью указаний.

  1. Взять чашку.

  2. Взять чайную ложку.

  3. Открыть банку с растворимым кофе.

  4. Положить в чашку одну чайную ложку кофе.

  5. Открыть сахарницу.

  6. Положить в чашку одну чайную ложку сахара.

  7. Перемешать сахар и кофе в чашке.

  8. Долить в чашку горячей воды.

  9. Размешать ложкой полученную смесь.

Аналогичным образом могут быть описаны алгоритмы решения и других приведенных выше задач.

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

Разработка алгоритма является составной частью процесса полного решения задачи на компьютере.

Основные этапы процесса решения задачи на ЭВМ включают:

  • постановку задачи,

  • построение математической модели,

  • разработку алгоритма,

  • составление программы,

  • реализацию программы на ЭВМ,

  • анализ результатов (интерпретацию).

Понятие «алгоритм» впервые применил в ?? веке арабский математик аль-Хорезм. Он описал правила выполнения основных арифметических действий в десятичной системе счисления. Сейчас эти алгоритмы изучаются в начальных разделах математики.

Алгоритмизация - это составление алгоритмических предписаний, выполнение которых обеспечивает решение поставленной задачи.

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

Свойства, которым должны удовлетворять любые алгоритмы:

  • дискретность (последовательность определенных шагов)

  • понятность (ориентация на определенного исполнителя)

  • определенность (предписания должны пониматься однозначно)

  • массовость (обеспечение решения широкого класса задач данного типа)

  • результативность (получение определенного ответа на вопрос за конечное число шагов).

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

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

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

Понятность. Записи алгоритмов на практике всегда составляются с ориентацией на определенного исполнителя. Для этого нужно знать, какие предписания этот исполнитель может понять и исполнить, а какие не может. Такой перечень называют системой предписаний (системой команд) исполнителя алгоритмов.

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

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

Определенность (детерминированность). Алгоритм не должен содержать предписаний, смысл которых может трактоваться неоднозначно. Это означает, что после исполнения одного предписания разными исполнителями, всякий раз должен получаться один результат. Запись алгоритма должна быть настолько четкой, полной и продуманной в деталях, чтобы у исполнителя не возникало потребности в принятии самостоятельных решений, не предусмотренных разработчиком алгоритма. В алгоритмах не должно встречаться предписаний типа «Взять две-три ложки сахара» или «Разделить X на одно из двух данных чисел A или B». Кроме того, в алгоритмах недопустимы ситуации, когда после выполнения одного предписания, неясно, какое предписание должно выполняться на следующем шаге.

Массовость. Алгоритмы должны обеспечивать решение широкого класса задач данного типа. Это означает, что алгоритм решения уравнения А=Х2 может применяться не для одного конкретного значения Х, а для любого значения Х.

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

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

Известны алгоритмы следующих типов:

  • линейные алгоритмы - с их помощью реализуются решения задач типа:

Наш сайт является помещением библиотеки. На основании Федерального закона Российской федерации "Об авторском и смежных правах" (в ред. Федеральных законов от 19.07.1995 N 110-ФЗ, от 20.07.2004 N 72-ФЗ) копирование, сохранение на жестком диске или иной способ сохранения произведений размещенных на данной библиотеке категорически запрешен. Все материалы представлены исключительно в ознакомительных целях.

Copyright © UniversalInternetLibrary.ru - электронные книги бесплатно