Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Введение. Этапы решения задачи на ЭВМ

План

  • Введение
  • 1. Этапы решения задачи на ЭВМ

Введение

Язык Си давно завоевал особую популярность у программистов благодаря уникальному сочетанию возможностей языков высокого и низкого уровней. Язык Си разработан в 1972 г. Д. Ритчи во время работы над операционной системой Unix. Изначально предполагалось, что этот язык будет использоваться профессиональными программистами. Язык Си является достаточно трудным для начального ознакомления с программированием, но в то же время достаточно гибким, позволяющим с помощью небольшого числа конструкций решать трудные задачи. Главное преимущество языка Си заключается в библиотеках, поддерживаемых компилятором, и библиотеках, создаваемых программистами.

Знаменательной вехой в эволюции языка Си стало появление системы Турбо Си, получившей признание как одно из самых удачных инструментальных средств для персональных компьютеров. Язык Си называют скромным, быстрым, удобным. Иногда его называют вероломным, потому как программы на Си беззащитны для класса ошибок, от которых другие языки защищают. На такие ошибки в пособии обращается особое внимание. Язык Си ++ относительно мобильный язык. Программы, написанные на этом языке для одной операционной системы, с небольшими доработками могут использоваться в другой операционной системе.

Язык С++ был разработан Бьерном Страуструпом на основе языка программирования Си и с немногими изменениями сохраняет Си как подмножество. Сначала язык С++ назывался "язык Си с классами" и, в общем-то Си становится С++ с введением объектно-ориентированного программирования.

Для того чтобы хорошо овладеть программированием, необходимо знать, что такое компьютер. Слово "компьютер" означает "вычислитель", т. е. устройство для вычислений. Потребность в автоматизации обработки данных, в том числе вычислений, возникла очень давно. Многие тысячи лет назад для счета применялись счетные палочки, камешки и т.д. В дальнейшем стали использовать счеты. В 1642 г. Блез Паскаль разработал устройство, механически выполняющее сложение чисел, а в 1673 г. Готфрид Вильгельм Лейбниц сконструировал арифмометр, позволяющий механически выполнять четыре арифметических действия. В в. математик Чарльз Беббидж попытался построить вычислительное устройство, которое должно было выполнять вычисления без участия человека, т. е. уметь исполнять программы. Но осуществить эту мечту удалось ученым только в ХХ в., когда для построения вычислительных устройств начали использовать электромеханические реле. С 1943 г. группа специалистов под руководством Джона Мочли и Преспера Экерта в США начала конструировать вычислительную машину на основе электронных ламп. Машина работала достаточно быстро, но для задания её программы приходилось в течение нескольких часов или даже нескольких дней соединять провода. Вот тогда и стали конструировать машину, которая могла бы хранить программу в своей памяти. К этой работе был привлечен знаменитый математик Джон фон Нейман, который ясно и просто сформулировал основные принципы функционирования универсальных вычислительных устройств. Первый компьютер, в котором воплощены принципы фон Неймана, был построен в 1949 г. английским исследователем Морисом Уилксом. С той поры компьютеры стали гораздо более мощными, но подавляющее большинство из них работает в соответствии с принципами фон Неймана. Согласно принципам фон Неймана компьютер должен иметь следующие устройства (рис.1):

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

 

Рис. 1

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

На рис. 1 одинарные линии показывают управляющие связи, двойные – информационные.

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

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

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

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

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

Совокупность программных средств можно разделить на три категории:

- прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ: редактирование текстов, рисование картинок, обработка информационных массивов и т.д.;

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

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

Одной из важнейших системных программ является операционная система. Операционная система - это программа, которая загружается при включении компьютера. Она осуществляет диалог с пользователем, управление компьютером, его ресурсами (оперативной памятью, местом на дисках и т. д.), запускает другие (прикладные) программы на выполнение. Операционная система обеспечивает пользователю и прикладным программам удобный способ общения (интерфейс) с устройствами компьютера. Для компьютеров типа IBM PC чаще всего используется операционная система MS DOS, Unix, OS/2, Windows.

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

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

1. Этапы решения задачи на ЭВМ

Так как ЭВМ является "слепым" исполнителем программ, то успешное решение задачи полностью определяется квалификацией программиста.

В общем случае решение задачи на ЭВМ можно разбить на следующие этапы:

    • • постановка задачи;
    • • разработка алгоритма;
    • • составление программы;
    • • трансляция программы;
    • • отладка и выполнение программы;
    • • анализ результатов.

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

В программировании используется следующее определение алгоритма: "алгоритм - это точное предписание, однозначно определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату".

Алгоритм должен обладать следующими основными свойствами:

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

Под программой понимают описание, воспринимаемое ЭВМ и достаточное для решения определенной задачи. Для создания программы используются искусственные языки, называемые языками программирования. ЭВМ, как правило, непосредственно воспринимает и выполняет программы, написанные только на одном из языков программирования - машинном языке для данной ЭВМ. С помощью специальных программ можно получить опосредованное "понимание" других языков. Одна из таких программ - транслятор. Транслятор - это программа, осуществляющая перевод текстов с одного языка на другой, т. е. с входного языка (Паскаль, Си, Пл-1 и т. д.) на машинный язык реальной ЭВМ. Программа, попадающая на вход транслятора, называется исходной, а результат трансляции - объектной программой.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.