Индивидуальные задания

Лабораторная работа 3

Программирование Циклических алгоритмов

Цели работы:

1. изучить синтаксис и работу операторов повторения,

2. научиться применять изученные возможности в программах,

3. разработать и отладить программу для реализации циклического вычислительного процесса.

Пример создания приложения

Задание. Создать программу, которая для заданного количества слагаемых N выводит значение функции S(x) для заданного значения переменной х с использованием одного из трех типов цикла (for, while, do-while) по выбору пользователя:

Внешний вид окна программы представлен на рисунке.

 

 

Ход работы

Этап 1. Проектирование окна приложения

à Запустить Microsoft Visual Studio 2010.

à Создать новый проект под именем ExampleLab3.

à Поместить на форму компоненты согласно рисунку и настроить их свойства согласно таблице 1.

 

Таблица 1.

Имя компонента Изображение на панели элементов Настраиваемые свойства и их значение Назначение элемента
1 Form1 (главное окно)   Name = MainForm Text = ” Примерк  работе 3” Главная форма приложения
2 label1 (метка) Name = labelX Text = ” X=” Вывод комментария о назначении строки ввода
3 label2 (метка) Name = labelN Text = ” N=” Вывод комментария о назначении строки ввода
4 label3 (метка) Name = labelCheck Text = ” Выберите тип цикла” Вывод комментария о назначении выпадающего списка
5 textBox1 (строка ввода) Name = textBoxX Строка для ввода значения Х
6 textBox2 (строка ввода) Name = textBoxN Строка для ввода значения N

 

Имя компонента Изображение на панели элементов Настраиваемые свойства и их значение Назначение элемента
7 comboBox1 (выпадающий список) Name = comboBoxCheck Items = for while do-while Выпадающий список для выбора функции. Для задания списка функций в свойстве Items нажать кнопку … и ввести список в окне редактора коллекции строк
8 listBox1 (список выбора) Name = listBoxRez ScrollAlwaysVisible = True Список выбора, используемый для вывода в него результатов расчёта. Задана вертикальная полоса прокрутки (свойство ScrollAlwaysVisible)
9 button1 Name = buttonRez Text = Расчёт Кнопка для выполнения расчёта
10 button2 Name = buttonClear Text = Очистка Кнопка для выполнения очистки поля вывода

 

à Сохранить изменения в проекте.

 

Этап 2. Создание обработчиков событий

 

Внимание! На данном этапе создаются обработчики:

-  события “ создания формы ” (Load), в котором выполняется окончательная настройка окна приложения при запуске программы, а также обработчик

- события нажатия кнопки РАСЧЁТ, в котором выполняется расчет и вывод в список listBoxRez результатов вычисления функции

- события нажатия кнопки ОЧИСТКА, в котором поле listBoxRez очищается.

 

 

à Активизировать окно дизайнера формы.

à Выполнить двойной щелчок л.к.м. на свободном месте формы. При этом автоматически генерируется шаблон кода подпрограммы, которая будет выполняться при выводе окна на экран. Имя подпрограммы MainForm_Load

à Ввести между фигурными скобками текст программы:

 

 

à Выполнить двойной щелчок л.к.м. на кнопке «РАСЧЁТ» и сгенерировать обработчик нажатия кнопки.

à Между {...} записать текст программы:

 

à Выполнить двойной щелчок л.к.м. на кнопке «ОЧИСТКА» и сгенерировать обработчик нажатия кнопки.

à Между {...} записать текст программы:

 

 

à Сохранить изменения в проекте.

à Запустить приложение и проверить его работу.

 

Индивидуальные задания

По указанию преподавателя в соответствии с номером бригады выберете свое индивидуальное задание из нижеприведенного списка. Уточните условие задания и исходные данные. Отредактируйте вид формы и текст программы в соответствии с заданием.

Прочтите в литературе справочную информацию об операторах цикла ([Павловская]: стр. 75-87).

Задание 1

Варианты 1-15. Создать программу, которая для заданного количества слагаемых N выводит значение функции S(x) для заданного значения переменной х с использованием одного из трех типов цикла (for, while, do-while) по выбору пользователя. Также программа должна выводить значение Y(x) для проверки правильности расчёта.


Таблица 2

X S(x) Y(x)
1 0.1 16
2 0.1 10
3 0.1 12
4 0.1 8
5 0.1 14
6 0.1 8
7 0.1 12
8 0.1 10
9 0.1 14
10 0.1 15 arctgx
11 0.1 10
12 0.1 8
13 -2 16
14 0.2 12
15 0.1 18

16. Задано целое десятичное число N. По выбору пользователя определять сумму его цифр, количество его цифр или максимальную его цифру. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

17. Задано целое десятичное число N. По выбору пользователя определить максимальную его цифру, минимальную его цифру или сумму максимальной и минимальной цифр. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

18. Задано целое десятичное число N. По выбору пользователя определить количество повторений заданной цифры или количество цифр в числе или количество его цифр, кратных двум. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

19. Задано целое десятичное число N. По выбору пользователя определить сумму квадратов его цифр или произведение его цифр или среднее арифметическое его цифр. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

20. Задано целое десятичное число N. По выбору пользователя определить количество делителей числа или сумму делителей или вывести сами делители. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

21. Задано целое десятичное число N. По выбору пользователя определить количество его делителей, кратных d, или сумму его четных делителей или вывести все делители. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

22. Заданы два целых числа N и K (N<K). По выбору пользователя определить все целые числа из диапазона [N,K], у которых количество делителей равно k или сумму делителей для каждого целого числа этого диапазона. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

23. Заданы два целых числа N и K (N<K). По выбору пользователя определить количество делителей для каждого целого числа из диапазона [N,K] или количество целых чисел этого диапазона, кратных 5. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

24. Заданы два целых числа N и K (N<K). По выбору пользователя определить все целые числа из диапазона [N,K], у которых ровно 5 делителей или количество простых чисел этого диапазона. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

25. Заданы два целых числа N и K (N<K). По выбору пользователя определить все целые числа из диапазона [N,K], у которых сумма делителей кратна 10 или количество делителей ровно 10. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

26. Заданы два целых числа N и K (N<K). По выбору пользователя определить целое число из данного диапазона, имеющее наибольшее количество делителей или все простые числа данного диапазона. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).

27. Заданы два целых числа N и K (N<K). По выбору пользователя определить количество делителей для каждого целого числа этого диапазона или сумму его цифр. Также по выбору пользователя производить расчёт одним из трех типов цикла (for, while, do-while).


Задание 2

Варианты 1-15. Создать программу, которая вычисляет с заданной точностью 0<ε<1 значение функции S(x) для заданного значения переменной х с использованием одного из трех типов цикла (for, while, do-while) по выбору пользователя. Для контроля правильности вычислений программа должна выводить значение Y(x). Также предусмотреть аварийный выход из циклов с выводом предупреждающего сообщения по достижении максимально допустимого количества итераций (MaxIter = 1000).

Варианты 16-27. Создать программу, которая решает поставленную задачу с использованием одного из трех типов цикла (for, while, do-while) по выбору пользователя. Предусмотреть аварийный выход из циклов с выводом предупреждающего сообщения по достижении максимально допустимого количества итераций (MaxIter = 100).

 

Контрольные вопросы

1. Для чего предназначены операторы повторений?

2. Как изображается на блок-схемах счетный цикл?

3. Синтаксис и правила работы оператора for.

4. Особенности оператора for.

5. Какие существуют варианты записи оператора for и в чем их различия.

6. Что такое тело цикла, начальные установки, итерация, переменная цикла?

7. Напишите фрагмент программы определения делителей натурального числа.

8. Как работает оператор присваивания, в котором слева и справа от знака присваивания находится одна и та же переменная и для чего он используется в теле цикла?

9. Как изображается на блок-схемах цикл с предусловием?

10. Синтаксис и порядок работы оператора while.

11. Особенности оператора while.

12. Перечислите отличия в использовании циклов while и for.

13. Почему цикл while является наиболее универсальным типом цикла?

14. Как применяется цикл while в алгоритме разбора натурального числа на цифры?

15. Что такое табулирование функции?

16. Как оператора while изображается на блок-схеме?

17. Синтаксис и порядок работы оператора do-while.

18. Перечислите отличия в использовании циклов while и do-while.

19. Почему цикл do-while является менее универсальным, чем while?

20. Как оператора do-while изображается на блок-схеме?

21. Как работает конструкция вложенных циклов?

22. Особенности оператора do-while.

23. Почему цикл с постусловием является менее универсальным, чем цикл с предусловием?

24. Как работает конструкция вложенных циклов?

25. Перечислить и пояснить назначение операторов передачи управления.

26. Особенности оператора goto.

27. Особенности оператора break.

28. Особенности оператора continue.

29. Особенности оператора return.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: