Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы алгоритмизации и программирования. Часть 1. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
ЗАДАНИЕ 1
Выведите на экран текстовое сообщение “Hello, world!”.
ТЕХНОЛОГИЯ РАБОТЫ
В среде Microsoft Visual Studio изучение основ языков и создание консольного приложения удобнее всего выполнять в пустом проекте при написании кода с нуля.
1. Для того чтобы создать пустой проект, запустите Microsoft
Visual Studio Ultimate 2010, в открывшемся окне “Toolbox - Microsoft Visual Studio” в меню File выберите пункт New, Project. В левой
части открывшегося окна “New Project” выберите Visual Basic, Windows, а в правой выделите пункт Empty Project. В нижней части окна в поле Name введите название проекта First_basic и обратите внимание на путь к папке, в которой сохранится проект, после чего нажмите ОК.
2. После создания пустого проекта добавьте основной файл, для этого в
меню Project выберите пункт Add New Item. В правой части открывшегося окна “Add New Item - First_basic” выберите Module и нажмите кнопку Add. В результате файл будет добавлен в папку проекта и его название Module1.vb отобразится в окне панели Solution Explorer, а сам файл будет открыт на отдельной вкладке с именем Module1.vb, изображенной на рис. 1.4.
3. В открытой вкладке с именем Module1.vb между строками,
содержащими команды начала и конца модуля Module Module1 и End
Module, вставьте процедуру с названием main, которая будет автоматически вызываться при запуске программы, для этого введите команду
Sub main()
и нажмите Enter. Обратите внимание, что строкой ниже автоматически добавилась команда окончания процедуры End sub. Между этими двумя строками введите функцию вывода сообщения на экран
MsgBox(“Hello, world”)
11
Рис. 1.4
Module Module1 Sub main()
MsgBox(“Hello, world!”) End Sub End Module
Рис. 1.5
4. Скомпилируйте и запустите программу. Для этого в меню Build
выберите пункт Build Solution. В результате, в окне “Output” отобразится следующая информация
First_basic -> C:\Documents and Settings\--\Мои документы\Visual Studio 2010\--\First_basic.exe
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
Данная информация показывает отсутствие ошибок в программе и успешное создание файла First_basic.exe. Если при наборе программы будут допущены ошибки, то их описание появится в окне “Output”.
12
Для того чтобы посмотреть результат выполнения программы, в меню
4
1
=ay
Sub main() 'вызов процедуры задание1() задание1() End Sub 'процедура задание1() Sub задание1() MsgBox("Hello, world!") End Sub
Debug выберите команду Start Debugging или нажмите клавишу F5. В
результате откроется окно результата с текстовым сообщением “Hello, world!”, для закрытия которого нажмите кнопку ОК.
5. По команде File, Save all сохраните проект First_basic.
6. Поскольку в Basic в среде Microsoft Visual Studio первой запускается
процедура main(), для упорядочивания выполнение работы каждое новое задание будем выполнять в отдельной процедуре, а из процедуры main()-
вызывать процедуру, выполняющую требуемое задание. Подробнее о вызове процедур поговорим в задании 8, а пока воспользуемся этой возможностью без детального пояснения.
В текст программы внесите следующие изменения, представленные на рис. 1.6. Обратите внимание, что символом ' отмечается начало комментария, который позволяет делать пояснения к программе. Комментарии в Visual Studio выделяются зеленым цветом.
Рис. 1.6
8. Скомпилируйте и запустите измененную программу, повторно
сохраните проект.
Вычислите значение выражения z = x2 + y3 при x = 256,2 и
число, равное 3. (Ответ: z = 65638,88).
ЗАДАНИЕ 2
, где a -
13
ТЕХНОЛОГИЯ РАБОТЫ
Sub main() 'вызов процедуры задание1() Задание1() 'вызов процедуры задание2() Задание2() End Sub
Рис. 1.8
Рис. 1.7
а
б
Sub задание2() 'Объявление вещественных переменных 'a,x,y и z Dim a As Single Dim x As Single Dim y As Single Dim z As Single 'Ввод x x = InputBox("Вводите х=") 'Ввод a a = InputBox("Вводите a=") 'Расчет y и z y = 1 / (a ^ (1 / 4)) z = x ^ 2 + y ^ 3 'Вывод результата z MsgBox("Вывод z=" & z) End Sub
Начало
Ввод x,a
y :=1/(a^(1/4))
z: = x^2+y^3
Вывод z
Конец
1. Перерисуйте в тетрадь блок-схему на рис. 1.7, а.
2. Под процедурой задание1() введите процедуру задание2(),
листинг которой представлен на рис. 1.7, б.
В главной процедуре main() добавьте вызов процедуры задание2(), для этого внесите изменения, изображенные на рис. 1.8.
внимание, что процедура задание2() исполняется после процедуры
задание1(). Для того чтобы первая процедура не отвлекала от отладки второй, в процедуре main() закомментируйте задание1(), поставив перед ним символ '.
3. Выполните компиляцию
программы по команде Build, Build Solution. После исправления ошибок (если они имеются) перейдите к выполнению программы. Обратите
14
4. Выполните повторную компиляцию программы и перейдите к ее
227 xx
xxx 84
3
)+( ba
x
322
1
32
xxx
73,1x
x
1
1
1
1
1
 
 
 
 
2
2
2
1
1
x
xx
x
x
22
1132 xxx
39
22
xxxx
x
x
xxxx
6
3
3
1
31375 xxx
09,0x
xx
25216
50025
1
2
x
x
x
пошаговому выполнению, для этого многократно нажимайте кнопку F11.
Пошаговое выполнение удобно использовать, если требуется детально
проанализировать работу программы, например найти ошибку.
5. Самостоятельно составьте блок-схемы, наберите и запустите
программы для вычисления одного или двух нижеследующих арифметических выражений (в зависимости от числа студентов, работающих на компьютере).
1) y =
2) y =
при х = 3. Ответ: y = 4.
при х = 14,933. Ответ: y = 1.
6. Самостоятельно создайте процедуру для решения первой
самостоятельной задачи индивидуального варианта из табл. 1.8.
Задачи для самостоятельной работы № 1
Составить блок-схему и программу на Basic для вычисления значений
арифметического выражения, номер которого указывается преподавателем.
1. y =
2. y =
3. y =
при x = 2,35, a = 0,89, b = 2,065. Ответ: y =12,5.
при
. Ответ: y = 5,09.
при х = 5. Ответ: y = 1,86.
4. y =
5. y =
6. y =
7. y =
8. y =
9. y =
10. y =
при х = 1. Ответ: y = 42.
при х = 1. Ответ: y = 0.
при х = 3,14. Ответ: y = 12,7.
при х = -2. Ответ: y = 10.
при х = 1 Ответ: y = 6.
при х = 3. Ответ: y = 3.
при
15
. Ответ: y = 0.
1.4. Логические выражения и условные операторы
A
B
Not a
a And b
a Or b
a Xor b
T T F T T F T F F F T T F T T F T T F F T F F
F
Операция сравнения
Знак операции
Равно
=
Не равно
<>
Меньше
<
Больше
>
Меньше или равно
<=
Больше или равно
>=
Логические выражения в результате вычисления принимают два значения: T (true - истина) или F (false - ложь).
Логические выражения содержат 4 логические операции: отрицание -
Not, логическое умножение (И, конъюнкция) - And, логическое сложение (ИЛИ, дизъюнкция) - Or, исключающее ИЛИ - Xor. Результаты логических
операций для различных значений логических переменных a и b (типа Boolean) приведены в табл. 1.4.
Таблица 1.4
Значения «истина» или «ложь» дают результаты операций сравнения,
представленные в табл. 1.5.
Таблица 1.5
Переменные, логические выражения и операции сравнения образуют
условные операторы, которые в виде блок-схем и описаний на псевдокоде и языке Basic приведены в табл. 1.6. В первой строке табл. 1.6 дается условный оператор с неполным ветвлением, во второй - с полным ветвлением, а в третьей- с полным ветвлением и двумя условиями.
16
Ниже рассматриваются примеры программирования условных
0 или 3 если 4,
3;≤≤ 0 если ,
2
xx
xx
f
 
 
7 если ,ln
;1 если ,4
;71 если ,93
3
xx
xx
xx
f
операторов на Basic, которые потребуются при выполнении второй самостоятельной работы.
Пример 1.1. Применяя логические операции из табл. 1.4, операции сравнения из табл. 1.5 и условный оператор с полным ветвлением из табл. 1.6, рассмотрим на языке Basic программы для:
а) определения наибольшего (max) среди двух чисел a и b:
If a>b Then
max = a
Else
max = b
End If
б) вычисления значения функций
для заданного x
If (x>=0) And (x<=3) Then
Else
End If
в) вычисления значения функции
для заданного х
If (x>=1) And (x<=7) Then
f = x^2
f = 4
f = 3*x+9
ElseIf x<1 Then
f = 4*x^3
Else
f = log(x) End If
17
Таблица 1.6
Блок - схема
Псевдокод
Basic
если Условие то Оператор
If Условие Then Оператор
если Условие то Оператор 1
иначе
Оператор2
Все
If Условие Then
Оператор1
Else
Оператор 2
End If
если Условие 1 то Оператор 1
иначе если
Условие2 то Оператор 2
иначе
Оператор3
Все
If Условие 1 Then
Оператор1
ElseIf Условие 2 Then Оператор 2
Else
Оператор 3
End If
1 3 2
Условие
Оператор 2
Оператор 1
Нет
Да
Условие
Оператор
Нет
Да
Условие 1
Условие 2
Оператор 1
Оператор 2
Оператор 3
Нет
Нет
Да
Да
Пример 1.2. Рассмотрим на языке Basic программы для:
а) вычисления суммы S и среднего значение Sr трех чисел a, b, c. Используя операцию присвоения, запишем программу на Basic для вычисления суммы и среднего значения двумя способами:
1) N=3 2) S=0
S=a+b+c N=0 Sr=S/N S=S+a
N=N+1
S=S+b N=N+1
S=S+c
N=N+1 Sr=S/N
18
Второй способ используется в тех случаях, когда заранее неизвестны
количество N и/или значения переменных a, b, c.
б) вычисления произведения Р трех чисел a, b, c. Запишем программу на
Basic для вычисления произведения двумя способами:
1) P=a*b*c 2) P=1
P=P*a P=P*b P=P*c
Второй способ используется в тех случаях, когда заранее неизвестны
значения переменных a, b, c.
в) вычисления суммы S, среднего значения Sr и количества No отрицательных чисел среди чисел a, b, c. Указание: поскольку заранее неизвестны количество No и/или значения переменных a, b, c, то надо использовать второй способ примера 1.2, а. Программа на Basic будет иметь вид:
S=0 No=0 If a<0 Then
S=S+a
No=No+1 End If If b<0 Then
S=S+b
No=No+1 End If If c<0 Then
S=S+c
No=No+1 End If Sr=S/No
г) определения, имеется ли среди трех чисел a, b, c только одно
положительное число.
Указание: должно выполняться условие
((a>0) И (b<0) И (c<0)) ИЛИ ((b>0) И (a<0) И (c<0)) ИЛИ ((c>0) И (a<0) И (b<0)).
Вывод словесный: “Имеется” или “Не имеется”. Ниже приводится программа на BASIC, содержащая условие и вывод.
19
If (a>0)And(b<0)And(c<0))Or((b>0)And(a<0)And
случае. противном в 1
; если ,
xy
yxyx
Z
x y Z
2
45
44
0,5
56,6
57,1
15
15
1
(c<0))Or((c>0)And(a<0)And(b<0)) Then
MsgBox(“Имеется”)
Else
MsgBox(“Не имеется”)
End If
д) подсчета суммы S чисел a, b, c, d, делящихся без остатка на 3.
Указание: здесь заранее неизвестны сами числа, делящиеся на 3, поэтому воспользуемся вторым способом примера 1.2, а и формулой определения остатка от деления двух целых чисел a mod 3, b mod 3, c
mod 3, d mod 3 из табл. 1.2. Тогда программа на Basic будет иметь вид:
S=0 If (a mod 3)=0 Then S=S+a If (b mod 3)=0 Then S=S+b If (c mod 3)=0 Then S=S+c If (d mod 3)=0 Then S=S+d
ЗАДАНИЕ 3
Составьте процедуру задание3() на языке Basic для вычисления математического выражения, содержащего условные операторы.
Даны два вещественных числа - x и y. Вычислить значения функции
Ответ:
ТЕХНОЛОГИЯ РАБОТЫ
1. Перерисуйте в тетрадь блок-схему на рис. 1.9, а, а затем приступите к набору процедуры на рис. 1.9, б, компиляции, отладке и выполнению программы.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]