- •2. Задание
- •3. Метод решения
- •4. Порядок выполнения работы
- •5. Контрольные вопросы
- •2. Характеристики основных файловых систем
- •3. Операции с файловой структурой
- •3.1. Проводник
- •3.2. Файловый менеджер
- •4. Задание
- •5. Порядок выполнения работы
- •6. Контрольные вопросы
- •Лабораторная работа №3 Архивирование данных
- •1. Общие сведения об архивировании данных
- •2. Архивирование данных с помощью программы WinRar
- •3. Задание
- •2. Форматы текстовых файлов
- •3. Текстовый редактор Блокнот (NotePad)
- •4. Текстовый редактор WordPad
- •5. Задание
- •6. Порядок выполнения работы
- •7. Контрольные вопросы
- •Лабораторная работа №5 Разработка текстовых документов в процессоре Microsoft Word
- •1. Общие сведения о процессоре Microsoft Word
- •2. Приемы работы с текстами в процессоре Microsoft Word
- •2.1. Создание документа
- •2.2. Ввод текста
- •2.3. Форматирование текста
- •3. Сохранение документа
- •4. Приемы и средства автоматизации разработки документов
- •4.1. Работа со стилями
- •4.2. Шаблоны
- •5. Внедрение объектов, созданных другими приложениями
- •6. Задание
- •7. Порядок выполнения работы
- •8. Контрольные вопросы
- •2. Графический редактор Paint
- •2.1. Окно программы Paint
- •2.2. Задание размера рабочей области
- •2.3. Основные чертежно-графические инструменты
- •2.4. Трансформация изображений
- •2.5. Ввод текста
- •3. Встроенный графический редактор Microsoft Word
- •4. Порядок выполнения работы
- •5. Контрольные вопросы
- •6. Варианты заданий
- •3. Блок схема алгоритма
- •4. Реализация алгоритма в среде Delphi
- •5. Результаты счета
- •6. Порядок выполнения работы
- •7. Контрольные вопросы
- •8. Варианты заданий
- •3. Блок-схема алгоритма
- •4. Реализация алгоритма в среде Delphi
- •5. Результаты счета
- •5. Порядок выполнения работы
- •6. Контрольные вопросы
- •7. Варианты заданий
- •Лабораторная работа №9 Составление программ поиска, сортировки и накапливания результата
- •1. Задача поиска
- •2.Реализация алгоритма поиска максимального элемента в среде Delphi
- •3. Сортировка и упорядочение массива.
- •4. Накапливание результата
- •5. Вычисление математического ожидания случайной дискретной величины
- •6. Порядок выполнения работы
- •7. Контрольные вопросы
- •8. Варианты заданий
- •Список литературы
- •Приложение 1. Варианты контрольных заданий
- •Приложение 2. Требования к оформлению отчета по лабораторным работам
- •1. Объем и содержание отчета
- •2. Оформление отчета
- •Приложение 3. Титульный лист к отчету
- •Приложение 4 Блок-схемы алгоритмов к лабораторной работе № 6
- •Приложение 5 Текст программы на языке Паскаль для вычисления корней квадратного уравнения
- •Приложение 6 Текст программы на языке с для вычисления корней квадратного уравнения
- •Приложение 7 Текст программы на языке Паскаль для вычисления приближенного значения экспоненциальной функции
- •Приложение 8 Текст программы на языке c для вычисления приближенного значения экспоненциальной функции
- •Ответственный за выпуск ________________
- •420111, Казань, к.Маркса, 10
3. Блок схема алгоритма
Рис.7.1. Блок схема алгоритма решения квадратного уравнения
4. Реализация алгоритма в среде Delphi
После запуска Delphi и открытия окна формы (модуль Form1) разместим в нем следующие объекты:
-
поля редактирования Edit1–Edit3 – для ввода исходных коэффициентов уравнения a,b,c соответственно;
-
метки Label1–Label9 – для вывода заголовков, пояснений и результатов;
-
кнопки Button1–Button3 – для управления работой программы.
Для этого на панели визуальных компонент (вкладка standard) щелчком мыши трижды выбирается объект Edit и вставляется в указываемое курсором место формы. Затем то же самое проделывается девять раз с объектом Label и три раза с объектом Button. Далее с помощью инспектора объектов (object inspector) определяются заголовки для объектов Form1, Label1 – Label8 путем ввода соответствующего текста в поле caption вкладки properties. Например, для окна Form1 в поле Caption вводится текст «Вычисление корней квадратного уравнения»; для метки Label6 – текст «Результаты счета», для метки Label9 поле caption остается свободным, для кнопки Button1 – текст «Ввод коэффициентов уравнения» и т.д.
Общий вид окна формы с выбранными компонентами представлен на рис.7.2.
Рис.7.2. Окно формы (модуль Form1) программы в Delphi
Отметим, что при размещении объектов в окне формы автоматически добавляются соответствующие этим объектам описания в исходный код программы (модуль Unit1). Таким образом, после того как в окне формы размещены все объекты, в окне кода будет представлен следующий код:
Unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type TForm1 = class(Tform)
Label1: Tlabel;
Label2: Tlabel;
Label3: Tlabel;
Label4: Tlabel;
Label5: Tlabel;
Label6: Tlabel;
Label7: Tlabel;
Label8: Tlabel;
Label9: Tlabel;
Label10: Tlabel;
Label11: Tlabel;
Edit1: Tedit;
Edit2: Tedit;
Edit3: Tedit;
Button1: Tbutton;
Button2: Tbutton;
Button3: Tbutton;
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: Tform1;
implementation
{$R *.dfm}
end.
Для управления работой программы с каждой кнопкой связывается событие «щелкнуть» и задается, что при щелчке на кнопке 1 (объект Button1) программа должна ввести значения коэффициентов a,b,c исходного уравнения из полей редактирования (объекты Edit1–Edit3) и присвоить их переменным a,b,c соответственно. Для этого после двойного щелчка кнопки Button1 и попадания в окно кода вводятся три оператора присваивания:
a:=StrToFloat(Edit1.text);
b:=StrToFloat(Edit2.text);
c:=StrToFloat(edit3.text);
Здесь стандартная функция StrToFloat преобразует символьное представления значения поля text объекта edit в вещественное значение.
Далее после двойного щелчка кнопки Button2 и попадания снова в окно кода вводятся операторы, реализующие алгоритм нахождения корней квадратного уравнения и их вывод в поле caption меток Label7–Label9. Аналогично после двойного щелчка кнопки Button3 и попадания в окно кода вводится оператор вызова процедуры Close для завершения работы программы. В текст программы добавляются комментарии, определяются переменные a,b,c,x1,x2 в операторе var (добавляя строку a,b,c,x1,x2: Real; после строки var Form1: TForm1;) и с помощью команды Save as меню Fyle созданный модуль с кодом программы сохраняется в файле kvur.pas. В результате исходный код программы (модуль kvur) будет иметь следующий вид
unit kvur;
{ * * * * * * * * * * * * * * * * * * *}
{ Решение квадратного уравнения }
{ * * * * * * * * * * * * * * * * * * * }
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, Grids, ExtCtrls;
type TForm = class(TForm)
Label1: Tlabel;
Label2: Tlabel;
Label3: Tlabel;
Label4: Tlabel;
Label5: Tlabel;
Label6: Tlabel;
Label7: Tlabel;
Label8: Tlabel;
Label9: Tlabel;
Label10: Tlabel;
Label11: Tlabel;
Edit1: Tedit;
Edit2: Tedit;
Edit3: Tedit;
Button1: Tbutton;
Button2: Tbutton;
Button3: Tbutton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: TForm1;
a,b,c,x1,x2: Real;
implementation
{$R *.DFM}
procedure TMyForm.Button2Click(Sender: TObject);
{Ввод коэффициентов исходного уравнения }
begin
a:=StrToFloat(Edit1.text);
b:=StrToFloat(Edit2.text);
c:=StrToFloat(edit3.text);
end;
procedure TMyForm.Button1Click(Sender: TObject);
{Завершение работы программы}
begin
close
end;
procedure TMyForm.Button3Click(Sender: TObject);
{Решение квадратного уравнения }
var d:real;
begin
label7.Caption:='';
label10.Caption:='';
label11.Caption:='';
if (a<>0) then begin
d:=b*b-4*a*c;
if d>=0 then
begin
x1:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
label9.Caption:='уравнение имеет два корня';
label10.Caption:=floatToStr(x1);
label11.Caption:=floatToStr(x2);
end
else
begin
label9.Caption:='дискриминант отрицательный, решения комплексны';
label10.Caption:='нет';
label11.Caption:='нет';
end end
else if (b<>0) then
begin
x1:=-c/b;
label9.Caption:='уравнение имеет один корень';
label10.Caption:=floatToStr(x1);
label11.Caption:=' нет ';
end else
if (c<>0) then
begin label9.Caption:='уравнение не имеет решений';
label10.Caption:='нет';
label11.Caption:='нет';
end
else
begin
label9.Caption:='решениe - любое x';
label10.Caption:='любое';
label11.Caption:='любое';
end;
end; end.