50886

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

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

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

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

Русский

2014-02-01

5.46 MB

18 чел.

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

 

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

59782. МІЖНАРОДНИЙ ДЕНЬ ЗАКОХАНИХ 72.5 KB
  Тому сьогодні ми пропонуємо вам відзначити прекрасне веселе давнє свято. 1 ВЕДУЧИЙ: Це – Миле Домашнє Забавне і Незвичайне свято День Святого Валентина або Свято всіх Закоханих 2 ВЕДУЧИЙ: Незвичайне воно тому що зовсім не слов’янське.
59783. День Святого Валентина, виховний захід 161 KB
  Хід свята Ведуча: Про день Святого Валентина дорослий знає і дитина. Ведуча: Сьогодні ми зібралися щоб відсвяткувати незвичайне і веселе старовинне свято День Святого Валентина. Ведуча: Життя без коханняжиття без любові То небо без сонця то небо беззоре.
59785. Літературно-музичне свято, присвячене Дню святого Валентина 95 KB
  День святого Валентина Це свято юних закоханих але саме свято немолоде його святкували ще в XV ст. Існує чимало легенд які розповідають про походження цього свята але було б чудово почути історію свята Валентина від нього самого.
59786. Виховний захід «День Святого Валентина» для учнів 1-7 гімназійних класів 74 KB
  Another story tells us about St. Valentine who was a good friend to children. He was against the Roman Gods and that is why he was put into prison. When it happened, the children brought him loving letters. It was on February 14.
59788. ST. VALENTINE DAY 32.5 KB
  Last century, sweethearts of both sexes would spend hours fashioning a homemade card or present. The results of some of those painstaking efforts are still preserved in museums. Lace, ribbon, wild flowers, colored paper, feathers, and shells, all were put to use.
59790. Прощальний вальс (сценарій випускного вечора) 89.5 KB
  Під тиху музику ведуча звертається до присутніх. Ведуча: Доброго вам вечора шановні батьки вчителі гості Тільки вчора пролунав останній дзвоник позаду напружена пора іспитів і ось випускний бал до якого одинадцять років як по східцях довелося підійматися нашим випускникам.