- •1.2Типы данных
- •1.2.1Объявление переменной
- •1.2.2Категории типов данных
- •1.2.3Целый тип данных
- •1.2.4Данные с плавающей точкой (вещественные типы)
- •1.3Знаки операций
- •1.3.3Простое присваивание
- •1.3.4Составное присваивание
- •1.3.5Приоритеты операций и порядок вычислений
- •1.4Структура и компоненты программы на языке си
- •1.5Организация ввода-вывода в стиле си
- •1.6.1 Манипуляторы и форматирование ввода-вывода
- •1.7Математические функции
- •2Алгоритм. Элементы структурного программирования
- •2.1Понятие алгоритма
- •2.2Основные требования к алгоритмам
- •2.3Элементы структурного программирования
- •3Программирование алгоритмов линейной структуры
- •4Алгоритмы и программы ветвящейся структуры. Условный оператор if. Переключатель switch
- •4.1Алгоритмы и программы ветвящейся структуры
- •4.1.1Условный оператор if
- •If (выражение) оператор1;
- •4.1.2Логические операции
- •4.2Примеры составления алгоритмов и программ с использованием условного оператора If
- •4.3Переключатель switch
- •5Алгоритмы и программы циклической структуры
- •5.1 Понятие цикла. Разновидности циклов
- •5.3Оператор while
- •5.4Оператор do while
- •5.5Оператор continue
- •6Регулярные типы данных. Массивы
- •6.1 Понятие регулярного типа
- •6.2Алгоритмы сортировки массивов
- •6.3 Постановка задачи сортировки и методы её решения
- •6.4Алгоритм прямого упорядочения (Алгоритм сортировки выбором элемента)
- •6.5Алгоритм попарного сравнения соседних элементов («пузырьковая» сортировка)
- •6.6Алгоритм сортировки выбором элемента
- •6.7Методы доступа к элементам массивов, использование указателей
- •6.8Организация многомерных массивов. Указатели на многомерные массивы
- •7.1Описание и определение функции
- •7.2Вызов функции
- •7.3Передача параметров в функцию
- •7.4Описание прототипа функции
- •7.5Функция с переменным количеством параметров
- •7.6Понятие сигнатуры функции
- •7.7Подставляемые (встраиваемые) функции
- •7.8Передача параметров в главную функцию
- •7.9Рекурсивные вызовы функции
- •7.10Примеры составления функций
- •8Указатели
- •8.1Понятие указателя
- •8.2Инициализация указателей
- •8.3Операции с указателями
- •8.4Ссылки
- •9Структуры (struct)
- •10Динамические структуры данных
- •3.1 Односвязные списки
- •Д обавление в начало списка.
- •2 ) Добавление в середину списка.
- •У даление первого элемента списка.
- •3 )Удаление элемента из середины списка.
- •Int Data; //поле данных
- •If (!q) //...И он первый в списке
- •3.2 Стек
- •3.3 Очередь
- •11Динамические массивы
- •12Функции и массивы
- •13Указатели на функции
- •14.1Файловый ввод/вывод с помощью потоков
- •14.2 Дополнительные функции файлового ввода/вывода
- •14.3Режимы файлов
- •14.4 Двоичные файлы
- •14.5Произвольный доступ к файлам
- •Список использованных источников
2.3Элементы структурного программирования
Структурированная программа – это программа, составленная из фиксированного множества базовых конструкций. На основе операций, развилок и слияний строятся базовые конструкции: следование, ветвление, цикл. Применяя только эти три конструкции, можно реализовать алгоритм решения любой задачи.
Конструкция, представляющая собой последовательное выполнение двух или более операций, называется следованием.
Конструкция, состоящая из развилки, двух операций и слияния, называется ветвлением. Одна из операций может отсутствовать.
Конструкция, имеющая линии управления, ведущие к предыдущим операциям или развилкам, называется циклом.
Конструкции следование, ветвление и цикл можно представить как операции, так как они имеют единственный вход и единственный выход.
Произвольную последовательность операций можно представить как одну операцию.
Операция может быть реализована любым оператором языка Pascal (простым или составным), либо группой операторов, за исключением оператора перехода Goto.
В языке Pascal количество базовых конструкций увеличено до шести, это:
следование;
ветвление;
цикл с предусловием;
цикл с постусловием;
цикл с параметром;
выбор.
3Программирование алгоритмов линейной структуры
При исполнении программы микропроцессор выполняет команды последовательно одну за другой. Точку входа (оператор с которого начинается выполнение программы), в СИ-программе определяет функция main. Вычислительный процесс (алгоритм), в котором команды выполняются последовательно, называется линейным.
Как правило, перед разработкой программы составляется алгоритм решения задачи. Способов записи алгоритма достаточно много, однако, наиболее часто используемый способ записи при помощи блочной схемы. При данном способе каждая операция записывается в виде графического блока, изображение которого указывает на характер выполняемой операции. Необходимые параметры записываются внутри блока.
Л юбой алгоритм начинается с блока «Начало», а заканчивается блоком «Конец» рис. 2.1.
Б локи ввода и вывода информации в общем виде изображаются параллелограммами рис. 2.2
О перация присвоения записывается в виде прямоугольника рис. 2.3.
Каждый из блоков соединяется линиями, показывающими порядок выполнения операций. При направлении выполнения операций снизу вверх и справа налево на концах линий изображают стрелки. В противном случае считается, что направление выполнения операций – сверху вниз и слева направо.
Для изображения алгоритмов других вычислительных процессов используются блоки, о которых будет рассказано позже.
В приведённом примере демонстрируются операции применимые к переменным типа int.
П ри необходимости добавить пояснения к блокам используется комментарии, графическое изображение которого представленное на рис. 2.5.
#include<iostream.h>
void main()
{
int x,a,b;
cout<<”\nВведите значения a и b \n”;
cin>>a>>b;
x=a+b;
cout<<”\n x=”>>x;
x=a-b;
cout<<”\n x=”>>x;
x=a*b;
cout<<”\n x=”>>x;
x=a/b;
cout<<”\n x=”>>x;
x=a%b;
cout<<”\n x=”>>x;
x=a<<2;
cout<<”\n x=”>>x;
x=b>>1;
return;
}