Учебный курс Программирование на Delphi. Модуль 14: различия между версиями
Строка 23: | Строка 23: | ||
*'''Программный код:''' | *'''Программный код:''' | ||
− | + | unit Unit2; | |
− | + | interface | |
− | interface | + | uses |
− | |||
− | uses | ||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | ||
Dialogs, StdCtrls, ExtCtrls, Grids, XPMan, Buttons; | Dialogs, StdCtrls, ExtCtrls, Grids, XPMan, Buttons; | ||
− | + | type | |
− | type | ||
TForm1 = class(TForm) | TForm1 = class(TForm) | ||
Edit1: TEdit; | Edit1: TEdit; | ||
Строка 44: | Строка 41: | ||
BitBtn1: TBitBtn; | BitBtn1: TBitBtn; | ||
BitBtn2: TBitBtn; | BitBtn2: TBitBtn; | ||
− | |||
procedure BitBtn2Click(Sender: TObject); | procedure BitBtn2Click(Sender: TObject); | ||
procedure BitBtn1Click(Sender: TObject); | procedure BitBtn1Click(Sender: TObject); | ||
Строка 52: | Строка 48: | ||
{ Public declarations } | { Public declarations } | ||
end; | end; | ||
− | + | var | |
− | var | ||
Form1: TForm1; | Form1: TForm1; | ||
− | + | implementation | |
− | implementation | + | {$R *.dfm} |
− | + | function max (x,y: real): real; | |
− | {$R *.dfm} | ||
− | function max (x,y: real): real; | ||
begin | begin | ||
if x > y | if x > y | ||
Строка 65: | Строка 58: | ||
else max:=y | else max:=y | ||
end; | end; | ||
− | + | var z, a, b, c: real; | |
− | + | procedure TForm1.BitBtn2Click(Sender: TObject); | |
− | + | begin | |
− | var z, a, b, c: real; | + | begin |
− | procedure TForm1.BitBtn2Click(Sender: TObject); | ||
− | begin | ||
− | |||
− | |||
− | |||
a:=strtoint(edit1.Text); | a:=strtoint(edit1.Text); | ||
b:=strtoint(edit2.text); | b:=strtoint(edit2.text); | ||
Строка 79: | Строка 67: | ||
z:=(max(a, b+c) + max(a+b, c*c))/(1+ max(a+b*c, 12)); | z:=(max(a, b+c) + max(a+b, c*c))/(1+ max(a+b*c, 12)); | ||
Label4.Caption:=floattostr(z); | Label4.Caption:=floattostr(z); | ||
− | end; | + | end; |
− | end; | + | end; |
− | + | procedure TForm1.BitBtn1Click(Sender: TObject); | |
− | procedure TForm1.BitBtn1Click(Sender: TObject); | + | begin |
− | begin | + | close; |
− | close; | + | end; |
− | end; | + | end. |
− | |||
− | end. | ||
*'''Форма с результатом работы программы:''' | *'''Форма с результатом работы программы:''' | ||
− | [[Изображение: | + | [[Изображение:12-1.JPG]] |
== Пример 2.== | == Пример 2.== | ||
*'''Условие задачи:''' | *'''Условие задачи:''' | ||
− | + | Найти N число последовательности Фибоначчи. Использовать рекурсивную функцию. | |
+ | Числа Фибоначчи образуют последовательность, у которой каждый очередной член равен сумме двух предыдущих: 0 1 1 2 3 5 8 13 . . . Обозначив N-й член ряда Фибоначчи F(N), можно записать следующую рекурсивную зависимость: F(N) = F(N - 1) + F(N - 2), n >= 3, F(1) = 1 и F(2) = 1 | ||
+ | |||
*'''Использованные компоненты:''' | *'''Использованные компоненты:''' | ||
Строка 107: | Строка 95: | ||
*'''Программный код:''' | *'''Программный код:''' | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*'''Форма с результатом работы программы:''' | *'''Форма с результатом работы программы:''' | ||
[[Изображение:7-2.JPG]] | [[Изображение:7-2.JPG]] |
Версия 10:52, 1 марта 2008
Содержание
Пример 1.
- Условие задачи:
Даны все действительные числа a,b,c.Вычислить max(a,b,+c)+max(a+b,c)/1+max(a+bc,12)
- Использованные компоненты:
Label1 - используется для текстовых комментариев;
Label2 - используется для вывода суммы;
edit1 - используется для ввода числа;
edit2 - используется для ввода числа;
edit3 - используется для ввода числа;
BitBtn1 - запуск программы;
BitBtn2 - выход из программы;
- Программный код:
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids, XPMan, Buttons; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; XPManifest1: TXPManifest; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function max (x,y: real): real; begin if x > y then max:=x else max:=y end; var z, a, b, c: real; procedure TForm1.BitBtn2Click(Sender: TObject); begin begin a:=strtoint(edit1.Text); b:=strtoint(edit2.text); c:=strtoint(edit3.Text); z:=(max(a, b+c) + max(a+b, c*c))/(1+ max(a+b*c, 12)); Label4.Caption:=floattostr(z); end; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end; end.
- Форма с результатом работы программы:
Пример 2.
- Условие задачи:
Найти N число последовательности Фибоначчи. Использовать рекурсивную функцию. Числа Фибоначчи образуют последовательность, у которой каждый очередной член равен сумме двух предыдущих: 0 1 1 2 3 5 8 13 . . . Обозначив N-й член ряда Фибоначчи F(N), можно записать следующую рекурсивную зависимость: F(N) = F(N - 1) + F(N - 2), n >= 3, F(1) = 1 и F(2) = 1
- Использованные компоненты:
Label1 - используется для текстовых комментариев;
Label2 - используется для текстовых комментариев;
edit1 - используется для ввода числа;
BitBtn1 - запуск программы;
BitBtn2 - выход из программы;
- Программный код:
- Форма с результатом работы программы:
Задание
Номер варианта | Условие | |
---|---|---|
Проверить, является ли строка палиндромом (т.е. читается ли она одинакого слева на право и справа налево). Пробелы игнорируются. Например, шалаш, а роза упала на лапу азора. | ||
Проверить, верно ли что в строке чередуются гласные и согласные буквы.Пробелы игнорируются. | ||
Проверить, имеется ли в заданном тексте баланс открывающихся и закрывающихся скобок. | ||
В заданном предложении указать слово, в котором доля гласных а,е,и максимальна. | ||
В заданном предложении найти самое короткое и самое длинное слово. | ||
Для каждого символа заданного текста указать, сколько раз он встречается в тексте. Сообщение об одном символе должно печататься не более одного раза. | ||
В заданном тексте удалить символ "," и подсчитать число удаленных символов. | ||
В заданном тексте подсчитать количество гласных букв. | ||
В заданном тексте заменить каждый символ "а", стоящий на четном месте, на символ "о". | ||
Подсчитать количество слов в предложении. | ||
Определить, сколько раз в строке встречается заданное слово. | ||
Для каждого слова заданного предложения указать долю согласных. | ||
Определить слово в заданном предложении, в котором доля гласных максимальна. | ||
Удалить из текста пробелы и подсчитать число удаленных символов. |
Номер варианта | Условие |
---|---|
Дан массив из слов А(N). Найти все слова, заканчивающиеся гласной буквой. | |
Дан массив из слов Х(m). Найти все слова четной длины. | |
Дан массив из слов У(к). Найти все слова с нечетным количеством буквы "о". | |
Дан массив из слов A(m). Найти все слова с длиной, не превышающей заданной. | |
Дан массив из слов X(n). Найти все слова, содержащие хотя бы одно вхождение заданной подстроки. | |
Дан массив из слов A(k). Найти все слова, начинающиеся и заканчивающиеся одной и той же буквой. | |
Дан массив из слов A(k). Найти все слова с четным количеством буквы "е". | |
Дан массив из слов У(L). Найти все слова, содержащие шипящие. | |
Дан массив из слов A(n). Найти все слова, начинающиеся с заданной буквы. | |
Дан массив из слов У(m). Найти все слова, у которых есть буквы а, о и е. | |
Дан массив из слов Т(к). Найти все слова, начинающиеся или заканчивающиеся буквой "з". | |
Дан массив из слов Т(к). Найти все слова, содержащие заданное количество букв. | |
Дан массив из слов Z(m). Найти все слова, в которых есть две подряд идущие одинаковые буквы. | |
Дан массив из слов X(k). Найти все слова, длина которых кратна трем. |
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.