Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка-ПРОГРАММИРОВАНИЕ -DELPHI 2007.doc
Скачиваний:
8
Добавлен:
12.11.2019
Размер:
2.04 Mб
Скачать

4.3.1. Разработка алгоритма

Входные данные

xl, х2 - целочисленные переменные. Выходные данные

S - целочисленная переменная. Промежуточные данные

В данной программе промежуточные данные не используются.

Чтобы сконструировать форму, измените свойства каждой компоненты соответствующим образом.

Таблица 4.1 Используемые компоненты

Имя компо­нента

Страница

палитры

компонент

Настраи­ваемые свойства

Значения

1

Forml

-

Caption

Пример лабораторной работы №4

! 2

Editl

Standard

Text

3

Edit2

Standard

Text

4

Label 1

Standard

Caption

ВНИМАНИЕ! Вводить только целые числа!

5

Label2

Standard

Caption

Введите границу диапазона (снизу)

6

Label3

Standard

Caption

Введите границу диапазона (сверху)

7

Label4

Standard

Caption

Результат

8

Label5

Standard

Caption

9

Label6

Standard

Caption

Для вывода результата - щелчок по 1 метке "Результат"

4.3.3. Текст программы

program Projectl;

uses Forms, Unit in 'Unitl.pas'lForml};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TForm 1, Form 1);

Application.Run; end.

unit Unit 1;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForml = class(TForm) Label 1: TLabel; Label2: TLabel; LabeB: TLabel; Label4: TLabel; EditLTEdit; Edit2: TEdit; Label5: TLabel; Label6: TLabel; procedure Label4Click(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end;

var Forml: TForml;

implementation {$R *.DFM}

{обработчик события OnClick}

procedure TForml.Label4Click(Sender: TObject);

var xl,x2,s: integer;

begin

{преобразуем текст из edit1 в целое число }

х 1 :=strtoint(edit1.text);

{преобразуем текст из edit1 в целое число)

x2:=strtoint(edit2.text);

{обнуление суммы}

s:=0;

{организация цикла}

while (xl<=x2) do

{тело цикла}

begin

{прибавление к сумме текущего значения x1} s:=s+xl;

{увеличение значения xl на 1}

xl:=xl+l; end; {конец тела цикла}

{преобразуем число s в строку и покажем результат в метке} labels. caption:=inttostr(s); end;

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

  1. Как функционирует оператор цикла for и какая типовая схема алгоритма ему соответствует?

  2. Как функционирует оператор цикла while и какая типовая схема алгоритма ему соответствует?

  3. Как функционирует оператор цикла repeat и какая типовая схема алгоритма ему соответствует?

  4. Определить значение переменной S после выполнения операто­ров:

s:=0; i=l;

while i>5 do i:=i+l; s:=s+l/i;

5. Определить значение переменной S после выполнения операто­ ров:

S:=0; i:=l;

repeat s:=s+l/i; i:=i+l; until i>l;

6. Определить значение переменной S после выполнения операто­ ров:

s:=0;i:=l;

while i>l do begin s:=s+l/i; i:=i-l; end;

7. Определить значение переменной S после выполнения операто­ ров:

s:=l; n:=l;

for i:=2 to n do s:=s+s/i;

8. Сколько раз будет выполняться тело цикла? к:=0;

for i:=l to к+1 do к:=к-1

9. Найдите ошибки в следующих фрагментах программы, если var

k, i: integer; х, у: real;

а) у:=0; for х:=0.1 to 0.9 do y:=y+sin х;

б) к:=81; у:=1; for i:=l to sqrt (к) do y:=2*y;

10. Найдите ошибки в следующих фрагментах программы, если var k, i: integer; х, у: real;

а) к:=0; for i:=l to 9 do k:=k+sqr(i); k:=k+l;

б) k:=l; for i:=64 to 1 do begin i:=2*i; k:=k+l; end;

Задания к лабораторной работе № 4

  1. Вычисление f=10! описать каждым из трех вариантов оператора цикла.

  2. Подсчитать к - количество цифр в десятичной записи целого неотрицательного числа п.

  3. Логической переменной t присвоить значение true или false в за­висимости от того, является ли натуральное число к степенью 3 или нет.

  4. Вычислить у = cos x+cos x + cos х -к..+cos x.

  5. Вычислить у = sin 1+ sin 1.1 + ... +sin 2.

  6. Логической переменной р присвоить значение true, если целое п (п>1) - простое число, и значение false иначе.

  7. Вычислить:

20

р=П Xi2, где x,=Xi_i+dx; dx=0.5.

J=1

  1. Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n(1<n<27).

  2. Напечатать в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр.

10.Дано целое n>2. Напечатать все простые числа из диапазона [2,n].

11. Дано натуральное число n.

а) выяснить, входит ли цифра 3 в запись числа n;

б) поменять порядок цифр числа n на обратный.

12. Дано натуральное число n.

а) переставить первую и последнюю цифры числа п;

б) приписать по единице в начало и в конец записи числа п.

13. Вычислить:

10

S=  (xi3+8)05, где xr=xm+dx2; xl=2; dx=0.2.

i=1

14. Вычислить:

8

D=  (xj2-h.5)/(|xj|+10) , где хjj-1+dх; xj=2; dx=1.

j=1