Слайд 2Конструкция for
Задача: распечатать квадраты чисел от 1 до n (n задается пользователем.
for(i=1;i<=n;i++)
printf(“%i
^ 2 = %i\n”, i, i*i);
Общий вид конструкции for:
for (инициализация; условие; шаг)
инструкция;
Слайд 3Эквивалентность конструкций
for (инициализация; условие; шаг)
инструкция
инициализация;
while (условие)
{
инструкция
шаг;
}
Слайд 4Конструкция в конструкции
Задача: напечатать числа в диапазоне от a до b, квадратный
корень из которых является целым числом
for( ; a<=b; a++)
if((int)sqrt(a)==sqrt(a))
printf("%i\n",a);
Слайд 5Конструкция в конструкции
Задача: напечатать таблицу умножения
for(i=1; i<10; i++) // Внешний цикл
{
printf("%2i |",i);
for(j=1;
j<10; j++) // Внутрений цикл
printf("%2i ", i*j);
printf("\n");
}
Слайд 6Задание к лабораторной работе
1 Написать программу, которая находит наименьший делитель введенного пользователем
числа. Для этого организовать цикл, который заканчивается, когда текущее значение некоторой переменной является делителем числа, и это число увеличивается на 1 на каждом шаге цикла. Доказать, что цикл закончится при любом целом положительном числе, введенном пользователем.
Слайд 7Задание к лабораторной работе
2 Найти наибольше и наименьшие значения функции для целых
аргументов от 1 до 50. Для этого использовать конструкцию выбора внутри цикла (номер задания равен остатку от деления номера варианта на 10):
0 sin(2*3.14*i/15)/i
Слайд 8Задание к лабораторной работе
3 Нарисовать график функции из 2 задания. График представляет
собой изображение из 50 символов по горизонтали и 50 символов по вертикали. Для отображения графика нужно организовать вложенные циклы. Внешний цикл выполняется 50 раз и рисует 50 строк. Внутренний цикл повторяется 50 раз и рисует 50 столбцов. Во внутреннем цикле проверяется, какой символ нужно нарисовать.