Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Пример 4.4.3-6. Даны действительные числа x0, y0. Определить принадлежит ли точка с координатами (x0, y0) геометрической фигуре: ромб с вершинами в точках (0, 1), (1, 0), (0, -1), (-1, 0).





На этапе формализации задачи, прежде всего, построим заданную геометрическую фигуру (рис. 4.4.3-17).

 

 

Рис. 4.4.3-17. Ромб с вершинами в точках (0, 1), (1, 0), (0, -1), (-1, 0)

 

Известно, что ax+by=c – это уравнение прямой, а ax+by≤c и ax+by≥c – это два множества, одно из которых лежит над прямой (включая точки этой прямой), а другое под этой прямой. Для того чтобы выяснить, какое из неравенств надо взять, необходимо подставить координаты любой точки
M(x1, y1) в это неравенство (лучше взять точку M(0, 0), чтобы упростить вычисления).

Если ее координаты удовлетворяют этому неравенству, значит, эта точка M принадлежит указанному множеству, в противном случае – нет. Запишем уравнения прямых AB, BC, CD, DA:

AB: x-y=-1; BC: x+y=1; CD: x-y=1; DA: x+y=-1.

Таким образом, для того чтобы точка M0(x0, y0) принадлежала замкнутой заштрихованной области, необходимо выполнить следующие условия:

 

.

Разобьем решение задачи на несколько отдельных этапов и создадим процедуры пользователя, реализующие эти задачи:

1) Процедуру-подпрограмму Resh(), которая возвращает строку с ответом на вопрос, принадлежит ли точка с передаваемыми через параметры координаты заданной геометрической фигуры.

2) Процедуру-функцию vvod() для ввода действительного числа из TextBox.

3) Процедуру-подпрограмму vivod() для вывода строки в TextBox.

4) Событийную процедуру, которая должна содержать вызовы всех разработанных процедур.

5) Программный код решаемой задачи представлен на рис. 4.4.3-18.

 

Option Strict On Option Explicit On Imports System.Math Public Class Form1 'Функция ввода значения вещественного типа из TextBox Function vvod(ByVal T As TextBox) As Double Return CDbl(T.Text) End Function 'Процедура вывода результата в TextBox Sub vivod(ByVal Z As String, ByRef T As TextBox) T.Text = Z End Sub ' Процедура решения задачи Sub Resh(ByVal x0 As Double, ByVal y0 As Double, _ ByRef z As String) If Abs(x0 - y0) <= 1 And Abs(x0 + y0) <= 1 Then z = "Точка принадлежит фигуре" Else z = "Точка не принадлежит фигуре" End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) _ Handles Button1.Click Dim x, y As Double Dim z As String x = vvod(TextBox1): y = vvod(TextBox2) Resh(x, y, z): vivod(z, TextBox3) End Sub End Class

Рис. 4.4.3-18. Программный код проекта Пример 4.3-6

Пример 4.4.3-7. Задано число n. Если n – натуральное нечетное число, меньше 10, то целочисленной переменной f присвоить 1, если n – натуральное четное число, то переменной f присвоить 2, если n – отрицательное, то присвоить f значение -1, если значение n находится внутри отрезка [10;1000], то f присвоить 10, иначе f присвоить 0.

 

Function Pr4319(ByVal n As Integer) As Integer Dim f As Integer Select Case n Case 1, 3, 5, 7, 9 f =1 Case 2, 4, 6, 8 f =2 Case Is <0 f =-1 Case 10 TO 1000 f =10 Case Else f =0 End Select Return f End Function

Рис.4.4.3-19. Программный код процедуры Pr4319()

Проекта Примера 4.4.3-7

Программный код решения Примера 4.4.3-7 с использованием оператора Select Case приведены на рис.4.4.3-19.

Процедура- Function Pr4319() может быть вызвана из любой другой процедуры или из модуля формы, например, как на рис. 4.4.3-20.

 

 

Dim ff As Integer Dim nn As Integer nn= vvodInt4(TextBox1) ff=Pr4319(nn) vivodInt4(ff, TextBox2))

 

Рис. 4.4.3-20. Пример вызова процедуры Pr4319()

Проекта Примера 4.3-7

 

 


4.4.4. Тестовые задания

1. К условным операторам относятся

1) If...Then...Else

2) For...Next

3) While...Wend

4) Select Case

5) Do Until...Loop

2. Оператор If-Then – это оператор

1) стандартного разветвления

2) усеченного разветвления

3) вложенного разветвления

4) блочного разветвления

3. Оператор If-Then-Else – это оператор

1) усеченного разветвления

2) блочного разветвления

3) стандартного разветвления

4) вложенного разветвления

4. В операторе условного перехода между словами If-Then может быть

1) арифметическое или логическое выражение

2) логическое выражение

3) оператор присваивания

4) любой оператор

5. Разветвляющийся алгоритм может быть

1) стандартным, вложенным, усеченным, регулярным

2) стандартным, вложенным, усеченным

3) стандартным, вложенным, усеченным, итерационным

4) нет верного ответа

6. В операторе условного перехода If обязательно должно присутствовать слово

1) End If

2) Else

3) Then

4) ThenElse

7. Ошибочно записан оператор

1) If a>a Then c=1: d =5

2) If a>a Then c=1: d =5

3) If a+b Then c=1: d=5

4) If a>B Then c=1 Else d=5


 

8. Логические переменные не могут принимать значения

1) истина

2) ложь

3) да

4) нет

5) может быть

9. В операторе условного перехода If после слова Then может быть

1) любой оператор Visual Basic

2) оператор присваивания

3) арифметическое или логическое выражение

4) нет верного ответа

10. Переменным x, y, z будут присвоены значения в результате выполнения фрагмента программы

x = 66: y = 58 If x > y Then z = x - y If x <= y Then z = x – y

1) 58 58 124

2) 66 58 08

3) 58 58 0

11. Переменной z будет присвоено значение ### в результате выполнения фрагмента программы

a = 15: b = 10: c = 25 If a > b And a < c Then z = a Else z = c End If

12. Последовательность операторов, в результате выполнения, которых будет найдено наибольшее значение переменных X и Y

1) МАХ = Abs(Х-Y) / 2 + (X + Y) / 2

2) If X > Y Then MAX = X

3) If X < Y Then MAX = Y

4) If X > Y Then MAX = X Else MAX = Y

5) MAX = ABS(X - Y) / 2 - (X + Y) / 2

13. Условное выражение Not((X<=10) Or (X>= 20)) может использоваться для проверки

1) принадлежит ли число интервалу (10;20)

2) выходит ли число за пределы интервала (10;20)

3) принадлежит ли число интервалу [10;20]

4) выходит ли число за пределы интервала [10;20]


 

14. Для вычисления значения переменной у по формуле


необходима конструкция

1) If X < 2 Then Y = Abs(X): Y = X^2

2) If X < 2 Then Y = X^2: Y = Abs(X)

3) If X < 2 Then Y = Abs(X) Else Y = X ^ 2

4) If X < 2 Then Y = X^2 Else Y = Abs(X)

15. Логическое условие попадания точки (х, у) в заштрихованную область

можно записать как #

1) ((x-2)**2+y*y<=4) Or (y>x/2)

2) (x-2)**2+y*y<=4 Or y>x/2

16. Логическое условие, описывающее ограниченную область,

можно записать

1) (x>-1) Or (y<1) Or (x-y<2)

2) (x>-1) And (y<1) And (x-y<2)

3) (x>-1) Or (y<1) Or (x+y>2)

4) (x>-1) Or (y<1) And (x+y>2)

5) (x>-1) And (y<1) Or (x+y>2)

17. Логическое условие, описывающее ограниченную область,

1) (x<3) And (y<1) And (x+y>0)

2) (x<3) Or (y<1) Or (y<x)

3) (x<3) Or (y<1) Or и (x+y>0)

4) (x<3) Or (y<1) And (x-y>0)

5) (x<3) Or (y<1) Or (x-y<0)


6)

18. Логическое условие, описывающее ограниченную область,

1) (x >-1) And (y<3) And (x<y)

2) (x >-1) Or (y<3) Or (x>y)

3) (x >-1) Or (y<3) Or (x<y)

4) (x >-1) Or (y<3) And (x>y)

5) (x >-1) Or (x>y) And (y<3)

19. Логическое условие, описывающее ограниченную область,

1) Sqrt(x*x+y*y)<R Or y>0

2) Sqrt(x*x+y*y)<R Or y<0

3) Abs(x)<R Or y>0 Or y<R

4) Abs(x)<R Or y<0 Or y>-R

5) Abs(x)<R Or Abs(y)<R

20. Логическое условие, описывающее ограниченную область,

1) Abs(x)<R Or y<0 Or y>-R

2) Sqrt(x*x+y*y)<R Or y<0

3) Abs(x)<R Or y>0 Or y<R

4) Sqrt(x*x+y*y)<R Or y>0

5) Abs(x)<R Or Abs(y)<R


4.4.5. Лабораторная работа по теме «Программирование алгоритмов разветвляющихся структур»

 

Цель данной работы состоит в получении навыков разработки проектов, использующих алгоритмы разветвляющихся структур, в изучении стандартных алгоритмов разветвляющихся структур, использовании оператора Select Case.

Вопросы, подлежащие изучению

 

1) Стандартные алгоритмы разветвляющихся структур, синтаксис операторов.

2) Программирование структур разветвления.

3) Оптимальные алгоритмы нахождения минимального и максимального значения.

4) Использование оператора выбора Select Case.

4.4.5.2. Общее задание на разработку проекта

1) Изучите вопросы программирования алгоритмов разветвляющихся структур (Тема 4).

2) Создайте приложение с именем Проект-4.4.

3) Выберите вариант задания из табл. 4.4.5-1.

4) Проведите формализацию поставленной задачи.

5) Разработайте графический интерфейс пользователя.

6) Составьте схемы алгоритмов решения поставленной задачи.

7) Напишите программный код процедур пользователя в соответствии со схемами алгоритмов. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.

8) Докажите правильность полученных результатов на заранее разработанных тестах для всех ветвей программы.

 


 

Варианты индивидуальных заданий

Таблица 4.4.5-1

Задача
1) e=
2) z=
3) z=
4) z=
5) g=
6) f=
7) d=
8) z=
9) z=
10) d=
11)
12) p=
13) r=
14) r=
15) s=
16) t=
17) u=
18) f=
19)
20) v=
21) h=
22) z=
23)
24) l=
25) Z=
26) z=
27) z=
28)
29)
30) y=

 

Содержание отчёта

 







Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.