Программа это набор машинных команд которые следует выполнить компьютеру
Программа на машинном языке состоит из машинных команд - элементарных инструкций машине, выполняемых ею автоматически без каких либо дополнительных указаний. Машинная команда состоит из двух частей – операционной и адресной. Операционная часть – это группа разрядов в команде, предназначенная для представления кода операции машины. Адресная часть – это группа разрядов в команде, в которой записываются коды адреса ячеек памяти машины, предназначенных для оперативного хранения информации, т.е. которые задействованы во время выполнения команды.
- например, так выглядит машинная команда для нахождения суммы двух чисел.
Первым программистом в мире называют Аду Лавлейс, современницу Чарльза Беббиджа, которая по достоинству оценила достоинства вычислительной машины и разработала некоторые приемы управления последовательностью вычислений, например описала конструкцию цикл. На заре компьютерной эры машинный код (программа, написанная с помощью лишь двух символов 0 и 1) был единственным средством общения человека с компьютером. Революционным моментом в истории языков программирования стало появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли, сотрудником Пенсильванского университета в середине прошлого века. Так зародились языки программирования. Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его компании – Грейс Хоппер, которая по праву считала себя третьим программистом и посвятила всю свою жизнь компьютерам и программированию.. Огромным достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. Т.е. были созданы компиляторы с созданных ими пока еще примитивных языков высокого уровня в машинные коды. В этих программах содержатся все правила и конструкции соответствующего языка программирования, а также способы преобразований этих конструкций на машинный язык.
Хоппер объясняла необходимость появления такой системы тем, что существует большое множество людей, которые хотят решать различные задачи, но нет смысла превращать их всех в математиков. Стали появляться новые языки со своими компиляторами:
50-е – КОБОЛ (для обработки коммерческих данных),
54 г. - Фортран (FORmula TRANslator) – фирма IBM
середина 60-х – BASIC (из простых английских слов)
60-е - PL/1, АЛГОЛ-68.
Языки программирования служат разным целям и их выбор определяется удобностью пользователя, пригодностью для данного компьютера и данной задачи. Период с конца 60-х до начала 80-х характеризовался бурным ростом числа различных языков, который завершился победой нескольких языков: Паскаль, Си, Бейсик, которые легко приспособились к персональным компьютерам.
Классическое операционное или процедурное программирование требует от программиста детального описания того, как решать задачу, т.е. формулировки алгоритма и его специальной записи. Основные понятия этих групп – оператор и данные. Принципиально иное направление в программировании связано с методологиями непроцедурного программирования. К нему относится объектно-ориентированное программирование, наиболее предпочтительными из них являются Си++, Delphi (на основе Паскаля) и Visual Basic. Каждый язык программирования высокого уровня имеет свой алфавит и синтаксис.
Чтобы решить какую-либо задачу с помощью компьютера, в него следует ввести четко сформулированные инструкции или команды. Составление такой последовательности команд, которая необходима для решения поставленной задачи, и является целью программирования [1,2].
Практически в любой задаче имеются исходные данные, по которым нужно получить результат. Они перерабатываются компьютером по определенным правилам – алгоритму обработки.
Алгоритм - это описание последовательности действий, выполнение которых необходимо для решения задачи. Иначе говоря, алгоритм описывает последовательность действий, ведущих от исходных данных к искомому результату.
Разработка алгоритма решения задачи осуществляется путем ее разбиения на шаги (или этапы), которые выполняются последовательно. При разработке алгоритма необходимо указать содержание всех шагов, а также порядок их выполнения.
Программа – это алгоритм, по которому компьютер обрабатывает информацию. Она представляет собой набор команд или инструкций, которые должен выполнить процессор для решения конкретной задачи.
Современные компьютеры пока не приспособлены к выполнению команд, составленных на разговорном языке, например, на русском или английском. Поэтому при составлении программ используются специальные языки программирования, называемые алгоритмическими. Команда на выполнение в алгоритмических языках носит название оператора. Составляя программу на алгоритмическом языке, необходимо тщательно придерживаться его правил. Никакие ошибки или описки в программе недопустимы, каждая языковая конструкция интерпретируется однозначно и разночтения здесь исключены.
В настоящий момент существуют много языков программирования и их реализаций. Приведем классификацию языков программирования по их уровню.
Как известно, ядром любой вычислительной системы является центральный процессор (в персональном компьютере – микропроцессор), который оперирует исключительно двоичными данными [1]. Чтобы процессор смог выполнить любую команду, она должна быть представлена в виде двоичного числа. Процессор может выполнять только самые элементарные с точки зрения человека команды: сдвиг двоичного числа на несколько разрядов вправо или влево, обмен данными между внутренним регистром и памятью. Набор двоичных кодов, которые может выполнять процессор, называют машинным кодом. Машинный код – это базовый язык процессора.
Программирование в машинных кодах называют программированием на языке нижнего уровня. Такое программирование – очень сложная задача. Более того, машинный код у разных процессоров разный. Это означает, что программа, написанная в машинном коде для компьютеров типа IBM PC, не будет работать на компьютерах Macintosh и наоборот. Но сейчас программистами машинный код практически не используется, а применяются языки высокого уровня. Разработанные с их помощью программы представляют собой набор команд, написанных на ограниченном естественном языке.
Развитие языков программирования, да и всего программирования в целом, характеризуется общей тенденцией повышения их уровня. В таблице 1.1 приведена характеристика языков программирования по их уровню. При этом машинные языки, ассемблеры, макроассемблеры относятся к языкам нижнего уровня. К языкам высокого уровня относятся такие наиболее распространенные процедурные языки, как Visual Basic, Delphi (Pascal), C++.
Машинные языки | Машинно-зависимые, быстрые, сложные для освоения, требуют хорошего знания архитектуры ЭВМ |
Ассемблеры, макроассемблеры | Более удобные для использования, быстрые, машинно-зависимые |
Языки высокого уровня | Мобильные, человекоориентированные, проще в освоении, более медленные |
Программу, написанную на алгоритмическом языке программирования, компьютер не может выполнить непосредственно. Поэтому нужен "посредник" для перевода ее на машинный язык (код) конкретной ЭВМ. Таким "посредником" является специальная программа, которая называется транслятором.
Существует два вида трансляторов: компилятор и интерпретатор.
Компилятор – переводит всю исходную программу на языке программирования в программу на машинном коде и программа выполняется.
Интерпретатор – переводит исходную программу на языке программирования пооператорно (покомандно) и каждый переведенный оператор выполняется.
Полученную программу на машинном коде обычно называют исполняемый код программы или исполняемый файл.
При написании компьютерной программы очень важно придерживаться структурированного подхода. Это означает, что действия по созданию программы должны быть выполнены в определенном порядке, то есть:
создать общую структурную схему программы (до мельчайших подробностей продумать, что программа должна делать, составить описание основных функций программы, разработать алгоритм).
1. разработать схему пользовательского интерфейса.
2. написать программный код.
3. выполнить отладку и тестирование программы.
4. написать документацию к программе и создать исполняемый код программы.
Если предстоит реализовать крупный проект, то надо разбить его на небольшие, функционально законченные части (модули).
Программа– это набор машинных команд, которые следует выполнить компьютеру дляреализации того или иного алгоритма.
Иными словами, программа – это форма представления алгоритма для исполнения его машиной.
Под языком программирования (ЯП) понимают совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера.
Команды на языке программирования называются операторами
Чтобы начать работу с QBasic, надо запустить программу QBasic.exe.
(Команда: Пуск→Мой компьютер→Локальный диск С→папка Qbasic→файл QB)
После запуска Q Basic на экране появится окно:
Для перехода на русский язык предназначено правое сочетание клавиш Ctrl+Shift,на английский– левое сочетание клавиш Ctrl+Shift
Алфавит QBasic содержит в себе следующие символы:
1. заглавные буквы латинского алфавита;
2. арабские цифры;
4. знаки арифметических операций: +, -, *, / (деление), ^ (возведение в степень), \ (деление нацело), «МОД» (деление по модулю);
5. знаки операций отношений: >, (не равно), > =,< =.
Если необходимо вычислить значение арифметического выражения или нескольких арифметических выражений, то необязательно составлять программу. Можно использовать ЭВМ в режиме непосредственного счета.
Для этого не нужно делать никаких специальных переходов, потому что при включении ЭВМ находится в этом режиме.
Для того чтобы произвести вычисления, достаточно после оператора PRINT набрать нужное выражение.
ПРИМЕР:Нахождение значения арифметического выражения в QBasic будет выглядеть следующим образом–
PRINT 23*456-12/35+ SQR(56)
После запуска программы на исполнение нажатием клавиши F5 будет получено значение данного арифметического выражения: 10495.14.
Оператор PRINT в QBasic предназначен для вывода данных на экран. Если после оператора PRINT взять любую последовательность символов в кавычки, то эта последовательность и будет выведена на экран.
Структурное программирование основывается на двух важнейших принципах:
· последовательной детализации алгоритма;
· использовании набора базовых структур (отсюда и название метода) для построения алгоритма любой степени сложности.
В теории структурного программирования доказывается, что алгоритм любой степени сложности можно построить с помощью следующих базовых структур:
· линейной (последовательной) структуры;
· разветвляющейся (ветвящейся) структуры;
Каждая из этих структур имеет только один вход и только один выход, что позволяет соединять между собой в процессе разработки алгоритма любое количество элементов базовых структур в необходимом для решения задачи порядке. Сложные для понимания и реализации блоки заменяют на последовательность более простых базовых конструкций. При этом количество шагов детализации алгоритма в принципе не ограничено. Структурное программирование широко применяется, поскольку созданы специальные языки программирования, например Паскаль или версии Бейсика (QBasic) позволяющие структурировать программу.
Метод структурного программирования дает возможность решать сложные задачи в самых разных областях профессиональной деятельности.
Языки программирования. Компиляция и интерпретация
Программа – это набор машинных команд, которые следует выполнить компьютеру для реализации того или иного алгоритма.Иными словами,программа – это форма представления алгоритма для исполнения его машиной.
При таком подходе необходимо:
o создать строгую систему условных обозначений для записи команд в понятной для человека форме (язык программирования),
o создать программу-посредника, которая переводила бы такие команды на язык, понятный машине.
После этого на языке программирования можно писать множество программ, пользуясь единственной программой-переводчиком. «Грамматические» правила языка программирования формулируются предельно четко и не допускают вольного расположения отдельных элементов команды и знаков препинания (иначе программа-посредник «не поймет» ваши указания). Каждая команда имеет строго определенный синтаксис (правила записи). Например, если установлено, что условие «если» надо писать по-английски (if) и после условия (a[i]>m) нельзя ставить запятую, то всякая иная запись такой команды будет воспринята программой-посредником как ошибка.
Команды на языке программирования часто называют операторами или инструкциями. Операнд – это элемент, над которыми выполняются действия операторов. Последовательность таких команд, реализующих тот или иной алгоритм, называют программой на исходном языке или просто исходным текстом. Кроме исходного текста, конкретная программа может иметь еще и машинный код, который непосредственно исполняется на машине. Исходные тексты помещают в текстовые файлы. Существует два типа программ-посредников, работающих с исходными текстами: компилятор и интерпретатор.
Программа-компилятор (от слова compile– составлять, собирать) переводит исходный текст в машинный код и записывает его на диск в форме исполняемого (загрузочного) файла. После этого программа выполняется независимо от исходного текста. Раньше программы-компиляторы называли– трансляторами (переводчиками).
Программа-интерпретатор всегда работает совместно с исходным текстом. Она разбирает каждую команду исходного текста (интерпретирует ее) и немедленно исполняет т.е. файл на машинном языке не создается. Программа в режиме интерпретации работает гораздо медленнее, чем такая же программа в машинном коде. Это связано с тем, что каждую инструкцию приходится разбирать во время выполнения, а не заранее, как при компиляции. Многие инструкции в программе выполняются многократно, – и при каждом выполнении интерпретируются заново. Поэтому всюду, где возможно, стремятся заменить режим интерпретации режимом компиляции. Правда, интерпретация имеет и свои преимущества: с ее помощью проще отлаживать программу. Иногда пользуются режимом «псевдокомпиляции»: ускоряют интерпретацию за счет предварительного запоминания тех или иных элементов разобранных команд в памяти машины.
В настоящее время машинные коды не используются, и каждая программа для компьютера составляется на том или ином языке программирования. Существует очень много языков, все они, как правило, содержат средства описания данных, арифметические операторы (подобные с = а+b), средства управления и организации циклов, средства ввода и вывода информации.
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
311 лекций для учителей,
воспитателей и психологов
Получите свидетельство
о просмотре прямо сейчас!
Практическая работа №12
Тема: Компьютер-исполнитель команд. Программный принцип работы компьютера
- образовательные: познакомить с исполнителями алгоритма, с программным принципом работы компьютера.
- развивающая: развивать информационные знания учащихся
- воспитательная: развитие познавательного интереса, логического мышления
Теоретические сведения к практической работе
Алгоритм – последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.
Исполнителем алгоритма может быть человек или автоматическое устройство – компьютеры, роботы, станки, спутники, сложная бытовая техника и даже детские игрушки. Каждый алгоритм создается в расчете на вполне конкретного исполнителя.
Компьютер, как исполнитель, любую работу выполняет по программе. Программы пишут люди, а компьютер формально их выполняет.
Разработчики систем искусственного интеллекта пытаются научить машину, подобно человеку, самостоятельно строить программу своих действий, исходя из условия задачи.
Ставится цель превращения компьютера из формального исполнителя в интеллектуального исполнителя.
Работа обоих исполнителей состоит из четырёх блоков, но формальный исполнитель работает по уже готовой программе, а интеллектуальный – сам составляет программу и получает результат.
Информация для компьютера - данные , представленные в форме, приемлемой для её передачи и обработки на компьютере.
Для работы с данными компьютеру необходимы инструкции ( команды , правила действия). Команды формируются в перечень команд.
Первый компьютер, в котором были полностью реализованы эти принципы, был построен в 1949 г. английским исследователем Морисом Уилксом. Изменяется элементная база, компьютеры становятся все более и более мощными, но до сих пор большинство из них соответствуют тем принципам, которые изложил в своем докладе в 1945 г. Джон фон Нейман.
Согласно фон Нейману, ЭВМ состоит из следующих основных блоков:
- арифметико-логическое устройство, выполняющее арифметические и логические операции;
- устройство управления, которое организует процесс выполнения программ;
- запоминающее устройство, или память, для хранения программ и данных;
- внешние устройства для ввода-вывода информации.
В современных компьютерах это:
- память (запоминающее устройство — ЗУ), состоящая из перенумерованных ячеек;
- процессор, включающий в себя устройство управления (УУ) и арифметико-логическое устройство (АЛУ);
Эти устройства соединены между собой каналами связи, по которым передается информация.
Функции памяти: - прием информации из других устройств; - запоминание информации; - выдача информации по запросу в другие устройства машины.
Функции процессора: - обработка данных по заданной программе путем выполнения арифметических и логических операций; - программное управление работой устройств компьютера.
Компьютер является универсальным исполнителем по обработке информации. Значит, для него, как для любого исполнителя, существует определённая система команд (СКИ). Такая система команд для компьютера называется языком машинных команд (ЯМК)
Программа для компьютера – это алгоритм, разработанный на ЯМК. Или, Программа управления компьютером – это последовательность команд ЯМК, где каждая команда – директива для процессора на выполнение определённого действия.
Рассмотрим этапы выполнения программы.
Согласно принципам Джона фон Неймана, программа во время её исполнения и данные, которые она обрабатывает, находятся в оперативной памяти (принцип хранимой в памяти программы). Процессор исполняет программу начиная с первой команды и заканчивая последней.
- Какое основное свойство оперативной памяти? ( энергозависимость, работает с данными, активными в текущий момент времени)
Какие есть особенности в восприятии информации человеком и компьютером? ( человек воспринимает информацию с помощью органов чувств, в виде знаков и сигналов, а компьютер воспринимает информацию в виде цифр (0 и 1).)
- Как сделать так, чтобы программа, написанная человеком, была понятна компьютеру? (нужен способ перевода)
Для компьютера вся информация должна быть представлена в двоичных кодах, т.е. необходим способ перевода. Такой способ перевода называется трансляцией , а выполняет это транслятор.
Вывод: Устройством, которое обрабатывает информацию в компьютере, является процессор, следовательно, алгоритм должен использовать систему команд процессора, или другими словами записан на машинном языке, представляющем собой последовательности нулей и единиц
Сначала программисты, работавшие на компьютерах первого поколения (50-е – 60-е г.), составляли программы на ЯМК (в двоичных кодах), но это довольно сложная работа, поэтому для облегчения программирования были созданы языки программирования высокого уровня (ЯПВУ) - это искусственно созданные языки с несколькими десятками слов (операторов) и строгими правилами синтаксиса. Составление программ на ЯПВУ намного проще. Примеры ЯПВУ: Фортран, Паскаль, Бейсик, Си и др.
Для того чтобы процессор мог выполнить программу, написанную на языке программирования, она и данные с которыми она работает должны быть загружены в оперативную память. Программа написана и загружена в оперативную память и для того чтобы процессор ее выполнил в оперативной памяти, должна быть еще и программа переводчик (транслятор), который переводит программу с языка высокого уровня на язык машинных команд
Таким образом, цепочка событий от составления программы на ЯПВУ до получения результатов решения задачи выглядит так
Человек всегда должен понимать ограниченность возможность компьютера как исполнителя, необходимость предусмотреть все тонкости команд, поручаемых компьютеру. Человек разрабатывает алгоритм, записывает его на ЯПВУ и анализирует результаты выполнения программы.
Компьютер является формальным исполнителем программ.
Итак, компьютер не может обойтись без программы и исходных данных, подготовить их может только человек.
Поэтому можно говорить, что решение задач компьютером - это формальное исполнение алгоритма (программы), а компьютер является формальным исполнителем.
Компьютер может быть использован для решения самых разнообразных задач, поэтому, исходя из условия задачи, человек решает, каким программным средством пользоваться. Если в состав ПО входят программы, подходящие для решения задач человека, то удобнее ими воспользоваться (текстовый редактор, электронные таблицы, базы данных, презентации).
В случае, если нельзя воспользоваться готовым программным обеспечением, приходится прибегать к программированию (операционные системы, доработка ОС, трансляторы, драйверы, архиваторы, антивирусы).
Принцип программы, хранимой в памяти компьютера, считается важнейшей идеей современной компьютерной архитектуры. Суть идеи заключается в том, что
1) программа вычислений вводится в память ЭВМ и хранится в ней наравне с исходными числами;
2) команды, составляющие программу, представлены в числовом коде по форме ничем не отличающемся от чисел.
В основу работы компьютеров положен программный принцип управления, состоящий в том, что компьютер выполняет действия по заранее заданной программе.
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и взаимодействии. Состав программного обеспечения вычислительной системы называется программной конфигурацией.
Программа - это набор машинных команд, который следует выполнить компьютеру для реализации того или иного алгоритма.
Программа - это форма представления алгоритма для исполнения его машиной.
Фигуры, используемые в блок-схемах.
Алгоритмическая конструкция ветвления
Ветвление - управляющая структура, организующая выполнение лишь одного из двух указанных действий в зависимости от справедливости некоторого условия. Условие - вопрос, имеющий два варианта ответа: да или нет. Запись ветвления выполняется в двух формах: полной и неполной. Полную информацию смотрите в файле.
Содержимое разработки
Тема: Программирование основных алгоритмических структур на языке Паскаль
Тип урока: лекция
Метод изложения: беседа
Обучающая: Описать основные алгоритмические структуры в языке программирования Паскаль
Развивающая: развитие логического, алгоритмического мышления
Воспитывающая: воспитание всесторонне развитой, целеустремленной личности
Организационный момент
Актуализация опорных знаний:
- Какие виды алгоритмов существуют?
- Перечислите свойства алгоритмов
- История развития языка Паскаль
Изложение нового материала:
Программа - это набор машинных команд, который следует выполнить компьютеру для реализации того или иного алгоритма.
Программа - это форма представления алгоритма для исполнения его машиной.
Фигуры, используемые в блок-схемах.
Выполняемая функция (пояснение)
1. Блок вычислений
Выполняет вычислительное действие или группу действий
2. Логический блок
Выбор направления выполнения алгоритма в зависимости от условия
3. Блоки ввода/вывода
Ввод или вывод данных вне зависимости от физического носителя
Вывод данных на печатающее устройство
Начало или конец программы, вход или выход в подпрограмму
Вычисления по стандартной или пользовательской подпрограмме
6. Блок модификации
Выполнение действий, изменяющих пункты алгоритма
Алгоритмическая конструкция ветвления
Ветвление - управляющая структура, организующая выполнение лишь одного из двух указанных действий в зависимости от справедливости некоторого условия. Условие - вопрос, имеющий два варианта ответа: да или нет. Запись ветвления выполняется в двух формах: полной и неполной. Полная форма:
Пример: найти наименьшее из трех чисел.
1 вариант решения:
2 вариант решения:
Алгоритмическая конструкция цикла.
Цикл - управляющая структура, организующая многократное выполнение указанного действия.
Выполнение цикла «пока» начинается с проверки условия, поэтому такую разновидность циклов называют циклы с предусловием. Переход к выполнению действия осуществляется только в том случае, если условие выполняется, в противном случае происходит выход из цикла. Можно сказать что условие цикла "пока" - это условие входа в цикл. В частном случае может оказаться что действие не выполнялось ни разу. Условие цикла необходимо подобрать так, чтобы действия выполняемые в цикле привели к нарушению его истинности, иначе произойдет зацикливание.
Зацикливание - бесконечное повторение выполняемых действий.
Исполнение цикла начинается с выполнения действия. Таким образом тело цикла будет реализовано хотя бы один раз. После этого происходит проверка условия. Поэтому цикл «до» называют циклом с постусловием. Если условие не выполняется, то происходит возврат к выполнению действий. Если условие истинно, то осуществляется выход из цикла. Таким образом условие цикла «до» - это условие выхода. Для предотвращения зацикливания необходимо предусмотреть действия, приводящие к истинности условия.
Цикл с параметром, или цикл со счетчиком, или арифметический цикл - это цикл с заранее известным числом повторов.
В блоке модификации указывается закон изменения переменной параметра.
Xo - начальное значение параметра
Xn - последнее значение параметра
Для создания циклов с параметром необходимо использовать правила:
Параметр цикла, его начальное и конечное значения и шаг должны быть одного типа
Запрещено изменять в теле цикла значения начальное, текущее и конечное для параметра
Запрещено входить в цикл минуя блок модификации
Если начальное значение больше конечного, то шаг - число отрицательное
После выхода из цикла значение переменной параметра неопределенно и не может использоваться в дальнейших вычислениях
Из цикла можно выйти не закончив его, тогда переменная параметр сохраняет свое последнее значение
Этапы решения задач на ЭВМ.
Формализация (математическая постановка)
Выбор (или разработка) метода решения
Составление программы (запись алгоритма на языке программирования)
Вычисление и обработка результатов
Закрепление:
Опишите основные алгоритмические конструкции
Решите задачи с помощью блок схем:
- найти наибольшее из трех чисел
- найти сумму трех чисел
3. Этапы решения задач на ЭВМ.
Задача: Найти корни квадратного уравнения ax 2 +bx+c=0.
-75%
Читайте также: