
- •210700 Инфокоммуникационные технологии и системы связи
- •220700 Автоматизация технологических процессов и производств
- •230400 Информационные системы и технологии
- •1. Цели и задачи дисциплины
- •2. Место дисциплины в структуре основной образовательной программы
- •3. Требования к уровню освоения содержания дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •4. Объем дисциплины и виды учебной работы
- •5. Содержание дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •6. Лабораторный практикум
- •7. Библиографический список
- •8. Материально-техническое обеспечение дисциплины
- •9. Опорный конспект
- •1. Основы алгоритмизации
- •1.1 Этапы решения задач на эвм.
- •1.2. Алгоритм. Свойства алгоритмов
- •1.3. Формы представления алгоритмов
- •1.4. Алгоритмическая конструкция ветвления
- •1.5. Алгоритмическая конструкция цикла
- •2.1. Разработка консольного проекта
- •2.3. Комментарий
- •2.4. Организация ввода и вывода информации
- •Вывод данных
- •Ввод данных
- •2.5. Разработка проекта типа Windows Forms Application
- •3. Основные элементы языка
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Переменные и константы
- •3.4. Символьные типы данных
- •3.5. Данные типа int
- •3.6. Данные с плавающей точкой
- •3.7. Логический тип данных
- •3.8. Операции и выражения
- •Арифметические операции
- •Операции инкремента и декремента
- •Операции отношения и логические операции
- •Оператор присваивания
- •Составные операторы присваивания
- •Оператор условия ? :
- •Операция sizeof
- •4. Программирование разветвляющих и циклических алгоритмов
- •4.1. Общие сведения
- •4.2. Оператор if
- •4.3. Оператор switch
- •4.4. Оператор цикла for
- •4.5. Оператор цикла while
- •4.6. Оператор цикла do while
- •4.7. Применение оператора continue
- •4.8. Оператор goto
- •5. Массивы и строки
- •5.1. Массивы
- •5.2. Строки
- •6. Функции
- •6.1. Общие сведения
- •6.2. Описание функции и ее тип
- •6.3. Вызов функции
- •6.4. Область действия переменной
- •6.5. Классы памяти
- •Глоссарий
- •10. Задания на лабораторные работы и методические указания к их выполнению
- •11. Задания на контрольную работу и методические указания к их выполнению
- •Оглавление
4.6. Оператор цикла do while
Общая форма записи оператора цикла do while
do
оператор
w
оператор
hile
(условие);
TRUE FALSE
Выход из цикла
Переход на следующий
Оператор программы
В операторе цикла do while сначала выполняется оператор, а затем проверяется условие. Повторение цикла происходит до тех пор, пока условие не примет значение false. Оператор может быть как простым, так и составным. В случае составного оператора тело цикла должно быть заключено в фигурные скобки.
Оператор do while - это цикл с постусловием, так как решение выполнять тело цикла или нет принимается после его прохождения.
Пример 4_8. Использование оператора цикла do while для расчета суммы нечетных чисел в диапазоне от 1 до 10.
#include "stdafx.h"
using namespace System;
int main()
{
int n = 1, sum = 0;
do
{
sum += n;
Console::WriteLine("Сейчас n = " + n + "\t sum = " + sum);
n += 2;
}
while (n <= 10);
Console::WriteLine("Окончательный результат: \n" +
"n = " + n + "\t sum = " + sum);
Console::ReadLine();
return 0;
}
Результат работы программы:
Сейчас: n = 1 sum = 1
Сейчас: n = 3 sum = 4
Сейчас: n = 5 sum = 9
Сейчас: n = 7 sum = 16
Сейчас: n = 9 sum = 25
Окончательный результат:
n = 11 sum = 25
4.7. Применение оператора continue
С помощью оператора continue можно организовать преждевременное завершение шага итерации в обход обычной структуры управления циклом. Оператор continue осуществляет принудительный переход к следующему шагу цикла, пропуская любой код, оставшийся невыполненным.
В циклах while и do while оператор continue вызывает передачу управления непосредственно условному выражению, после чего продолжается процесс выполнения цикла.
В операторе цикла for сначала вычисляется итерационное выражение, затем условное выражение, после чего цикл продолжается.
Пример 4_9. Использование оператора continue.
#include "stdafx.h"
using namespace System;
int main()
{
int n;
Console::Write("Нечетные числа в диапазоне от 1 до 10:");
for (n = 1; n < 10; n++)
{
if (n % 2 == 0)
continue;
Console::Write("{0,5}", n);
}
Console::ReadLine();
return 0;
}
Результат работы программы:
Нечетные числа в диапазоне от 1 до 10: 1 3 5 7 9
4.8. Оператор goto
Имеющийся в C++ оператор представляет собой оператор безусловного перехода. Когда в программе встречается оператор goto, ее выполнение переходит непосредственно к тому месту, на которое указывает этот оператор.
Для выполнения оператора goto требуется метка – действительный в C++ идентификатор с двоеточием. Метка должна находиться в том же методе, где и оператор goto, а также в пределах той же самой области действия.
x=1;
loop1:
x++;
if ( x<100)
goto loop1;
Применять оператор goto в программах не рекомендуется, т.к. его наличие очень сильно сказывается на надежности программирования.
Тестовые задания
ЗАДАНИЕ 1
Определите результат работы программы
int main()
{
int a = 5, b = 0;
if (a > 5)
b = a;
b += 10;
Console::WriteLine("a={1}, b={1}", a, b);
return 0;
}
Варианты ответов
1. a=10, b=10
2. a=10, b=15
3. a=10, b=0
4. a=10, b=5
ЗАДАНИЕ 2
Определите результат работы программы
int main()
{
int a = 5, b = 0;
if (a > 10) ;
else
b = a;
b += 10;
Console::WriteLine("a={0}, b={1}", a, b);
return 0;
}
Варианты ответов
1. a=5, b=0;
2. a=5, b=10
3. a=5, b=5
4. a=5, b=15
ЗАДАНИЕ 3
Определите результат работы программы
int main()
{
int a = 12, b = 2, c =- 1;
if (a < b && c < b)
{
c += a * b;
Console::Write(" c= " + c);
}
else
{ c += a - b;
Console::Write(" c = " + c);
}
return 0;
}
Варианты ответов
1. c = 10
2. c = 24
3. c = 9
4. c = 23
ЗАДАНИЕ 4
Определите результат работы программы
int main()
{
int i, s = 0;
for (i = 2; i< 5; i++)
{
s += i * i;
Console::WriteLine(" s= {0}",s);
}
Console::WriteLine(" Итог: s={0} ",s);
return 0;
}
Варианты ответов
s=4
s=9
s=16
Итог: s=16
s=4
s=13
s=29
Итог: s= 29
s=4
s=7
s=11
Итог: s= 11
s=4 s=9 s=16
Итог: s=16
ЗАДАНИЕ 5
Определите результат работы программы
int main()
{
int i, k=0;
for (i = 1; i < 8; i++)
{
if (i % 2 == 1)
continue;
k += i;
}
Console::WriteLine("k="+k);
return 0;
}
Варианты ответов
1. k=12
2. k=1
3. k=6
4. k=0
ЗАДАНИЕ 6
Переменная k после завершения цикла будет содержать значение ….
int i, k=32;
do
{
k= k-2;
}
while (k<5);
Варианты ответов
1. 32
2. 4
3. 28
4. 30
ЗАДАНИЕ 7
Определите результат работы программы
int main()
{
int m=4;
do
{
Console::Write("m=" + m + " ");
m += 3;
}
while ( m < 20);
return 0;
}
Варианты ответов
1. m=7 m=10 m=13 m=16 m=19
2. m=4 m=7 m=10 m=13 m=16 m=19
3. m=4
4. m=7
ЗАДАНИЕ 8
Переменная k после завершения цикла будет содержать значение ….
int i, k=-5;
while( k>5)
{
k= k+2;
}
Варианты ответов
1. 5
2. -5
3. 0
4. -3
ЗАДАНИЕ 9
Определите результат работы программы
int main()
{
int i = 20;
while (i< 30)
{
Console::WriteLine("i = " + i);
i += 30;
}
Console::WriteLine("Итог i = " + i);
return 0;
}
Варианты ответов
1. i=20
Итог i=50
2. i=20
i=50
Итог i=50
3. i=20
Итог i=20
4. Итог i=20
ЗАДАНИЕ 10
Определите результат работы программы
int main()
{
int i=2, k=0;
while(i<10)
{
i++;
if (i % 2 == 0)
continue;
k += i;
}
Console::WriteLine("k="+k);
return 0;
}
Варианты ответов
1. k=0
2. k=3
3. k=24
4. k=14