Добавлен: 21.10.2018
Просмотров: 1971
Скачиваний: 6
21
Практическая работа № 4
Технология структурного программирования
Цель работы – исследовать механизм вызова подпрограмм из
основной программы и овладеть навыками описания и использования
процедур и функций как разновидностей подпрограмм.
1. Вам предстоит, действуя по шаблону, создать программы вызова
подпрограмм, передачи им фактических параметров и сохранить их в
виде файлов CallPr_1.pas, CallPr_2.pas.
2. Переписать из листинга № 1 и отладить программу ввода, модификации и
вывода числового массива.
Листинг 1. Программа ввода, модификации и вывода числового массива.
Program CallPr_1;
Uses CRT;
Const n = 2; m = 4; k = 5;
var
A: array[1..n] of Integer;
B: array[1..m] of Integer;
C: array[1..k] of Integer;
{Раздел описания процедур. Процедура ввода массива}
Procedure Inp (Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
WriteLn (‘Введите ', size, ' целых чисел');
for i:=1 to size do
Read (Mas[i]);
end;
{Процедура модификации массива}
Procedure Replace(Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
for i:=1 to size do
if Mas[i]>0 then
Mas[i]:=1
else
Mas[i]:=0;
end;
{Процедура вывода массива}
Procedure Outp (Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
Write('Результат преобразования массива: ');
for i:=1 to size do
Write(Mas[i]:2:0);
WriteLn(' ');
end;
{Главная программа}
begin
22
ClrScr;
Inp (A, n);
Replace (A, n);
Outp (A, n);
Inp (B, m);
Replace (B, m);
Outp (B, m);
Inp (C, k);
Replace (C, k);
Outp (C, k);
end.
3. Переписать из листинга № 2 и отладить программу нахождения
максимального элемента в числовом массиве.
Листинг 2. Программа поиска максимального элемента в числовом массиве.
Program CallPr_2;
Uses CRT;
Const n = 2; m = 4; k = 5;
var
A: array[1..n] of Integer;
B: array[1..m] of Integer;
C: array[1..k] of Integer;
Max:Integer;
{Раздел описания процедур. Процедура ввода массива}
Procedure Inp (Var Mas: array of Integer; size: Byte);
Var i: byte;
begin
WriteLn ('Введите ', size, ' целых чисел');
for i:=1 to size do
Read (Mas[i]);
end;
{Процедура поиска максимального элемента массива}
Function Findmax(Var Mas: array of Integer; size: Byte):Integer;
Var i: byte;
maxin: Integer;
begin
maxin := Mas[1];
for i:=2 to size do
if Mas[i]>maxin then
maxin := Mas[i];
Findmax := maxin;
end;
{Главная программа}
begin
ClrScr;
Inp (A, n);
Max:= Findmax (A, n);
Writeln ('Максимальный элемент массива: ', max);
Inp (B, m);
Max:= Findmax (B, m);
Writeln ('Максимальный элемент массива: ', max);
Inp (C, k);
Max:= Findmax (C, k);
Writeln ('Максимальный элемент массива: ', max);
end.
23
4. По аналогии с предыдущим заданием написать и отладить программы:
вычисления суммы отрицательных элементов в каждом из трех
массивов;
вычисления разницы максимального и минимального элементов
в каждом из трех массивов,
вычисления среднего арифметического элементов в каждом из
трех массивов.
Результат выполнения работы: Вы ознакомились с приемами
структурного программирования как разработкой небольших логически
законченных подпрограмм, работой которых управляет главная
программа. Такой подход позволяет создавать библиотеки подпрограмм
для их последующего многократного использования в различных
приложениях.
Форма представления результатов работы: папка с файлами.
24
Практическая работа № 5
Технология визуального программирования
Цель работы – овладеть навыками работы в визуальной среде
программирования при создании приложения для операционной системы
Windows, освоить приемы обработки некорректных действий пользователя
при работе в приложением.
1. Запустить MS Visual Basic 6.0
2. Выбрать вид нового файла Standart.exe.
3. Разместить на форме элементы управления и определить значения
свойства Name каждого элемента формы в соответствии рис. 4.
Рис. 4 Дизайн формы для проекта «АРМ экономиста»
4. Добавить к форме программный код обработки событий в соответствии
text1
РАСЧЕТ НАЛОГА НА ПРИБЫЛЬ
Доходы
Стоимость покупных
товаров
text2
Маржинальная
прибыль
text3
Коммерческие
расходы
text4
Налогооблагаемая
прибыль
text5
Ввести данные из файла
Записать данные в файл
text12
Ввод/вывод
Распределить налог по бюджетам
Ставка налога на
прибыль (%)
text6
Ставка налога на
прибыль в ФБ
text8
Ставка налога на
прибыль в ТБ
text9
Налог на прибыль
ИТОГО
text7
Налог на
прибыль в ФБ
text10
Налог на
прибыль в ТБ
text11
Рассчитать
Очистить
Выход
Option1
Option3
Option2
Command3
Command1
Command2
Command4
25
с листингом 1.
Листинг 1. Коды приложения «АРМ экономиста»
Private Sub Command1_Click()
If Text1 = "" Then
MsgBox ("Введите сумму доходов")
Text1.SetFocus
GoTo m1
End If
If Text2 = "" Then
MsgBox ("Введите стоимость покупных товаров")
Text2.SetFocus
GoTo m1
End If
If Text4 = "" Then
MsgBox ("Введите коммерческие расходы")
Text4.SetFocus
GoTo m1
End If
If Text6 = "" Then
MsgBox ("Введите ставку налога на прибыль")
Text6.SetFocus
GoTo m1
End If
Text3 = Text1 - Text2
Text5 = Text3 - Text4
Text7 = Text5 * Text6 / 100
If Option1.Value = True Then
Text10 = Text5 * Text8 / 100
Text11 = Text5 * Text9 / 100
End If
m1: End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Option1.Value = False
End Sub
Private Sub Command3_Click()
Dim w As fil
If Option2.Value = True And Text12 <> "" Then
Open Text12.Text + ".txt" For Random As #1 Len = 2048
Get #1, 1, w
Text1.Text = w.d
Text2.Text = w.t
Text4.Text = w.k
Text6.Text = w.s
Text8.Text = w.sf
Close 1
End If
If Option3.Value = True And Text12 <> "" Then
w.d = Text1.Text
w.t = Text2.Text