- •Понятие алгоритма. Свойства алгоритмов. Основные этапы решения задач
- •1. Формулировка задачи
- •2. Математическая постановка задачи
- •3. Разработка алгоритма
- •4. Написание текста и ввод программы
- •5. Выполнение программы. Поиск и устранение синтаксических ошибок
- •6. Тестирование программы. Поиск и устранение логических ошибок в программе
- •Этапы создания исполняемой программы (загрузочного модуля).
- •Структуры и формы написания программы
- •Внутреннее представление данных
- •Классы памяти
- •Обмен данными через внешние переменные
- •Статические переменные
- •Стандартный ввод/вывод данных через потоки
- •Ввод данных
- •Вывод данных
- •Специфические операции
- •Операции присваивания
- •Некоторые нетрадиционные (унарные) операции
- •Условные выражения
- •Операция условия ?:
- •Выражения (в том числе и условные). Порядок выполнения операций в выражении. Таблица приоритетов.
- •Условный оператор if и его применение при программировании. Сокращенная форма оператора if
- •Полная форма оператора if
- •Множественный выбор else-if
- •Оператор выбора switch и его применение при программировании.
- •Циклические вычислительные процессы
- •Оператор цикла while и его применение при программировании. Цикл while – цикл с предусловием.
- •Оператор цикла do while и его применение при программировании. Цикл do while – цикл с постусловием
- •Оператор цикла for и его применение при программировании. Цикл for – цикл с предусловием
- •Операторы break, goto, continue их применение при программировании. Операторы передачи управления
- •Оператор break
- •Оператор continue
- •Оператор goto
- •Вложенные циклы.
- •Указатели и адреса: описание, инициализация и операции с указателями. Применение указателей при программировании.
- •Статические строки
- •Динамические строки
- •Стандартный цикл обработки строки
- •Одномерные числовые массивы
- •Статические массивы
- •Динамические массивы
- •Динамические матрицы
- •Циклы перебора матрицы
- •Программирование с использованием функций пользователя. Принципы построения функций.
- •Механизм вывода функции
- •Передача значения простого аргумента в функцию. Способы передачи простых данных в функцию
- •Передача в функцию значения аргумента
- •Рекурсивная функция
- •Передача функции в другую функцию через указатель. Параметр функции. Указатель на функцию.
- •Перегрузка функций.
- •Функции с параметрами по умолчанию
- •Шаблоны функций.
- •Формат функции шаблона
- •Механизм шаблона
- •Особенности проекта с функциями-шаблонами
Циклические вычислительные процессы
Вычислительный процесс называется циклическим, если он содержит неоднократное выполнение одной и той же последовательности действий.
Число повторений цикла в некоторых случаях - фиксировано, в других – определяется в процессе выполнения цикла на основе проверки некоторого условия.
Бывают циклы с проверкой условия перед началом выполнения цикла(циклы с предусловием), или по окончанию выполнения цикла(циклы с постусловием), или внутри цикла(с помощью оператора передачи управления).
Итерация - выполнения цикла один раз.
Операторы цикла состоят их заголовка и тела цикла.
Заголовок – некая конструкция, включающая в себя служебное слово.
Тело цикла – один оператор или блок, повторяющийся заданное количество раз.
Для построения цикла необходимо: инициализация, итерация, коррекция:
а) выделить переменную цикла, от которой зависит, продолжается цикл или нет.
б) до начала цикла присвоить ей правильное начальное значение.
в) построить условие продолжения цикла.
г) при каждой итерации так изменять переменную цикла так, чтобы он на определенном шаге завершился бы.
Реализация циклов происходит с помощью операторов : while, do while, for, continue, break, (goto).
+
Оператор цикла while и его применение при программировании. Цикл while – цикл с предусловием.
Применяется, когда количество повторов неизвестно, а известно лишь условие, при котором цикл повторяется или завершается.
Синтаксис: while (выражение)
один оператор или блок(1)
Если выражение
истинно(т.е. =0)
, выполняется действие 1 – тело цикла;
если выражение ложно, управление
передается следующему за циклом
оператору.
Пример:
1. Вычислить сумму натуральных чисел от одного до ста.
int i=1, sum=0;
while(i<=100)
{
sum+=i;
i++; // или s+=n++
}
2. Вывести на экран изображение введенного символа и его код, пока не нажата q.
char sim;
sim=’a’;
while(sim!=’q’)
{
cin>>sim;
cout<<”Vash simvol: “<<sim;
cout<<", ego kod"<<(int)sim<<endl;
}
3. Дано натуральное число, посчитать сумму цифр в числе.
int n, s=0, k;
cin>>n;
while(n!=0)
{
k=n%10;
s+=k;
n/=10;
}
cout<<k;
+
Оператор цикла do while и его применение при программировании. Цикл do while – цикл с постусловием
Применяется, когда количество повторов неизвестно, а известно лишь условие.
Синтаксис: do
один оператор или блок(1)
while(выражение);
Выполняется: сначала выполняется действие 1(тело цикла), если выражение истинно, то тело цикла выполняется повторно, если ложно, то управление передается следующему оператору.
Пример: контроль вводимых данных для 3х заданных сторон треугольника
double a, b, c;
do
{
cout<<"Ввести стороны треугольника ";
cin>>a>>b>>c;
}
while(!(a+b>c&&a+c>b&&c=b>a)); // 3 строки – плохие
+
Оператор цикла for и его применение при программировании. Цикл for – цикл с предусловием
Используется, если известно количество повторений цикла.
Синтаксис: for (инициализация; условие; коррекция)
один оператор или блок(1)
Цикл выполняется:
а) один раз до начала цикла выполняется инициализация – один или несколько операторов,
разделенных запятой.
б) если условие цикла истинно, то выполняется действие 1, если ложно - цикл завершается.
г) выполняется коррекция – один оператор или несколько, разделенных запятой.
д) выполнение пункта б.
Любая из трех частей заголовка может отсутствовать но ; писать обязательно.
Пример: выполнение цикла k раз
for (n=0; n<k; n++)
{ . . . }
Задача: вычислить N!=1*2*3…*N
P – произведение, i – переменная цикла.
#include <iostream>
using namespace std;
int main(void)
{
int N, i;
double P=1;
cin>>N;
for (i=1; i<=N; i++)
P*=i;
cout<<”N!=”<<P<<endl;
return 0;
}
+
