50886

Программирование в Delphi. Разработка циклических программ. Цикл с пошаговой сменой аргумента

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

Информатика, кибернетика и программирование

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

Русский

2014-02-01

5.46 MB

15 чел.

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

Основы объектно-ориентированного программирования в визуальной среде программирования Delphi.

Тема: Программирование  в Delphi. Разработка циклических программ. Цикл с пошаговой сменой      аргумента.

Цель: Расширить навыки работы в визуальной среде программирования Delphi. Научиться составлять и реализовывать программы решения задач с использованием оператора цикла с пошаговой сменой аргумента FOR. 

Теоретические сведения

Цикл – команда исполнителю программы (компьютеру) многократно, но не до бесконечности, повторять указанную последовательность команд

Циклическая структура – это алгоритм, в котором предусмотрено неоднократное повторение одной и той же последовательности действий. Эта последовательность действий образует тело цикла. В теле цикла используется переменная, которая при каждом повторении тела цикла меняется и определяет число повторений цикла. Такая переменная называется параметром цикла.

Цикл с пошаговой сменой аргумента – FOR (ДЛЯ) используется в тех случаях, когда число повторений цикла заранее известно.

Цикл for  представляет собой цикл со счетчиком. Переменная, образующая счетчик, хранит количество итераций, которые будут выполняться в цикле. Повторение итераций происходит до тех пор, пока значение счетчика не изменится от начальной величины до величины заданной, называемой конечной.

Циклы for делятся на два вида: с увеличением счетчика и уменьшением счетчика.

Рассмотрим пример цикла for с увеличением счетчика Синтаксис такого счетчика имеет следующий вид: for Счетчик Цикла: = Начальное Значение to Конечное Значение do

begin
Оператор1;
Оператор2;

ОператорМ;
end;

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

  1.  Запустите Delphi
  2.  Поместите на форму три компонента Edit. Edit1 используйте для ввода начального значения счетчика цикла, Edit2 используйте для ввода конечного значения счетчика цикла. Результат проведенных вычислений поместите в компонент Edit3
  3.   Поместите на форму компонент Button1. Используя свойство Caption, введите заголовок "Решение". Поместите компонент Button2, используя свойство Caption, введите заголовок "Очистить". Щелчок по кнопке Button2 будет обнулять содержимое компонента Edit3. Запишите программный код:
  4.  procedure TForm1.Button1Click (Sender: TObject);
    var
    i
    :Integer;
    X,Y:Integer;
    begin
    X:= StrToInt(Edit1.Text);
    Y:= StrToInt(Edit2.Text);
    for i:= X to Y do
    X:= X + 1;
    Edit3.Text:= IntToStr(X);
    end;

    procedure TForm1.Button2Click (Sender: TObject);
    begin
    Edit3.Text:= '';
    end;
    end.

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

Синтаксис цикла for с уменьшением значения счетчика: for Счетчик Цикла: := Начальное Значение downto Конечное Значение do

begin
Операто1;
Оператор2;

ОператорМ;
end;

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

Поместите на форму компонент Edit1 и Button1. Запишите программный код для расчета некоторого значения:

procedure TForm1.Button1Click(Sender: TObject);
var
I,Min: Integer;
begin
Min:= 25;
for I:= 10 downto 1 do
Min:= Min — I;
Edit1.Text:= IntToStr(Min);
end;
end.

Цикл for начинается зарезервированным словом for. За ним следует оператор присваивания, инициирующий величину счетчика цикла. Переменная в левой части оператора присваивания — счетчик цикла. Это может быть произвольная переменная порядкового типа, обычно Integer. Справа от операции присваивания — выражение, задающее начальное значение счетчика цикла.

Переменная счетчика цикла — это обычная переменная, которая может иметь любое имя. Единственное ограничение состоит в том, что счетчик цикла должен быть обязательно объявлен, как и другие переменные, и объявлен локально — в той же области действия, что и цикл for.

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

За инициализацией счетчика следует ключевое слово to или downto, которое определяет тип цикла: с возрастающим значением счетчика или с убывающим.

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

После конечного значения счетчика цикла следует зарезервированное слово do, а затем тело цикла. Если в цикле используется больше одного оператора, то все тело цикла заключается в блок begin — end.

Порядок выполнения работы

  1.  Загружаем среду программирования Delphi. Пуск ПрограммыBorland DelphiDelphi 7.
  2.  Задание 1 Составить блок-схему и написать программу нахождения суммы ряда

  1.  Создадим форму   

  1.  Составляем  блок-схему и программу решения задачи  

Листинг программы

procedure TForm1.Button3Click(Sender: TObject);

begin

Close

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

end;

procedure TForm1.Button1Click(Sender: TObject);

var

i:Integer;

n:Integer;

S,a:real;

begin

  1.  

a:=StrToFloat(Edit1.Text);

n:= StrToInt(Edit2.Text);

s:=0;

for i:= 1 to n do

S:=s+(a*sqr(i)+1);

Edit3.Text:= FloatToStr(S);

end;

end.

  1.  Задание 2

Написать программу и нарисовать блок-схему вычисления значения функции у=x*sin(x) на интервале [m,k]

  1.  Создаем форму

Листинг программы для кнопки «Считать»

procedure TForm1.Button1Click(Sender: TObject);

   var

   m,k,i,n:integer;

   s:real;

begin

    m:=StrToInt(Edit1.Text);

    k:=StrToInt(Edit2.Text);

    S:=0;

    For i:=m to k do

    begin

    S:= s+ i*sin(i);

    edit3.Text:=FloattoStr(s);

end;

end;

end.

варианта

Задание 3

1

2

3

4

5

6

7

8

9

10

11

12


Задание 4

п/п

Функции f (x)

m

k

1

x2 / cos(x)

1

10

2

x+sin(x)

-5

5

3

sin(x)+cos(x)

-10

10

4

x+cos(x)

0

10

5

x-tg(x)

-3

7

6

x - sin2(x)

0

10

7

-7

3

8

(x+34)/x3

1

10

9

sin2(x) – cos (x)

-3

7

10

x + ctg(x)

-7

3

11

ctg(x) – 2x

2

12

12

sin(x)/x

1

11

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

  1.  Что такое цикл?
  2.  Тело цикла – это?
  3.  Циклическая структура – это?
  4.  Параметр цикла – это?
  5.  Когда используется цикл с пошаговой сменной аргумента?
  6.  Чему равен шаг изменения цикла For?
  7.  Какие значения может принимать шаг цикла FOR?
  8.  По какой формуле определяется количество повторений в цикле?
  9.  Какого типа параметр цикла?
  10.  Как выглядит конструкция оператора если необходимо выполнить более одного оператора?

 

А также другие работы, которые могут Вас заинтересовать

9509. Иоганн Вольфганг Гете 1749 - 1832 Johann Wolfgang Goethe 31.13 KB
  5 Иоганн Вольфганг Гете 1749 - 1832 Johann Wolfgang Goethe Общечеловеческий гений (Гомер, Шекспир) Разносторонний: красавец, долгожитель, светский человек, государственный деятель, ученый-натуралист, поэт, драматург, прозаик + актер, художник Совре...
9510. Дени Дидро 1713 – 1784 50.29 KB
  Дени Дидро 1713 – 1784 Родился в семье ремесленника. Духовная карьера – не стал. С 20 лет – интеллигент, бедняк. Разносторонние таланты, в том числе, организаторский. (Энциклопедия) Дидро дважды попадал в тюрьму (в 1749 и в 1...
9511. Лирика Иоганна Вольфганга Гёте 81.96 KB
  36 Лирика Иоганна Вольфганга Гёте Когда мы говорим о творчестве Гете, мы непременно подчеркиваем замечательный универсализм художника, проявившийся в создании им прекрасных образцов драмы, эпической поэмы, романа. Но наиболее велик, непререкаемо пре...
9512. Поэмы Оссиана Джеймса Макферсона 240.86 KB
  Поэмы Оссиана Джеймса Макферсона Осенью 1759 г. в курортный городок на юге Шотландии Моффат прибыл Томас Грэм (Graham), сын шотландского помещика, который в дальнейшем ста...
9513. Поэма Орлеанская девственница 36.11 KB
  1735 опубл. 1755 творчески перерабатывается сам жанр комической эпопеи, расширяется сфера комического, изменяется его социально-критическая функция в соответствии с просветительскими идеологическими задачами ПАРОД...
9514. Жан-Жак Руссо (1712 – 1778) 48.5 KB
  Жан-Жак Руссо (1712 – 1778) Швейцарец - фр гений Сложен, противоречив (история жизни – в Исповеди, факты верны, а освещение) Из демократических низов (как и многие просветители 2-го этапа): сын часовщика - сирота, бродяга, самообраз...
9515. Лоренс Стерн (Laurence Sterne, 1713 - 1768) 30.22 KB
  Лоренс Стерн (Laurence Sterne, 1713 - 1768) родился на юге Ирландии в семье пехотного офицера. В детстве вместе с семьей ему приходилось постоянно переезжать с места на место, скитаясь по казармам. Когда будущему писателю было 18 лет, умер отец. Бла...
9516. История зарубежной литературы XVIII века 572.35 KB
  История зарубежной литературы XVIII века Глава 1 История зарубежной литературы XVIII века Учебник для филологических специальностей вузов Под редакцией Л. В. Сидорченко Учебник рассматривает важнейшие закономерности развития литературы эпохи Просвещ...
9517. Память як багаторівневе, поліструктурне явище 30.5 KB
  Сприймання та память. Псих.час та память. Сприймання в яких людина пізнає оточуючу дійсність зазавичай не зникають безслідно. Вони закріплюються, зберігаються та відтворюються надалі у формі впізнання предметів, що ми бачимо, спогадах. Змістовне спр...