Порядок выполнения работы. 1. Создать в своём собственном каталоге, который должен находиться в каталоге Student\название группы (например

1. Создать в своём собственном каталоге, который должен находиться в каталоге Student\ название группы (например, tvn -1-01), новый подкаталог с названием lab 1. Если собственного каталога не существует, то создать его. Создание нового каталога может производиться несколькими различными способами, например, выбрать последовательно следующие папки Мой компьютер-диск е (или d) – Student – название групп и, нажав правую кнопку манипулятора мышь, выбрать команду создать – новую папку. Название новой папки (каталога) ввести из первых 8 букв (или меньше) своей фамилии латинским шрифтом.

2. Запустить Дельфи 7 двойным щелчком по соответствующей пиктограмме, расположенной на рабочем столе. Создать заготовку новой программы и сохранить её в созданном каталоге (папке). Проверить количество сохранённых файлов. Должно быть не менее шести. Если число файлов меньше, повторить операции сохранения и добиться нужного числа файлов.

3. На форму положить следующие компоненты:

а) компонент button (btn) (кнопка) из стандартного (Standard) набора (палитры) компонентов. Вместо него можно поместить Bitbutton (Bitbtn) или Speedbutton (Speedbtn) из дополнительного (Additional) набора (палитры) компонентов. Назначение этих компонентов одинаковое – запуск исполнения (выполнения) отдельной части (процедуры) программы. Различаются эти компоненты оформлением кнопок. Проверить различия и оставить только одну кнопку, которая больше всего понравится;

б) два компонента OpenDialog (dlgOpen) и SaveDialog (dlgSave) из набора (палитры) Диалоги (Dialogs). OpenDialog нужен для выбора файла при его открытии для чтения, а SaveDialog – при записи файла. Эти компоненты не будут видны в режиме исполнения программы и поэтому их можно поместить в любом месте формы;

в) компонент Memo (mmo) из стандартного набора и в свойстве Прокрутка (ScrollBars) на инспекторе объектов поставить обе линейки прокрутки (ssBoth).

4. Создать файл, в котором будет храниться информация о характеристиках токоограничивающего реактора, следующим образом. В меню File выбрать New /Other/Text (новый/другой/текстовый). Ввести в одну (самую верхнюю) строку значения: сопротивления реактора (Ом), его номинальное напряжение (кВ), значение cosj, величину тока (А), протекающего через реактор. Различные значения отделять друг от друга одним (или несколькими) пробелами. Разделителем между целой и десятичной частью чисел является точка. Пример файла данных: 0.4 10.5 0.85 630. 3. Сохранить созданный файл данных в каталоге lab 1.

5. Создать заготовку процедуры нажав дважды на кнопку запуска на форме.

6. Написать процедуру чтения данных из файла в следующей последовательности:

а) создать раздел описания переменных после заголовка процедуры перед началом основной части, написав var (точку с запятой в коде процедуры после слово var не ставить);

б) в созданном разделе описания переменных предусмотреть использования следующих переменных:

Xp, Unom, cosfi,I, Up:real;

f 1 ,f 2: text file;

s,filename:string;

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

if OpenDialog1.Execute then assignfile (f1,OpenDialog1.FileName);

г) открыть указанный в п. б) файл для чтения из него информации, написав команду reset(f1 );

д)закрыть файл командой closefile(f1);

е) между командами открыть (reset(f1 )) и закрыть (closefile(f1)) вставить строку команды чтения данных из открытого файла

readln(f1,Xp, Unom, cosfi,I);

7. Проверить правильность ввода информации. Для этого вывести в отладочное поле мемо прочитанную информацию, написав команду

а) Memo1.Lines.Add(FloatToStr(Unom));

б) добавить в строку вывода описания выводимой информации, добавив справа и слева от Unom описательные строки по примеру:

Memo1.Lines.Add( ' Unom= ' +FloatToStr(Unom)+ ' кВ ' );

Обратить внимание, что в команде вывода информации в поле мемо Memo1.Lines.Add() в скобках может быть указана только одна строковая переменная. Чтобы вывести этой командой более сложную информацию, состоящую из нескольких строковых переменных, следует воспользоваться символом сложения строк + (символ конкатенации).

в) вывести в поле мемо остальные вводимые данные (ещё три);

г) объединить все 4 вводимых числа в одну строку с помощью символов конкатенации (соединения нескольких строковых переменных в одну).

8. Произвести вычисление остаточного напряжения на шинах подстанции (напряжения на реакторе при токе короткого замыкания) в процентах к номинальному напряжению по формуле

Up:=Xp*sqrt(3)*I*sqrt(1-sqr(cosfi))*100/Unom/1000;

9. Вывести полученное значение в поле мемо в соответствии с п.7.

10. Приписать абстрактному файлу f2 какое либо имя, например 'result.txt', вставив в код строку assignfile(f2,'result.txt');

11. Открыть этот файл для записи одной из команд rewrite(f2); или append(f2); (вторая команда требует существования в текущем каталоге файла 'result.txt').

12. Закрыть файл по примеру п.6г.

13. Между командами открыть и закрыть вставить вывод данных в файл f2 ('result.txt'). Указание, в какой файл выводить информацию приводится сразу же после открывающей скобки.

writeln(f 2 ,'Xp= ',Xp: 1:2 ,' Om, Unom= ',Unom: 3:1 ,' kV, cosfi= ',

cosfi: 1:2 ,' I= ',I: 4:0 ,' A');

writeln(f 2 ,' Потери напряжения в реакторе Up= ',Xp:2:2,' % ');

14. Сохранять программу через каждые 10-15 минут набора кода, нажимая команду File-Save.

15. Исправить ошибки написания кода программы, запуская программу в режиме компиляции (Compilation или Alt-F 9). Добиться появления надписи в диалоговом окне successfully completed (успешно завершена). Сохранить программу.

16. Запустить программу на исполнение (Run или Ctrl-F 9). Проверить в окне результатов правильность ввода исходных данных и результатов расчета. Закрыть окно результатов, нажав на крестик в правом верхнем углу окна результатов. Открыть файл lab1.res и убедиться, что в этом файле записались исходные данные и результаты расчета. Закрыть этот файл.

17. Изменить код программы: оператор rewrite (f 2) заменить на оператор append (f 2). Сохранить программу. Запустить на исполнение. Открыть файл вывода информации и убедиться, что в нем оказалось две записи результатов расчета. Закрыть файл результатов.

18. Изменить файл исходных данных, сохранить и запустить программу, не меняя исходного кода. Убедиться, что результаты расчета изменяются.

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

1. Как создать новую папку (каталог) в другой папке (каталоге)?

2. Перечислите простые перечисляемые типы языка Паскаль.

3. Какие бывают типы целочисленных переменных и чем они отличаются друг от друга?

4. Какие бывают типы переменных с плавающей запятой, где применяются, чем отличаются друг от друга и каково их общее название?

5. Какие ограничения накладываются на имя идентификатора в языке Паскаль?

6. Какова структура файла типа text (textfile)?

7. Как в программе открыть какой-либо файл для чтения из него информации?

8. Как в программе открыть какой-либо файл для записи в него информации?

9. Каково назначение операторов reset, rewrite, append?

10. Каково назначение операторов assign и assignfile? Чем они отличаются друг от друга?

11. Каково назначение операторов read и readln? В чем заключается различие между ними?

12. Запишите код программы для ввода одного или нескольких чисел с клавиатуры.

13. Как ввести число или несколько чисел из файла данных? Запишите код программы.

14. Каково назначение операторов write и writeln? В чем заключается различие между ними?

15. Запишите код программы для вывода какой-либо информации (например, номинального тока и напряжения АВН) на экран монитора.

16. Как вывести несколько чисел в текстовый файл? В чем заключается различие при написании кода для вывода информации на экран монитора и в текстовый файл?

17. Как организовать ведение протокола расчетов, т.е. дополнять существующий файл данных новыми результатами расчетов?

18. Как использовать оператор целочисленного деления mod для аккуратного вывода большого массива чисел? Приведите пример кода программы с использованием этого оператора.

19. Как записать комментарий в программе? Что такое комментарий и зачем он нужен?

20. Как отделяют операторы один от другого?

21. Как организовать вывод переменной типа real с определенным числом знаков до и после запятой (в фиксированном формате)?

22. Как организовать промежутки между числами при их выводе на экран или в файл, чтобы они не сливались одно с другим?

Лабораторная работа 4


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: