Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЯВУ_УМР_Консоль.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.87 Mб
Скачать

3. Программирование алгоритмов разветвляющейся структуры

Подготовка к работе

1. По указанной литературе изучить:

  • возможности языка для реализации условной и безусловной передачи управления;

  • организацию вычислительного процесса с разветвляющейся структурой;

  • организацию множественного ветвления на произвольное число направлений.

2. Разработать алгоритмы решения задач в соответствии с заданием.

3. Составить программы решения задач.

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

  1. Дайте краткую характеристику видам вычислительных процессов.

  2. Понятие оператора присваивания. Оператор простого и сложного присваивания.

  3. Операторы отношений. Как с помощью логических операторов & и | можно строить сложные условия? Привести примеры применения этих операторов для решения условных выражений.

  4. Как средства языка C# позволяют организовать разветвляющийся вычислительный процесс?

  5. Поясните формат условного оператора ifelse. Полная и сокращенная формы.

  6. На примере поясните формат вложенного условного оператора ifelse if….

  7. Какие действия реализуются ПК при выполнении условного оператора?

  8. В каких случаях при программировании используется блочная инструкция {}?

  9. Формат оператора перехода goto…? Какие действия выполняются оператором безусловного перехода?

  10. Дайте понятие метки. Какие требования предъявляются к меткам?

  11. Зачем при отладке программы необходимо тестировать все ветви алгоритма?

  12. Когда применяется операторы выбора switch, case? Формат записи.

  13. Какие действия выполняются оператором выбора?

  14. Какого типа может быть выражение при использовании оператора выбора?

  15. Какими по типу должны быть константы списка при использовании оператора выбора?

Задание и порядок выполнения работы

  1. Задача 1. Создать проект – консольное приложение, которое по заданным расчетным формулам и наборам исходных данных, указанных в табл. 3.1, вычисляет значения соответствующих функций. На экран вывести значения вводимых исходных данных и результаты расчетов, сопровождая их вывод именами переменных. Значения аргумента взять из указанного диапазона так, чтобы протестировать все ветви программы.

Решение задачи должно состоять из блок-схемы алгоритма и реализующей его программы, снабженные пояснениями. Сохранить файл программы в своей папке на диске D:\Temp\ …\ Prg\Р3\P31 под именем Z1.

Таблица 3.1

N

Функции и условия

Данные и диапазон

1

a=0.5

x = [1 ; 4]

2

a=3

x = [1 ; 5]

3

b=0.5

x = [0 ; 3]

4

a=2

x = [1 ; 6]

5

b=3.2

x = [-2 ; 3]

6

a=2.3

x = [1 ; 5]

7

b=5

x = [-5 ; 1]

8

a=2.5

x = [0 ; 4]

9

a=0.9

x = [1 ; 3]

10

b=2.6

x = [0 ; 5]

11

a=20.3

x = [0.5 ; 3]

12

a=2, b=1.5

x = [1 ; 5]

  1. Задача 2. Используя операторы условия и выбора, написать программу, с помощью которой можно вывести сообщение о том, что вводимое с клавиатуры целое число будет четное или нечетное, а так же положительное или отрицательное.

Решение задачи должно состоять из блок-схемы алгоритма и реализующей его программы, снабженные пояснениями. Сохранить файл в своей папке D:\Temp\ …\ Prg\Р3\P32 под именем Z2.

  1. Cкопировать папки P31 и P32 с их содержимым на Flash-память.

  2. Завершить работу и подготовить отчет. В отчете для каждой задачи (п.п. 1, 2) отразить: условие, блок-схему, программу, полученные результаты.

На защите уметь составлять программы по любому варианту заданий, приведенных в табл. 3.1.

Методические указания по выполнению задания

Задача1. Вычислить на ПЭВМ значения функции:

где k=1.2, a=2, b=4,

x0…6

Обратим внимание, что функция y не определена в диапазоне 2 < x ≤ 4 {x > 2 & x ≤ 4}. В этой ситуации программа должна обеспечить вывод соответствующего сообщения, например "функция не определена". Таким образом, фактически имеем три диапазона изменения x:

функция

sin(x) не определена k·ln(x)

0 2 4 6 x

Примем диапазон изменения x от 0 до 6, что позволит протестировать программу по всем трем условиям. Поскольку в задаче три условия, число блоков «решение» в алгоритме должно быть два (на единицу меньше числа условий). Блок-схема одного из вариантов алгоритма решения задачи (рис.3.1) и соответствующая программа будут иметь вид:

Рис. 3.1. Блок-схема алгоритма задачи 1

Результаты решения задачи 1:

Методы ввода данных

Вводить данные можно программно, присваивая переменным или константам значения в соответствии с объявленным ранее типом или непосредственно с клавиатуры при исполнении программы. Для этого используются следующие методы:

x = Convert.ToDouble(Console.ReadLine()); //вещественный тип

d = Convert.ToInt16(Console.ReadLine()); //целый тип

z = Convert.ToInt32(Console.ReadLine()); //целый тип

ch=Convert.ToChar(Console.ReadLine()); //символьный тип

Методы содержат процедуру чтения с последующим образованием новой строки (ReadLine()) и функцию преобразования вводимых с клавиатуры данных, воспринимаемых в виде строки в тип данных, соответствующих объявленному диапазону.

Задача 2. Программа принимает с клавиатуры номер дня недели и в зависимости от его значения выводит на дисплей текстовый комментарий: учеба, самоподготовка, отдых.

Рис. 3.2. Блок-схема алгоритма задачи 2

Результаты работы программы

Задания для самостоятельного решения.

Составить блок-схему и написать программу, вычисляющую значения переменных, заданных по варианту, приведенному в таблице 3.2

Таблица 3.2

N

Задачи

1

Даны 2 разных по значению числа (a и b). Меньшее из этих двух чисел заменить их полусуммой, а большее - их удвоенным произведением.

2

Даны х, у. Если х и у отрицательны, то их значения заменить абсолютной величиной; если отрицательно только одно их них, то оба значения увеличить на 0.5; если оба значения неотрицательны, то увеличить их в 10 раз.

3

Даны 2 разных по значению числа (a и b). Большее из этих двух чисел заменить их суммой, а меньшее - их утроенным произведением.

4

Даны х, у. Если х и у отрицательны, то их значения возвести в квадрат; если отрицательно только одно их них, то оба значения увеличить вдвое; если оба значения неотрицательны, то уменьшить их в 5 раз.

5

Даны 2 разных по значению числа (a и b). Меньшее из этих двух чисел заменить их разностью, а большее - их произведением.

6

Даны х, у. Если х и у отрицательны, то их значения возвести в куб; если отрицательно только одно их них, то оба значения увеличить вдвое; если оба значения неотрицательны, то уменьшить их в 2 раза.

7

Даны 2 разных по значению числа (a и b). Большее из этих двух чисел заменить его квадратом, а меньшее – полусуммой заданных чисел.

8

Даны х, у. Если х и у положительные, то их значения уменьшить втрое; если отрицательно только одно их них, то оба значения уменьшить на 0.5; если оба значения отрицательны, то заменить их абсолютной величиной.

9

Даны 2 разных по значению числа (a и b). Меньшее из этих двух чисел заменить их произведением, а большее – в два раза уменьшить.

10

Даны х, у. Если х и у положительные, то их значения увеличить на 1,5; если отрицательно только одно их них, то оба значения уменьшить вдсое; если оба значения отрицательны, то заменить их абсолютной величиной.

11

Даны 2 разных по значению числа (a и b). Большее из этих двух чисел заменить их полусуммой, а меньшее – его квадратом.

12

Даны х, у. Если х и у положительные, то их значения увеличить вдвое; если отрицательно только одно их них, то оба значения уменьшить на 0,5; если оба значения отрицательны, то возвести их в квадрат.

Составить блок-схему и написать программу, вычисляющую функцию, приведенную по варианту в таблице 3.3, в заданном диапазоне с шагом dx,. Задачу решить с использованием операторов условного и безусловного переходов.

Таблица 3.3

N

Функции и условия

Диапазон, шаг dx

1

x = [-20 ; 20], dx=2

2

x = [-10 ; 20] , dx=3

3

x = [-30 ; 10] , dx=4

4

x = [-20 ; 20] , dx=2

5

x = [-10 ; 30] , dx=3

6

x = [-30 ; 30] , dx=4

7

x = [-10 ; 20] , dx=2

8

x = [-10 ; 20] , dx=3

9

x = [-20 ; 50] , dx=4

10

x = [-20 ; 10] , dx=2

11

x = [-10 ; 20] , dx=3

12

x = [-20 ; 20] , dx=2

Программы ввести в редактор кода, отладить, исполнить и проанализировать результат на соответствие поставленной задачи.