Получить образование или развивать талант

Алгоритм записанный на понятном компьютеру языке программирования это

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

Написанию программы всегда предшествует разработка некоторого плана (алгоритма) решения задачи. Кратко опишем основные понятия теоретической информатики, связанные с алгоритмами.

Получить образование или развивать талант?

Обществознание

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

История

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

Выполнение алгоритмов человеком и компьютером

Формальное выполнение алгоритмов человеком. Исполнитель-человек может выполнять алгоритмы формально, не вникая в содержание поставленной задачи, а только строго выполняя последовательность действий, содержащихся в алгоритме.

Предположим, что пользователю необходимо в текстовом редакторе провести редактирование текста. Создадим алгоритм редактирования, в котором объектом является текст, а исполнителем — человек.

Сначала необходимо задать начальный текст и конечный текст, который должен быть получен после выполнения алгоритма редактирования. Пусть начальным является текст «информационная модель» и курсор находится перед первым символом, а результатом является текст «модель информационная» и курсор находится после последнего символа (рис. 3.4).

Рис. 3.4. Начальное и конечное состояния текста

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

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

1. Выделить символы с 1 по 15.

2. Вырезать этот фрагмент и поместить его в буфер обмена.

3. Установить курсор на позицию после 7-го символа.

4. Вставить вырезанный фрагмент текста.

Теперь пользователь может провести редактирование текста, формально выполнив алгоритм «Редактирование».

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

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

Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

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

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

Одним из первых языков программирования высокого уровня был создан в 1964 году известный всем Бейсик (Basic). Другим широко распространенным языком программирования является Паскаль (Pascal). В настоящее время наибольшей популярностью пользуются «потомки» этих языков — системы объектно-ориентированного визуального программирования Microsoft Visual Basic и Borland Delphi.

1. На каком языке должен быть записан алгоритм, чтобы его мог выполнить человек? Компьютер?

2.2. Задание с развернутым ответом. Составить алгоритм преобразования слова «информатика» в слово «форма».

Контрольные вопросы

1. Подготовьте сообщение о преимуществах машинно-независимых языков программирования перед машинно-зависимыми языками.

2. В чем состоят достоинства и недостатки интерпретаторов и компиляторов?

image

Cкачать материалы урока

Выполнение алгоритмов компьютером (9 класс)

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

Машинный язык.
На заре компьютерной эры, в 40- 50-е годы ХХ века, программы писались на машинном языке и представляли собой очень длинные последовательности нулей и единиц. Составление и отладка таких программ являлись чрезвычайно трудоемким делом. Программы на машинных языках были машинно-зависимыми, т. е . для каждой ЭВМ необходимо было создавать свою собственную программу, так как в ней в явной форме учитывались аппаратные ресурсы ЭВМ.

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

Языки программирования высокого уровня.
С середины 50-х годов ХХ века начали создаваться первые языки программирования высокого уровня. Эти языки были машинно-независимыми, так как использовали универсальную компьютерную логику и не были привязаны к типу ЭВМ. Однако для каждого языка и каждого типа ЭВМ должны были быть разработаны собственные компиляторы, которые загружались в оперативную память. Одним из первых языков программирования высокого уровня был созданный в 1964 году известный всем Бейсик (Basic).

С конца 50-х годов ХХ века начали создаваться языки программирования, которые позволили программистам перейти к структурному программированию. Отличительной чертой этих языков было использование операторов ветвления, выбора и цикла и отказ от хаотического использования оператора goto. Такие языки позволяют легко кодировать основные алгоритмические структуры. Наибольшее влияние на переход к структурному программированию оказал язык ALGOL (АЛГОЛ), а затем Pascal (назван его создателем Виртом в честь великого физика Блеза Паскаля. Компания Microsoft создала язык QBasic, а в настоящее время язык Basic встроен в интегрированную офисную систему OpenOffice.org.

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

Объектно-ориентированные языки.
С 70-х годов ХХ века начали создаваться объектно-ориентированные языки программирования, на которых было удобно программировать в объектно-ориентированном стиле. В основу этих языков были положены программные объекты, которые объединяли данные и методы их обработки. С течением времени для этих языков были созданы интегрированные среды разработки, позволяющие визуально конструировать графический интерфейс приложений:

  • язык Object Pascal был разработан компанией Borland на основе языка Pascal. После создания интегрированной среды разработки система программирования получила название Delphi, а свободно распространяемая версия — Turbo Delphi;
  • язык Visual Basic был создан корпорацией Microsoft на основе языка QBasic для разработки приложений с графическим интерфейсом в среде операционной системы Windows;
  • язык Gambas был создан по аналогии с языком Visual Basic для разработки приложений с графическим интерфейсом в среде операционной системы Linux.

Java.
В 90-е годы ХХ века в связи с бурным развитием Интернета был создан язык Java, обеспечивающий межплатформенную совместимость. На подключенных к Интернету компьютерах с различными операционными системами (Windows, Linux, Mac OS и др.) могли выполняться одни и те же программы. Исходная программа на языке Java компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной.

Платформа .NET.
В настоящее время многие программисты выбирают интегрированную систему программирования Visual Studio .NET, разработанную корпорацией Microsoft. Эта система предоставляет возможность создавать приложения в различных системах объектно-ориентированного программирования, в которых для создания программного кода используются объектно-ориентированные языки программирования (Visual Basic .NET, Visual C#, Visual J#, Turbo Delphi и др.).

История развития языков программирования показана на рисунке ниже:

История развития языков программирования

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

Программы-трансляторы с языков программирования бывают двух типов: интерпретаторы и компиляторы. Интерпретатор — это программа, которая обеспечивает последовательный «перевод» команд программы на машинный язык с одновременным их выполнением. Поэтому при каждом запуске программы на выполнение эта процедура повторяется. Достоинством интерпретаторов является удобство отладки программы (поиска в ней ошибок), так как возможно «пошаговое» ее исполнение, а недостатком — сравнительно малая скорость выполнения.

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

Системы объектно-ориентированного программирования Visual Basic и Gambas позволяют работать как в режиме интерпретатора, так и в режиме компилятора. На этапе разработки и отладки программы используется режим интерпретатора, а для получения готовой исполняемой программы — режим компилятора.

Система алгоритмического программирования OpenOffice.org Basic позволяет работать только в режиме интерпретатора.

Понятие алгоритма. Свойства алгоритма. Исполнители алгоритмов (назначение, среда, режим работы, система команд). Компьютер как формальный исполнитель алгоритмов (программ).

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.

Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач. ). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:
1. Достать ключ из кармана.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
4. Вынуть ключ.

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

Свойства алгоритмов:
1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);
2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);
3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);
4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными);
5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).

Виды алгоритмов:
1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание);
3. Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)
4. Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).

Для более наглядного представления алгоритма широко используется графическая форма — блок-схема, которая составляется из стандартных графических объектов.

Вид стандартного графического объекта

Стадии создания алгоритма:
1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.

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

Исполнитель — объект, который выполняет алгоритм.

Идеальными исполнителями являются машины, роботы, компьютеры.

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

Исполнитель, как и любой объект, находится в определенной среде и может выполнять только допустимые в нем действия. Если исполнитель встретит в алгоритме неизвестную ему команду, то выполнение алгоритма прекратится.

Компьютер – автоматический исполнитель алгоритмов.

Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector