Язык Си. Алгоритм Свойства алгоритма дискретность состоит из отдельных шагов (команд) понятность
![]()
|
Задания«3»: Ввести натуральное число вывести квадраты и кубы всех чисел от 1 до этого числа. Пример: Введите натуральное число: 3 1: 1 1 2: 4 8 3: 9 27 «4»: Ввести два целых числа a и b (a ≤ b) и вывести квадраты все чисел от a до b. Пример: Введите два числа: 4 5 4*4=16 5*5=25 Задания«5»: Ввести два целых числа a и b (a ≤ b) и вывести сумму квадратов всех чисел от a до b. Пример: Введите два числа: 4 10 Сумма квадратов 371 Цикл с неизвестным числом шагов Пример: Отпилить полено от бревна. Сколько раз надо сделать движения пилой? Задача: Ввести целое число (<2000000) и определить число цифр в нем. Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик. Проблема: Неизвестно, сколько шагов надо сделать. Решение: Надо остановиться, когда n = 0, т.е. надо делать «пока n != 0».
Алгоритм начало count конец нет да n != 0? count = 0; count = count + 1; n = n / 10; обнулить счетчик цифр ввод n выполнять «пока n != 0» Программа main() { int n, count; printf("Введите целое число\n"); scanf("%d", &n); count = 0; while (n != 0) { count ++; n = n / 10; } printf("В числе %d нашли %d цифр", n, count); } n1 = n; n1, выполнять «пока n != 0» Что плохо? ? , n1; Цикл с условием while ( условие ) { // тело цикла } Особенности:
если в теле цикла только один оператор, скобки {} можно не писать: while ( a < b && b < c ) { ... } while ( a < b ) a ++; Цикл с условием Особенности:
a = 4; b = 6; while ( a > b ) a = a– b; a = 4; b = 6; while ( a < b ) d = a + b; Сколько раз выполняется цикл? a = 4; b = 6; while ( a < b ) a ++; 2 раза a = 6 a = 4; b = 6; while ( a < b ) a += b; 1 раз a = 10 a = 4; b = 6; while ( a > b ) a ++; 0 раз a = 4 a = 4; b = 6; while ( a < b ) b = a - b; 1 раз b = -2 a = 4; b = 6; while ( a < b ) a --; зацикливание Задания «3»: Ввести целое число и определить, верно ли, что в нём ровно 3 цифры. Пример: Введите число: Введите число: 123 1234 Да. Нет. «4»: Ввести целое число и найти сумму его цифр. Пример: Введите целое число: 1234 Сумма цифр числа 1234 равна 10. |