
- •Предисловие
- •Раздел 1. Изучение интегрированной среды delphi
- •1.1. Вводные замечания
- •Основные понятия
- •1.3. Контрольные вопросы
- •1.4. Задания к лабораторной работе № 1
- •Раздел 2. Программирование линейных алгоритмов в системе delphi
- •2.1. Вводные замечания
- •2.2. Основные понятия
- •2.3. Пример программирования линейного алгоритма
- •2.3.1. Разработка алгоритма
- •2.3.3.Текст программы:
- •2.4. Контрольные вопросы
- •2.5. Задания к лабораторной работе № 2
- •Раздел 3. Программирование
- •3.3.2. Разработка формы
- •3.4. Контрольные вопросы
- •3.5. Задания к лабораторной работе № 3
- •Раздел 4. Программирование простых циклических алгоритмов в системе
- •4.1. Вводные замечания
- •4.2. Основные понятия
- •4.3.1. Разработка алгоритма
- •4.4. Контрольные вопросы
- •Раздел 5. Программирование с использованием одномерных массивов в системе delphi
- •5.1. Вводные замечания
- •5.2 Основные понятия
- •5.3. Пример программирования с использованием одномерного массива
- •5.3.1. Разработка алгоритма
- •5.4. Контрольные вопросы
- •5.5. Задания к лабораторной работе № 5
- •Раздел 6. Программирование с использованием двумерных массивов в системе delphi
- •6.1. Вводные замечания
- •6.2. Основные понятия
- •6.3. Пример программирования с использованием двумерного массива
- •6.3.1. Разработка алгоритма
- •Раздел 7. Символы и строки
- •Раздел 8. Файлы
- •Задание 1
- •Раздел 9. Программирование в системе delphi с использованием подпрограмм
- •7.3. Пример программирования с использованием подпрограмм
- •Учебно-методическое обеспечение курса
- •Средства обеспечения освоения дисциплины
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. Контрольные вопросы
Как функционирует оператор цикла for и какая типовая схема алгоритма ему соответствует?
Как функционирует оператор цикла while и какая типовая схема алгоритма ему соответствует?
Как функционирует оператор цикла repeat и какая типовая схема алгоритма ему соответствует?
Определить значение переменной 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
Вычисление f=10! описать каждым из трех вариантов оператора цикла.
Подсчитать к - количество цифр в десятичной записи целого неотрицательного числа п.
Логической переменной t присвоить значение true или false в зависимости от того, является ли натуральное число к степенью 3 или нет.
Вычислить у = cos x+cos x + cos х -к..+cos x.
Вычислить у = sin 1+ sin 1.1 + ... +sin 2.
Логической переменной р присвоить значение true, если целое п (п>1) - простое число, и значение false иначе.
Вычислить:
20
р=П Xi2, где x,=Xi_i+dx; dx=0.5.
J=1
Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n(1<n<27).
Напечатать в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр.
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) , где хj=хj-1+dх; xj=2; dx=1.
j=1