Блок-схема

Код программы в Pascal

program Tickets;

uses Crt;

var k, m, cost: integer;

begin

       clrscr;

       writeln(‘Введите номер пункта и количество билетов’);

       readln (k, m);

       case k of

               1: cost:=22;

               2..4: cost:=25;

               5,6: cost:=30;

               else: cost:=35;

       end;

       write(m, ‘ билетов к пункту ’, k, ‘ стоят ’);

       writeln(m*cost);

readln

end.

Внешний вид формы в Delphi


В конструкторе

При выполнении


Код программы в среде Delphi

procedure TForm1.Button1Click(Sender: TObject);

var k, m, cost: integer;

begin

       k:= StrToInt(Edit1.Text);

       m:= StrToInt(Edit2.Text);

       {Считываем данные из полей ввода}

       case k of

               1: cost:=22;

               2..4: cost:=25;

               5,6: cost:=30;

               else cost:=35;

       end;

       Label4.Caption:=IntToStr(m*cost);

НЕ нашли? Не то? Что вы ищете?

       {Помещаем результат в заголовок объекта Label4}

end;

Лабораторная работа № 3

Выполнить два варианта: один – в среде Pascal, другой – в среде Delphi.

Формулировка задания

1.

По номеру дня недели вывести его русское название

2.

По номеру месяца вывести количество дней в нем в високосный год и в обычный.

3.

По номеру месяца вывести номер соответствующего квартала.

4.

По номеру студента из списка вывести его фамилию.

5.

По номеру месяца вывести его название

6.

По номеру дня недели вывести количество пар в этот учебный день.

7.

Известна цена на шесть видов товаров. По номеру товара вывести его цену.

8.

По числовому коду группы вывести количество студентов.

9.

Вывести английской название введенной цифры.

10.

По телефонному коду города вывести его название.

11.

По телефонному номеру вывести имя абонента

12.

По номеру квартиры вывести количество жителей этой квартиры

13.

По первой букве названия предмета вывести фамилию преподавателя.

14.

По числовому коду группы вывести фамилию старосты

15.

По первой букве названия реки вывести ее протяженность.

16.

По первой букве продукта вывести его калорийность.

17.

По номеру дня недели вывести его английское название

18.

По номеру месяца вывести название сезона.

19.

По номеру канала вывести название телестанции

20.

По номеру библиографического списка вывести название книги

21.

По номеру в хит-параде вывести название песни

22.

По количеству цветов в букете вывести его стоимость

23.

По номеру автомобиля вывести год его выпуска.

24.

По году выпуска автомобиля вывести его стоимость

25.

Но номеру студента вывести дату его рождения


Цикл с параметром

Существует два типа цикла с параметром:

Восходящий

for Параметр:=Выражение1 to Выражение2 do

       Оператор


где параметр – это переменная целого, символьного, логического или перечисляемого типов, а выражения 1 и 2 задают начальное и конечное значение параметров.

Действие: Параметру цикла присваивается начальное значение Выражение1. Если оно меньше или равно, чем значение Выражение2, то выполняется Оператор. После этого значение параметра увеличивается на единицу автоматически, после чего происходит сравнение знаяения параметра со значением Выражение2. Когда значение параметра становится больше значения Выражение2, то выполняется следующий за циклом оператор.

Нисходящий

for Параметр:=Выражение1 downto Выражение2 do

       Оператор


Этот оператор действует так же, как и предыдущий, но шаг изменение параметра равен минус1.

Пример.

Составить таблицу соответствия между унциями и граммами для нескольких значений унций. Известно, что одна унция равна 28,353495 г. Начальное значение количества унций (uncial), шаг изменения (h) этого значения и количества значений (k) задать самостоятельно в режиме диалога.

Блок-схема

Код программы в Pascal

program Uncia;

uses Crt;

const line=‘---------------------------’ ;

var uncia, gram, h: real;

i, k: integer;

begin

       clrscr;

       write(‘Введите начальное значение, шаг изменения’);

       writeln(‘ и количество значений – строк в таблице’);

       readln(uncia, h, k);

       writeln();         {Формируем пустую строку}

       writeln(line);         {Формируем заголовок таблицы}

       writeln(‘Унции Граммы’);

       writeln(line);

       for i:=1 to k do {Выводим таблицу на экран}

               begin

               gram:= 28.353495*uncia;

               writeln(uncial:5:2, ‘ ’, gram:10:6);

               uncia:=uncia+h;

               end;

       writeln(line);

       readln;

end.

Внешний вид формы в Delphi

В конструкторе

При выполнении

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

Свойство

Значение

ColCount

2

FixedCols

0


Код программы в среде Delphi

Для того, чтобы заполнить заголовки объекта StringGrid1, необходимо процедуру, запускаемую в момент создания окна (событие OnCreate, которое выбирается в окне Object Inspector для объекта Form1) внести следующий код:

procedure TForm1.FormCreate(Sender: TObject);

{в момент создания окна определяются заголовки

столбцов объекта StringGrid1 }

begin

       StringGrid1.Cells[0,0]:='Унций';

       StringGrid1.Cells[1,0]:='Грамм';

end;

Событие нажатия кнопки Button1 обрабатывается следующей процедурой:

procedure TForm1.Button1Click(Sender: TObject);

var uncia, gram, h: real;

i, k: integer;

begin

       uncia:=StrToInt(Edit1.Text);

       h:=StrToInt(Edit2.Text);

       k:=StrToInt(Edit3.Text);

       StringGrid1.RowCount:=k;

        {Задаем количество отображаемых строчек в StringGrid1}

       for i:=1 to k do

               begin

                       gram:= 28.353495*uncia;

               StringGrid1.Cells[0,i]:=FloatToStr(uncia);

               StringGrid1.Cells[1,i]:=FloatToStr(gram);

               uncia:=uncia+h;

               end;

end;

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

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17