Главная Случайная страница


Полезное:

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

Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Практическое занятие 3. Вывод информации в поле Мемо





Вывод информации в поле Мемо

Цель занятия

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

Задание 1

Запустите Дельфи. Положите на форму кнопку (для запуска программы на исполнение). Создайте заготовку процедуры двойным нажатием на кнопку. Сохраните программу в папке практика 3 (если такой папки в Вашей папке информационных технологий нет, то перед сохранением заготовки программы создайте папку с названием практика 3). Убедитесь, что в Вашей папке «практика 3» содержится не менее 6 файлов.

Перейдите на окно кода программы (двойным щелчком на кнопке). Заготовка процедуры будет иметь следующий вид:

procedure TForm1.btn1Click(Sender: TObject);

begin

end;

где первая строка - название процедуры, «begin» и «end;» - начало и конец процедуры. Поскольку в процедуре может быть несколько операторных скобок («begin» и «end;»), то после каждой закрывающей скобки «end» в фигурных скобках следует указать, к какой части процедуры эта скобка относится, чтобы избежать ошибок в написании программы. Каждой открывающей скобке «begin» должна соответствовать своя закрывающая скобка «end». По этой причине сразу же за написанием слова «begin» следует на новой строке писать слово «end». Открывающая и закрывающая скобки должны иметь одинаковый отступ с левой стороны. Все требуемые операторы вставляются между скобками. Они пишутся обычно с отступом на одни или два пробела от уровня написания скобок. Множество операторов между скобками воспринимается программой как один единственный оператор. Допишите после закрывающей скобки процедуры в фигурных скобках название процедуры:

end; {procedure TForm1.btn1Click} и таким образом поступайте после каждой закрывающей скобки.

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



procedure TForm1.btn1Click(Sender: TObject);

var Unom:Real;

begin

, который начинается со слова var (сокращение слова variables - переменные). Далее следует имя переменной (в данном случае Unom). Имя выбирается создателем программы произвольно, пишется только латинским шрифтом и должно быть осмысленным. Лучше всего использовать для имен переменных в программе общепринятые обозначения (но латинским шрифтом как в данном примере). Если переменная одна, то после имени должно стоять двоеточие, а далее пишется тип переменной. Слабо знакомым с программированием на Дельфи рекомендуется для переменных, которые могут содержать десятичные части использовать тип Real, а для переменных, которые могут принимать только целочисленные значения, использовать тип Integer. Если какая-либо переменная не описана в разделе описания переменных, то программа остановит выполнение на строке с ошибкой, а в окне ошибок (ниже кода программы) появится надпись

[Error] Unit1.pas(29): Undeclared identifier: «имя необъявленной переменной», что переводится как не объявленный (не декларированный) идентификатор. При появлении подобной ошибки следует имя переменной внести в раздел описаний. Описания нужны для того, чтобы под переменную было выделено место в памяти компьютера и присвоен адрес начальной ячейки памяти. Если есть адрес и место в памяти, то в соответствующие ячейки может быть помещено число, соответствующее переменной. Операция записи числа в ячейки памяти в программе на Дельфи обозначается символом «:=» и называется операцией присвоения значения. Чтобы задать значение номинального напряжения после открывающей процедуру скобки следует записать, например, Unom:=10,5; каждая операция (оператор) заканчивается значком конца операции, обозначающимся символом «;» (semicolon - точка с запятой). Отсутствие между операторами (действиями) точки с запятой является одной из самых распространённых ошибок. При такой ошибке в окне ошибок сообщением:

[Error] Unit1.pas(30): Missing operator or semicolon

(потеря оператора или точки с запятой). Очевидно, что появлении такого сообщения следует найти место, где точка с запятой пропущена (обычно программа останавливается на следующей строке за строкой где «;» отсутствует. Запишете в основную процедуру два оператора:

Unom:=10,5 {номинальное напряжение в кВ}

Snom:=25000; {полная мощность в кВА}

и сохраните программу, нажатием save all (сохранить всё). Прочитайте сообщения от ошибках (нет «;» после 10,5 и не описана переменная Snom). Устраните ошибки. В данном примере справа от операторов присвоения в фигурных скобках приведён комментарий (указано, что обозначает переменная и в каких единицах измеряется). Комментарий не влияет на выполнение программы и нужен исключительно программисту для того, чтобы не забыть какие имена он дал тем или иным переменным.



Задание 2

Поместитена форму компонент Memo из стандартной палитры компонентов. Измените его размер сделайте так, чтобы он занимал, например, половину формы. В его инспекторе объектов найдите свойство «линейки прокрутки» («ScrollBars») и установите значение «обе» («ssBoth»). Этот компонент используется для вывода в него переменных типа «строка» («string») и является одним из важнейших элементов контроля значений вводимых переменных на стадии отладки программы. Переменные типа строка («string») могут выводиться в компонент Memo без преобразований.

В разделе описаний переменной опишите две строки, например:

str1, str2: string; (обратите внимание, что однотипные переменные можно записывать в одну строку, разделяя их между собой запятой, и только после последней в списке ставить двоеточие и название типа переменных).

Присвойте первой строке название переменной Unom следующим образом: str1:= 'Unom= '; (обратите внимание, что Unom заключено в одиночные апострофы, а после знака равенства стоит пробел). Такие апострофы являются признаком строковой переменной и выводятся без изменений и преобразований. Второй строке присвойте значение единиц измерения: str2:= ' кВ'; (строки могут записываться на любом языке, но при переносе с одного компьютера на другой могут возникнуть проблемы с правильной передачей национального шрифта). Пробел после открывающего строку апострофа нужен для отделения нескольких строк друг от друга.

После операторов присвоения запишите строку вывода двух строк в поле Memo. Первую строку следует записывать в следующей последовательности:

1. набирать на клавиатуре первые символы поля Memo (проверить имя поля в дереве объектов). При наборе должен появиться выпадающий список правильных имён, из которого нужно выбрать нужное имя и подтвердить выбор нажатием клавиши Enter («Ввод»).

2. Набратьсимвол точки. Должен появиться выпадающий список возможных свойств (property) поля Memo. Выбрать свойство Lines (линия, строка). Выбор можно выполнить двумя способами: а) с помощью линейки прокрутки; б) начав набирать свойство. Завершается выбор нажатием клавиши Enter (далее в тексте для краткости будем говорить «выберите свойство …»).

3. После нажатия символа точка выбрать свойство add (добавить).

4. В круглые скобки запишите имя строки, которая должна быть выведена в поле Memo (в данном случае str1). Проверьте, не забыли ли Вы поставить символ точки с запятой после круглых скобок.

После выполнения п. 1 ÷ 4 в тексте процедуры должна появиться команда: memo1.Lines.Add(str1); (имя поля мемо1 может отличаться от приведённого в данном тексте).

Выведете в поле Memo вторую строку следующим образом:

1. выделите команду вывода первой строки,

2. скопируйте её в буфер обмена (команда Copy в списке команд при нажатии правой кнопки мыши или нажатие клавиш Ctrl+C),

3. вставьте в код процедуры (команда Paste в списке команд при нажатии правой кнопки мыши или нажатие клавиш Ctrl+V) сразу после команды вывода 1й строки,

4. Замените имя первой строи на вторую.

После выполнения п. 1 ÷ 4 в тексте процедуры должна появиться команда: memo1.Lines.Add(str2); . Сохраните программу.

Запустите программу одним из трёх способов: а) нажатием клавиши F9; б) выбором команды Run из главного меню команд и его подменю; в) нажатием на зелёный треугольник, находящийся в линейке команд Дельфи. Исправьте ошибки. Нажмите клавишу выполнения процедуры. Посмотрите содержимое поля Мемо и убедитесь, что действительно вывелись две строки. Закройте режим исполнения программы.

Задание 3

Численные значения переменных следует преобразовать в строки и только после преобразования выводить в компонент Memo. Для преобразования переменных типа Real в переменную типа строка используется функция FloatToStr(). Слово Float обозначает переменную с плавающей запятой любого типа (тип Real - один из многих типов таких переменных с дробной частью). В круглых скобках записывается имя численной переменной, которую преобразуют в строку. Скопируйте строку вывода и вставьте после второй строки вывода в поле Мемо. В круглых скобках функцию преобразования в строку значения переменной Unom.

Сохраните программу, запустите на исполнение и убедитесь, что в поле вывода появилось число, которое соответствует номинальному напряжению.

Вывод в одну строку в поле вывода можно сделать, если сложить несколько строк. Сложение строк называется командой конкатенации и обозначается символом сложения (+). В раздел описания переменных добавьте имя переменной типа строка, например, str3. Допишите в код процедуры следующую строку: str3:=str1+FloatToStr(Unom)+str2; и выведите её в поле вывода. После запуска программы, посмотрите правильно ли сделан вывод. Выведите в поле вывода значение Snom одной строкой с обозначением имени переменной, её числовым значением и единицей измерения.

Вопросы для самопроверки

1. Как пометить на форму компонент Memo?

2. Как вставить линейки прокрутки в компонент Memo?

3. Каких размеров должно быть поле вывода Memo?

4. Как вставить комментарий в программу?

5. Как правильно помечать закрывающую программную скобку «end»?

6. Сколько пробелов от начала строки следует делать перед «end»?

7. Зачем вставлять пробелы от начала строки перед «end»?

8. Зависит ли работа программы от числа пробелов, поставленных перед операторной скобкой «end»?

9. Для чего в программе нужно поле Memo?

10. В каком месте процедуры расположен раздел описания постоянных, переменных, процедур и функций. относящихся к данной процедуре?

11. Каким набором символов начинается раздел описания переменных?

12. Что такое идентификатор переменной, и какими они должны быть?

13. Какие символы допускается и не допускается использовать в идентификаторе переменной?

14. Как проверить правильность выбора идентификатора переменной?

15. Для какого первого символа идентификатора следует его описывать в разделе описания переменных?

16. Как следует описывать однотипные идентификаторы?

17. На каких языках допускается записывать имена переменных?

18. Что произойдёт при выполнении программы, если какая либо переменная не описана в разделе описания переменных?

19. Что означает сообщение об ошибке типа «[Error] Unit1.pas(29): Undeclared identifier»?

20. Что следует делать при возникновении ошибки п.19?

21. Зачем нужно описывать переменные в разделе описаний переменных?

22. Какие действия в программе происходят по команде «:=»?

23. Какой символ должен ставиться в конце (после) оператора?

24. Что означает сообщение об ошибке типа «[Error] Unit1.pas(30): Missing operator or semicolon»?

25. Что следует делать при возникновении ошибки п.24?

26. Какой тип переменных можно выводить в поле Memo?

27. Сколько переменных можно вывести в одну строку (Line) Memo?

28. Как превратить (преобразовать) переменную типа real в переменную типа string?

29. Как превратить (преобразовать) переменную типа integer в переменную типа string?

30. Как вывести в одну строку название переменной, её значение и размерность?

 

 






Date: 2016-05-16; view: 320; Нарушение авторских прав

mydocx.ru - 2015-2019 year. (0.013 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию