Вступление
Алгоритмический язык С++ - это один з основных языков программирования, который называется языком объектно-ориентированного программирования. Почему С++ получил это второе название, будет рассмотрено в следующих лекциях. С++ будет изучаться нами в составе программного пакета Microsoft Visual Studio 2010 - Visual C++ 2010. а Язык программирования С++ позволяет решать множество задач – от простых школьных заданий до сложнейших задач ядерной физики и космических исследований.
В данном курсе будет изучаться синтаксис, семантика и техника программирования на языке С++. Приведенобольшое количество программ, иллюстрирующих возможности и особенностиязыка С++.
Конспект лекций предназначен для получения студентами в ходе изучения учебной дисциплины «Вычислительная техника и программирование» теоретических навыков применения языка С++ при решении прикладных задач на компьютере, а также в качестве вспомогательной литературы при курсовом и дипломном проектировании на старших курсах.
|
|
Кроме того, конспект лекций можно использовать при изучении дисциплины «Программирование» для направления подготовки 6.050201, для которой также преподается язык С++.
Лекция 1
Алгоритмизация вычислительных задач
Цель лекции. Изучение основных понятий и конструкций схем алгоритмов.
Основные вопросы лекции:
1. Основные понятия и определения при алгоритмизации задач.
2. Простые операции и их базовые конструкции.
3. Составные операции и их базовые конструкции
4. Виды алгоритмов.
Основные понятия и определения при алгоритмизации задач
Для решения любой задачи на компьютере необходимо выполнить следующие этапы:
1. Разработать математическую модель задачи, т. е. дать математическое описание объекта исследований.
2. Выбрать или разработать метод решения задачи.
3. Составить а лгоритм решениязадачи.
4. На одном из языков программирования разработать программу для решениязадачи.
5. Добиться выполнения программы, устраняя возможные ошибки.
6. Проанализировать полученный результат и сделать выводы.
В данной лекции остановимся подробнее на составлении алгоритма.
Алгоритм решения задачи - это строгая последовательность действий, которые необходимо выполнить над данными, чтобы получить искомый результат (решить поставленную задачу).
Программа – это записанный на языке программирования алгоритм решения задачи.
Каждый язык программирования или алгоритмический язык является набором символов и слов, с помощью которых программист записывает команды (инструкции) для компьютера. Затем программа на языке программирования переводится соответствующей программой (компилятором) в машинный код для дальнейшего выполнения компьютером.
|
|
Любой разрабатываемый алгоритм должен удовлетворять следующим требованиям:
1. Определенность – алгоритм не должен допускать неоднозначность толкования.
2. Массовость – возможность использования алгоритма при решении подобных задач.
3. Результативность – выполнение действий в соответствии с разработанным алгоритмом должноприводить к получению искомого результата.
В программировании принято алгоритм решения задачи изображать в графическом виде. При этом все операции или действия изображаются в виде отдельных блоков. Каждое действие, например, ввод данных, печать документа и др., имеет свое стандартное условное обозначение (см. таб. 1.1). Конфигурация и размер блоков определяются Государственным Стандартом.Последовательность действий, необходимых для решения поставленной задачи, изображенная в виде набора стандартных операционных блоков, называется блок-схемой алгоритма.
Таблица 1.1 Основные операционные блоки схем алгоритмов
№ п/п | Условное обозначение | Наименование | Описание операции | |
Начало, завершение | Начало и завершение алгоритма | |||
Процесс | Вычислительная операция или их совокупность | |||
Решение | Проверка условия и выбор дальнейшего направления процесса решения | |||
| Модификация | Заголовок цикла, проверка условий цикла | ||
Данные | Ввод исходных данных, вывод данных и результатов | |||
Типовой процесс | Использование ранее созданных алгоритмов, подпрограмм, функций | |||
Печать документа | Вывод данных на печать | |||
Соединитель внутристраничный | Разрыв линий потока в пределах одной страницы | |||
Соединитель межстраничный | Перенос линий потока на другую страницу | |||
Узел | Слияние линий потока | |||
Комментарии | Описание операционного блока и его особенностей |
В блок-схемах алгоритмов операционные блоки соединяются друг с другом последовательно линиями потока. Линии потока, направленные вниз и направо могут быть без стрелок, указывающих направление. Линии потока, направленные вверх и влево обязательно должны заканчиваться стрелками. Базовые конструкции разделяются на простые и составные.