- •Государственный технический университет - Обнинский институт атомной энергетики е.А.Виноградова а.Г.Царина Программирование на языках высокого уровня.
- •Содержание
- •Введение. Подготовка и решение задач на компьютере.
- •Алгоритмы.
- •Основные свойства.
- •2.2 Способы представления алгоритмов.
- •2.3 Базовые структуры алгоритмов.
- •2.3.1 Линейная структура.
- •2.3.3.2. Цикл с постусловием:
- •Типы данных.
- •3.1 Базовые типы данных.
- •2.3.3.1. Цикл с предусловием:
- •Целый тип (int)
- •Символьный тип (char)
- •Расширенный символьный тип (wchar_t)
- •Логический тип (bool)
- •Типы с плавающей точкой (float, double и long double)
- •3.2 Переменные.
- •3.3 Ссылки.
- •3.4 Указатели.
- •3.3 Выражения.
- •3.3 .1 Операции.
- •4. Реализация базовых структур алгоритмов в языке с.
- •4.1 Оператор присвавания
- •4.2 Оператор «выражение»
- •4.3 Операторы ветвления
- •4.3.1 Условный оператор .
- •4.3.2. Оператор switch.
- •4.4 Операторы цикла
- •4.4.1 Циклы с предусловием
- •4.4.1.1 Цикл for.
- •4.4.1.2 Цикл с условием (while)
- •4.4.1 .3 Цикл с постусловием (do while)
- •5. Функции. Основные понятия
- •Определение функции
- •Рекурсивные функции.
- •Одномерные массивы.
- •6.1 Статические массивы.
- •6.2 Динамические массивы.
- •6.2.2 Функции преобразования динамических массивов.
- •7. Алгоритмы поиска и сортировки.
- •7.2 Последовательный поиск c барьером.
- •7.3 Дихотомический поиск в упорядоченом массиве.
- •7.4 Cортировка массивов.
- •7.4.1 Обменная сортировка (метод пузырька)
- •7.4.2 Метод "простой выбор".
- •7.4.3 Сортировка "прямое включение"
- •8 . Матрицы
- •8.1 Статические матрицы.
- •8.2 Динамические матрицы.
- •9. Строки в с.
- •1. Длина строки – strlen.
- •3. Копирование строк.
- •4. Объединение строк.
- •5. Поиск в строках
- •10. Cтруктуры.
4.4 Операторы цикла
Операторы цикла используются для организации многократно повторяющихся вычислений.
Для удобства, а не по необходимости, в С++ есть три разных оператора цикла – for, while, do while.
4.4.1 Циклы с предусловием
4.4.1.1 Цикл for.
Цикл for имеет следующий формат:
for ( инициализация; выражение; модификации) //заголовок цикла
оператор или блок; //тело цикла
Инициализация реализует объявления и присвоения начальных значений величинам, используемым в цикле. В этой части можно записать один или несколько операторов, разделенных запятой (операцией «последовательное выполнение»), например, так.
1) for (int = 0; …
2) int k, m;;
for (k = 1, m = 0; …
инициация может отсутствовать:
for( ;
Областью действия переменных, объявленных в части инициализации цикла, является цикл. Инициализация выполняется один раз в начале исполнения цикла.
Выражение определяет условие выполнения цикла: если его результат, приведенный к типу bool, равен true, цикл выполняется.
Модификации выполняются после каждой итерации цикла и служат обычно для изменения параметров цикла. В части модификаций можно записать несколько операторов через запятую. Любая из частей оператора for может быть опущена (но точки с запятой надо оставить на своих местах!).
Примеры.
1. int i;
for(i=0;i<10;i++)
cout<<i<<’ ‘;
Цикл выводит на экран числа от 0 до 9 включительно.
int s,i;
for ( i = 1, s = 0; 1<=10; i++) s += i;
Оператор вычисляет сумму чисел от 1 до 10.
Данный фрагмент вычислений можно записать иначе:
int s=0,i;
for ( i = 1; 1<=10; s += i, i++);
Программа определяет, является ли целое положительное число- совершенным.
Совершенное число равно сумме своих делителей, включая 1.
Например 28=1+2+4+7+14
#include <iostream.h>
int main(){
int a, d,Sum=1;;
cout << "\nВведите число : ";
cin >>a;
f=a/2;
for ( d = 2; d <= f; d++)
if (a % d==0) Sum+= d ;
cout<<a;
if(a==Sum)cout<<”-coвершенно”;else cout<<”- не совершенно”;
return 0:
}
4.4.1.2 Цикл с условием (while)
Очень часто заранее невозможно сказать, сколько раз надо выполнить какую-то опера-
цию, но можно определить условие, при котором она должна повторяться.
Цикл с предусловием имеет вид:
while ( выражение ) //заголовок цикла
оператор или блок; //тело цикла
Выражение определяет условие повторения тела цикла, представленного простым оператором или блоком операторов. Выполнение оператора начинается с вычисления выражения. Если оно истинно, то выполняется шаг цикла. Если при первой проверке выражение равно false, цикл не выполнится ни разу. Выражение может быть арифметическим, логическим или типа указатель и вычисляется перед каждой итерацией цикла.
Пример.
1. Программа проверяет, является ли целое положительное- простым числом.
#include <iostream.h>
int main(){
int a,d;
cout << "\nВведите число : ";
cin >> a;
int f = a / 2;
d = 2:
while (d <= f&&a%d!=0)
d++;
cout<<a;
if(d>f)cout<<”- простое”; else cout<<”- не простое”;
return 0:
}
Данную задачу можно решить при помощи цикла for.
#include <iostream.h>
int main()
{
int a,d;
cout << "\nВведите число : ";
cin >> a;
int f = a / 2 ;
for(d=2;d <= f&&a%d!=0; d++);
if(d>f)cout<<a<<”- простое”; else cout<<a<<”- не простое”;
return 0:
}
