Цель. Познакомиться с понятием цикла на примере циклической конструкции на базе операторов if и goto. Изучить понятия цикла, итерации, оператора goto и метки.
ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Задача 1. Введите N и выведите N случайных чисел, используя цикл на базе if и goto.
#include <iostream>
using namespace std;
int main() {
int n;
int i=1;
cout << "n=";
cin >> n;
START_LABEL:
if (i<=n) {
cout << rand()%100 << " ";
i++;
goto START_LABEL;
}
system("pause");
return 0;
}
Задача 2. Реализуйте меню из следующих пунктов: приветствие, прощание и выход.
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
MAKE_CHOICE:
system("cls");
cout << "1 - Приветствие\n";
cout << "2 - Прощание\n";
cout << "0 - Выход\n";
cout << "Ваш выбор: ";
int choice;
cin >> choice;
switch(choice) {
case 1:
cout << "Здравствуйте\n"; break;
case 2:
cout<< "До свидания\n"; break;
case 0:
exit(0);
default:
cout << "Неверный выбор\n";
}
system("pause");
goto MAKE_CHOICE;
return 0;
}
Задача 3. Введите N и выведите N первых степеней числа 2.
#include <iostream>
using namespace std;
int main() {
int n;
|
|
cout << "n=";
cin >> n;
int i=1;
int step=2;
START:
if (i<=n) {
cout << step << " ";
step*=2;
i++;
goto START;
}
system("pause");
return 0;
}
Задача 4. Введите N и вычислите сумму целых чисел от 1 до N.
#include <iostream>
using namespace std;
int main() {
int n;
cout << "n=";
cin >> n;
int i=1;
int summa=0;
START:
if (i<=n) {
summa += i;
i++;
goto START;
}
cout << "Summa=" << summa << endl;
system("pause");
return 0;
}
Задача 5. Введите N и выведите N первых элементов геометрической прогрессии при x0=3.3 и q=1.1.
#include <iostream>
using namespace std;
int main() {
int n;
cout << "n=";
cin >> n;
int i=1;
double elem=3.3;
START:
if (i<=n) {
cout << elem << "\n";
elem *= 1.1;
i++;
goto START;
}
system("pause");
return 0;
}
ЗАДАЧИ
Задачи этой темы нужно решать с помощью цикла на базе if и goto.
1. Организуйте меню из трёх пунктов: приветствие, прощание, выход.
2. Организуйте меню из трёх пунктов: вывод крестика, вывод квадратика, выход.
3. Создайте игру «Угадай число!», позволяющую угадать число за несколько попыток.
4. Выведите числа от 1 до 500.
5. Выведите числа от 500 до 1.
6. Выведите 500 звёздочек.
7. Введите символ и выведите его 500 раз.
8. Выведите 500 первых чётных чисел.
9. Выведите 500 первых нечётных чисел.
10. Введите N и выведите N случайных чисел.
11. Введите N и выведите числа от 1 до N.
12. Введите N и выведите числа от N до 1.
13. Введите N и выведите числа от 0 до -N.
14. Введите N и выведите числа от -N до 0.
15. Введите N и выведите все четные числа от 1 до N.
16. Введите N и выведите все нечетные числа от 1 до N.
17. Введите N и выведите все числа, делящиеся на 7, из диапазона от 1 до N.
18. Введите N и вычислите сумму 1+2+…+N.
19. Введите N и вычислите сумму 1/1+1/2+…+1/N.
20. Введите N и вычислите сумму 1/2+1/4+1/8…+1/2N.
|
|
21. Введите N и выведите его N раз. Например, число 5 должно быть выведено 5 раз, а число 20 – 20 раз.
22. Введите N и выведите N первых степеней числа 3.
23. Введите число и выведите 10 первых его степеней. Например, если введено число 3, то программа должна вывести 1, 3, 9, 27, 81, …, 19683.
24. Введите N и вычислите факториал от N.
25. Введите N и выведите целые числа от N до -N. Например, если введено число 3, то на экране должны появиться числа 3, 2, 1, 0, -1, -2, -3.
26. Введите N и выведите целые числа от -N до N. Например, если введено число 3, то на экране должны появиться числа -3, -2, -1, 0, 1, 2, 3.
27. Введите N и выведите N первых членов арифметической прогрессии при x0=2.7 и d=5.2.
28. Введите N и выведите N первых членов геометрической прогрессии при x0=3.3 и q=2.3.
29. Введите N и выведите все его делители. Например, делителями числа 28 являются числа 1, 2, 4, 7, 14, 28.
30. Введите N и определите количество его делителей. Например, делителями числа 28 являются числа 1, 2, 4, 7, 14, 28, поэтому программа должна сообщить 6.