50886

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

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

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

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

Русский

2014-02-01

5.46 MB

20 чел.

Лабораторная работа №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.  Как выглядит конструкция оператора если необходимо выполнить более одного оператора?

 

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

10622. Предпосылки средневековой западноевропейской философии 237.15 KB
  Предпосылки средневековой западноевропейской философии 1. Средневековая западноевропейская философия как синтез античной философской и религиозных традиций Средневековая западноевропейская философия развивалась на базе античной философии испытывая мощное в...
10623. Периодизация западноевропейской средневековой философии, ее отличительные черты и проблемы 48 KB
  Периодизация западноевропейской средневековой философии ее отличительные черты и проблемы В исторической науке период средневековья в Западной Европе датируют V ХV вв. Однако по отношению к философии такая датировка не совсем корректна. Средневековая европейская ф...
10624. Святой Августин и апогей патристики 297.24 KB
  Святой Августин и апогей патристики Жизнь духовная эволюция и сочинения Августина Августин Аврелий родился в 354 г. в Тагасте Нумидия Африка. Его отец Патриций был мелким собственником связанным с язычеством крещен был лишь в конце жизни. Напротив его мать Мон
10625. Философия Фомы Аквинского 214.67 KB
  Философия Фомы Аквинского ФОМА АКВИНСКИЙ 1225 или 1226-1274 центральная фигура средневековой философии позднего периода выдающийся философ и богослов систематизатор ортодоксальной схоластики основатель одного из двух господствующих ее направлений томизма. Исх
10626. Основные черты философии эпохи Возрождения 24.43 KB
  Основные черты философии эпохи Возрождения Философия эпохи Возрождения особый этап в истории западноевропейской философии характеризующийся утверждением новой специфической формы философствования строящейся на принципиально иных независимых от философской ...
10627. Философия Нового времени: ХVII- ХVIII вв 23.44 KB
  Философия Нового времени: ХVII ХVIII вв. К 1617 вв. вся европейская культура подверглась глубочайшим трансформациям выражением которых явились социальная революция в обществе связанная с переходом от феодализма к капитализму эпоха ранних буржуазных революций и научна
10628. Философия Просвещения. Случайность и необходимость 51.5 KB
  Философия Просвещения 1.Социальноисторические предпосылки идеологии Просвещения. Борьба против метафизики 2. Общественноправовой идеал Просвещения. Коллизия частного интереса и общей справедливости 3. Случайность и необходимость 4. Просветительская трактов
10629. Гносеология И.Канта 93.5 KB
  Гносеология И.Канта Роль Иммануила Канта 1724-1804 в истории философии трудно переоценить. Этого мыслителя называют основателем немецкой классической философии являющейся вершиной европейской рационалистической философии. Наряду с И.Кантом другими выдающимися пре
10630. Современная западная философия: иррационализм и сциентизм 24.28 KB
  Современная западная философия: иррационализм и сциентизм Аннтотация: Современная западноевропейская философия весьма разнообразна. Для философии 20 века характерно выделение двух полярных направлений сциентизма и иррационализма. В качестве наиболее показательн