Главная страница
Навигация по странице:

  • ЛАБОРАТОРНАЯ РАБОТА №3. КОМПИЛЯЦИЯ, ОТЛАДКА И ВЫПОЛНЕНИЕ ПРОГРАММ. КОМПОНЕНТЫ ПАНЕЛИ ADDITIONAL.Теоретические сведения

  • TRadioGroup .

  • Компонент Свойства

  • Сохраните ваш проект в папке Lab3. Напишите обработчики события

  • 5. Обратите внимание на то

  • Компиляция и отладка приложения.

  • TMemo . С помощью таблицы TStringGrid

  • ЛАБОРАТОРНАЯ РАБОТА №4 ГЛАВНОЕ МЕНЮ ФОРМЫ. ВСПОМОГАТЕЛЬНОЕ МЕНЮ. СТАНДАРТНЫЕ КНОПКИ. ВИЗУАЛЬНЫЕ КОМПОНЕНТЫ СТАНДАРТНЫХ ДИАЛОГОВ WINDOWS – ИНТЕРФЕЙСА.Теоретические сведения

  • TMainMenu .

  • Delphi

  • Execute

  • Методичка по лабораторным Delphi. Протокол 11 Зав кафедрой А. А. Прихожий содержание лабораторная работа 1


    Скачать 0.58 Mb.
    НазваниеПротокол 11 Зав кафедрой А. А. Прихожий содержание лабораторная работа 1
    АнкорМетодичка по лабораторным Delphi.doc
    Дата04.09.2018
    Размер0.58 Mb.
    Формат файлаdoc
    Имя файлаМетодичка по лабораторным Delphi.doc
    ТипПротокол
    #24057
    страница4 из 10
    1   2   3   4   5   6   7   8   9   10


    Задания:

    Варианты

    Исходные данные


    1

    1 мм рт. ст. = 133 Па

    1 дин/см2 =0,1 Па

    1 физ. Атм. = 1,013*105 Па

    1 кгс*м2 =9,81 Па

    2

    1 дюйм = 2,54 см

    1 ярд = 0,9144 м

    1 верста = 500 сажень

    1 косая сажень = 1,76 м

    3

    1 бушель = 36,37 дм3

    1 галлон = 4,54 дм3

    1 пинта = 0,5683 дм3

    4

    1 калория = 4,19 Дж

    1 эрг = 10-7 Дж

    1 кгс*м = 9,81 Дж

    1 ватт*час =3,6*103 Дж



    ЛАБОРАТОРНАЯ РАБОТА №3.

    КОМПИЛЯЦИЯ, ОТЛАДКА И ВЫПОЛНЕНИЕ ПРОГРАММ. КОМПОНЕНТЫ ПАНЕЛИ ADDITIONAL.
    Теоретические сведения

    Для управления выполнением программ используются следующие команды пункта меню Run:

    Команда

    Описание

    Run (F9)

    Программа выполняется без остановки на каждой строке. Эта команда эквивалентна выполнению программы вне отладчика.

    Step Over (F8)

    Программа выполняется построчно. Подпрограммы выполняются как одна строка.

    Trance Into (F7)

    Программа выполняется построчно. Также выполняется каждая строка подпрограммы.

    Run TO Cursor (F4)

    Программа выполняется до той строки, на которой находится курсор в окне Code Editor.

    Program Pause

    Выполнение программы приостанавливается.

    Program Reset (Ctrl F2)

    Выполнение программы завершается.

    Add Breakpoint

    Можно указать точки прерывания при выполнении программы.



    Точка контрольного останова определяет оператор в программе, перед выполнением которого программа прервет работу, и управление будет передано среде Delphi. Точка останова задается с помощью опции View/DebugWindows/ Breakpoints. Легче просто щелкнуть левой кнопкой мыши в левом углу строки, на которой вы хотите установить точку прерывания.

    Наблюдать за состоянием переменной или выражения можно с помощью специального окна, вызываемого опцией View/DebugWindows/Watches.

    Изменить текущее значение переменной можно с помощью окна Evaluate/Modify, вызываемого нажатием <Ctrl-F7>. В строке Expressionследует написать имя переменной, нажать кнопку Modifyи вывести новое значение в строке NewValue.

    Рассмотрим задачу подсчета среднего балла каждого студента, отдельно среднего балла юношей и девушек, общего среднего балла. Исходной информацией является: фамилия, пол, оценки каждого студента. Фамилия вводится в окне однострочного редактора. Пол задается с помощью компонента TRadioGroup. Оценки вводятся в таблицу. Признак расчета задается с помощью компонента TRadioGroup.

    Ход работы


    1. Загрузите систему визуального программирования Delphi.

    2. Поместите на форму компоненты:

      Компонент

      Свойства

      Panel1

      Caption – очистить. Align – alBottom.

      Edit1, Edit2

      Text – очистить.

      Label1

      Caption – фамилия.

      RadioGroup1

      Caption – пол. Items – Мужск., Женск. ItemIndex – 0.

      RadioGroup2

      Items – Средний балл юношей, Средний балл девушек, Общий средний балл. Caption – очистить.

      BitBtn1

      Caption – записать. Glyph – картинка из подкаталога Images| Buttons

      BitBtn2

      Kind - bkClose.

      StringGrid1

      Align – alClient. ColCount – 6. RowCount – 30. DefaultColWidth. Options| goEditting – True.

      Form1

      Caption – Лабораторная работа №3, Name – Lab3

    3. Сохраните ваш проект в папке Lab3.

    4. Напишите обработчики события:

    Const nn=20; mm=5;

    //Максимальное количество студентов =20.

    // Максимальное количество экзаменов =5.

    pp: array [0..1] of string[1] = ('m', 'g');

    //Массив, содержащий половой признак.

    var

    Form1:TForm1;

    n: integer;

    f: array [1..nn] of string [30];

    p: array [1..nn] of string [1];

    a: array [1..nn, 1..mm] of real;

    ss: array [1..nn] of real;

    //n – текущий номер студента. Количество студентов;

    //f – массив фамилий;

    //p – массив для идентификации пола;

    //a – массив оценок;

    //ss – массив для среднего балла студентов;

    Implementation

    {$R *.DFm}
    procedure TForm1.BitBtn1Click(Sender: TObject);

    // Обработчик кнопки «Записать». Осуществляет ввод фамилии и пола.

    // Переносит значения фамилии в фиксированный столбец таблицы.

    begin

    n:= n+1;

    f[n]:= Edit1.Text;

    p[n]:= pp[RadioGroup1.ItemIndex];

    StringGrid1.Cells[0,n]:=f[n];

    Edit1.SetFocus;

    Edit1.Clear;

    end;
    procedure TForm1.FormActivate(Sender:TObject);

    // Обработчик для задания значений фиксированной строки

    // таблицы. Обнуление начального значения номера студента.

    begin

    n:=0;

    Edit1.SetFocus;

    With StringGrid1 do

    Begin

    Cells[1,0]:= 'Физика';

    Cells[2,0]:= 'Математ.';

    Cells[3,0]:= 'История';

    Cells[4,0]:= 'Иностр.яз.';

    Cells[5,0]:= 'Средний балл';

    End; end;
    procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: integer; const Value:string);

    //Событие возникает при завершении редактирования

    // ячейки (ACol, ARow). В параметре Value обработчик

    // получает результат вывода или редактирования текста.

    var

    b: real; j:byte;

    //b – вещественное значение строки редактирования.

    //j – параметр цикла для текущего номера столбца матрицы a.

    begin

    With StringGrid1 do

    Begin

    If Value = ' ' then Exit; //Если ничего не введено, то выйти из процедуры

    //Начало защищенного блока.

    Try b:=StrToFloat(Value)

    Except ShowMessage('Не верный символ! '); b:=0;

    end; //Конец защищенного блока.

    //Игнорировать неверно введенную оценку.

    If (b<1) or (b>5) then begin Cells[ACol,ARow]:= ' '; Exit; end;

    Cells[ACol,ARow]:= Value;//Отразить оценку в таблице.

    a[ARow,ACol]:=b; //Записать оценку в массив.

    //Далее подсчет среднего балла.

    ss[ARow]:=0;

    for j:=1 to 4 do ss[ARow]:=ss[ARow] + a[ARow,j];

    ss[ARow]:= ss[ARow]/4;

    //Отобразить средний балл в 5-ом столбце таблицы.

    Cells[5,ARow]:= FormatFloat('##.##', ss[ARow])

    End; End;
    Расчет среднего балла:

    procedure TForm1.RadioGroup2Click(Sender: TObject);

    // Событие возникает при смене признака расчета

    var S:real; k, i: byte;

    begin

    S:=0; k:=0;

    With RadioGroup2 do

    Begin

    Case ItemIndex of

    0: begin // Расчет среднего балла юношей

    for i:= 1 to n do

    if p[i] = 'm' then begin S:=S + ss[i] ; k:=k + 1 end;

    if k=0 then S:=0 else S:=S/k; end;

    1: begin // Расчет среднего балла девушек

    for i:= 1 to n do

    if p[i] = 'g' then begin S:=S + ss[i] ; k:=k + 1 end;

    if k=0 then S:=0 else S:=S/k; end;

    2: begin // Расчет общего среднего балла

    for i:= 1 to n do

    S:=S + ss[i] ;

    if n=0 then S:=0 else S:=S/n; end; end; end;

    // Вывод результата в окно редактора

    Edit2.Text := FormatFloat('##.##',S);

    end; end;

    5. Обратите внимание на то, что у компонента StringGrid1 существует обработчик OnClick. Он равен обработчику OnClick для RadioGroup2. Установлен он выбором из списка событий, который открывается при щелчке по правой части строки инспектора событий.

    Компиляция и отладка приложения.

    1. Подготовка приложения к отладке:

      1. Прежде чем отлаживать приложение, его необходимо откомпилировать специальным образом. Для этого следует выполнить команду ProjectOptionsи выбрать страницу Compiler. На этой странице необходимо выбрать опции DebugInformation, LocalSymbolsиReferenceInfo. После этого необходимо выполнить команду Project/Compiler(комбинация клавиш <Ctrl-F9>). Теперь приложение готово к отладке.

      2. Командой View/Debugwindows/Watchesвызовите окно наблюдений. Окно наблюдений используется в отладочном режиме для наблюдения за изменением значений выражений, помещенных в это окно. Для добавления нового выражения щелкните по окну правой кнопкой мыши и выберите опцию AddWatch. В строке Expressionвведите выражениеAcol. Окно Repeatcountопределяет количество показываемых элементов массивов данных; переключатель Enabledразрешает или запрещает вычисление выражения. Остальные элементы определяют вид представления значения. В отладочном режиме текущее значение любой переменной можно посмотреть, указав на нее курсором: значение появится в ярлычке с курсором.

      3. Установите две точки контрольного останова: щелкните мышью, указав на служебную зону слева от нужной строки в программе (выберите строки, содержащие Acol).

    2. Выполните программу (<F9>). После останова выполняйте программу построчно. Посмотрите значения переменных при помощи установки на них курсора.

    3. Попробуйте другие методы отладки, например Run To Cursor, Program Pause, Program Reset.


    Задания:

    1. Разработать приложение для обработки результатов соревнований. Исходные данные: фамилия спортсмена, время старта, время финиша, контрольное время. Вывести фамилии спортсменов, уложившихся в контрольное время. Рекомендации: фамилии спортсменов задать в виде типизированной константы-массива; время старта и время финиша вводить в таблицу; результат отразить в компоненте TMemo.

    2. С помощью таблицы TStringGrid ввести элементы матрицы и подсчитать сумму квадратов его столбцов. Организовать по выбору расчет наибольшей суммы элементов столбцов или наибольшей суммы элементов строк. Результат отобразить в компоненте TEdit.

    3. Рассчитать средние параметры группы студентов. Исходные данные: фамилии студентов, количество баллов, набранных каждым студентом при тестировании, рост и вес каждого студента. Рассчитать средний балл, средний вес и средний рост студентов в группе.

    4. Представить в виде таблицы итоги деятельности четырех агентов фирмы по сбыту n-й продукции. Исходной информацией считать фамилии агентов и объем продаж по кварталам. Рассчитать объем продаж каждого агента за год и вывести фамилию агента, имеющего наилучший результат.

    5. Представить в виде таблицы ведомость сведений о пропусках занятий студентами. Исходной информацией является: фамилия, номер группы, количество часов, пропущенных по уважительной и неуважительной причине. Получить список студентов, пропустивших более ХХХ часов по неуважительной причине. ХХХ – вводимая величина.



    ЛАБОРАТОРНАЯ РАБОТА №4

    ГЛАВНОЕ МЕНЮ ФОРМЫ. ВСПОМОГАТЕЛЬНОЕ МЕНЮ. СТАНДАРТНЫЕ КНОПКИ. ВИЗУАЛЬНЫЕ КОМПОНЕНТЫ СТАНДАРТНЫХ ДИАЛОГОВ WINDOWS – ИНТЕРФЕЙСА.
    Теоретические сведения

    Любое современное приложение имеет меню. Меню обеспечивает стандартный и удобный доступ к функциям приложения и структурирует их в однородные группы. Главное меню формы определяет компонент класса TMainMenu. На форму можно поместить сколько угодно объектов этого класса, но отображаться в полосе меню в верхней части формы будет только тот из них, который указан в свойстве Menu формы.

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

    Вызов диалоговой формы во время работы приложения осуществляется методом Execute, возвращающим результат логического типа. Если пользователь, например, выбрал файл и нажал кнопку ОК, то функция возвращает True.
    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта