1 записи текста, выводимого в заголовке формы

1 записи позиции окна

14. Свойство Panel1.Align предназначено для:

1 выравнивания текста на форме

1 указания способа размещения (выравнивания) объекта

1 указания расстояния от левого края формы

1 записи позиции окна

15. Свойство Edit1.Left предназначено для:

1 выравнивания текста на форме

1 указания способа размещения (выравнивания) объекта

1 указания расстояния от левого края формы

1 указания глобальной позиции в памяти, включая смещения

16. Свойство GroupBox1.Top предназначено для:

1 выравнивания текста на форме

1 указания способа размещения (выравнивания) объекта

1 указания расстояния от левого верхнего угла объекта до левой границы формы

1 указания расстояния от левого верхнего угла объекта до верхней границы формы

17. Свойство GroupBox1.Color предназначено для:

1 указания цвета Рабочего стола

1 указания коллекции цветов (темы Windows XP)

1 указания цвета объекта

18. Свойство Label1.Font. Color предназначено для:

1 указания цвета Рабочего стола

1 указания коллекции цветов (темы Windows XP)

1 указания цвета объекта

1 указания цвета шрифта

19. Избегайте записи, подобной следующей, т. к. компилятор поймет ее неправильно.

1 if x=7 and y=8 then

1 if (x=7) and (y=8) then

1 if x=4 then y:=x;

1 if (x=4) y=x;

1 if x=4 then y=x;

20. Выражение X представляет...

1 целочисленную константу

1 булеву переменную

1 переменную

1 адрес переменной

21. Выражение @X представляет...

1 целочисленную константу

1 булеву переменную

НЕ нашли? Не то? Что вы ищете?

1 переменную

1 адрес переменной

22. Выражение 15 представляет...

1 целочисленную константу

1 булеву переменную

1 переменную

1 адрес переменной

23. Выражение Calc(X, y) представляет...

1 результат операции

1 булеву переменную

1 переменную

1 вызов функции

24. Выражение X*Y представляет...

1 целочисленную константу

1 булеву переменную

1 переменную

1 результат операции

25. Недопустимые конструкции комментария:

1 *...(...*)...)

1 (*...(...)...*)

1 {...}

1 (*это*)

1 [*...*]

1 //

26. Примеры правильных идентификаторов:

1 A

1 mod

1 block#1

1 Panel1

1 ToolBar1

27. Примеры неправильных идентификаторов:

1 1Program

1 external

1 ALPHA

1 Panel1

1 ToolBar1

1 My Prog

28. Порядковые типы данных - это...

1 Cardinal

1 Currency

1 Float

1 Byte

1 Real

29. Для форматного преобразования вещественных чисел предназначены функции...

1 FloatToStr

1 RealToInt

1 Float

1 FormatFloat

1 FormatDateTime

30. Запись a+b/c предполагает, что:

1 вначале выполняется операция деления, а затем сложения

1 вначале выполняется операция сложения, а затем деления

31. Запись (a+b)/c*d предполагает, что:

1 сумма a+b делится на с, а затем умножается на d

1 с умножается на d, затем выполняется операция сложения a+b, и только потом операция деления

32. Операции "целочисленное деление" и "определение остатка от деления" применимы только к операндам... типов данных:

1 целых

1 вещественных

33. Тип данных характеризует две вещи...

1 длину участка памяти, которую занимает соответствующая переменная

1 инициализацию переменной

1 разрешенные операции для переменной

34. Примеры выражений - это:

1 y

1 21

1 #39

1 (a+b)*c

1 a>2

1 'Symbol'

1 sin(t)

1 NIL

35. В Object Pascal используются следующие зарезервированные слова:

1 goto

1 as

1 date

1 property

1 raise

1 div

1 caption

1 string

36. К стандартным директивам, которые первоначально связаны с некоторыми стандартными объявлениями в программе, относятся...

1 name

1 write

1 inherited

1 forward

1 readonly

1 public

1 packed

1 export

37. Оформить запись вещественного числа с использованием десятичной точки и экспоненциальной части: 3,14 умножить на 10 в степени 5

 
 

38. Оформить запись вещественного числа с использованием десятичной точки и экспоненциальной части: -17 умножить на 10 в степени минус 2

 
 

39. Глубина вложенности составных операторов begin... end ...

1 не ограничена

1 ограничена

40. Все операторы, выполняемые или нет в условном операторе, могут быть...

1 любого типа

1 любого типа, в том числе условного

1 любого типа, кроме условного

1 только составные операторы

41. Оператор присваивания состоит из двух частей, объединенных знаком (:=), который читается как...

1 присвоить значение

1 равно

42. Каждый оператор может располагаться в редакторе кода...

1 на одной или нескольких следующих друг за другом строках

1 только на одной строке

1 на нескольких строках

43. Необходимость в полосах прокрутки возникает...

1 когда есть потребность в них у пользователя

1 для организации удобного ввода-вывода информации

1 при обеспечении доступа к большому объему информации

44. Чему будет равно значение переменной S в результате выполнения следующего фрагмента программы?

vаr

S:strіng;

bеgin

S:='Привет хорошим программистам';

Dеletе(S, 7, 8);

еnd;

1 Привет хорошим программистам

1 Приветорошим программистам

1 ' программистам' (примечание: без кавычек)

1 Привет программистам

1 Приветпрограммистам

45. Что хранится в tempStr[0]?

var

tempStr : String [20];

begin

tempStr := 'I love delphi.';

// <----

end.

1 14

1 'I'

1 0

1 Не определено

46. Что выведет следующая программа?

var

arr1 : array [1..3] of Byte;

arr2 : array [1..3] of Byte;

i : Integer;

begin

arr1[1] := 10;

arr1[2] := 11;

arr1[3] := 12;

arr1 := arr2;

for i := 1 to 3 do

Write(arr2[i],' ');

end.

1

1 Программа не скомпилируется.

1

47. Что выведет следующая программа?

Var

a, b : Integer;

begin

a := 10;

b := 3;

a := a div b;

case a of

1,2,3 : Writeln('!');

4,5 : Writeln('?');

end;

end.

1 !

1 ?

1 Программа запустится, но ничего не выведет.

1 Программа не скомпилируется.

48. Что выведет следующая программа?

var

a, b,i : Integer;

begin

a := 8;

b := 1;

for i := 1 to 3 do

a := a shl b;

Writeln(a);

end.

1 8

1 24

1 64

1 Программа не скомпилируется

49. Что выведет следующая программа?

var

a : Integer;

begin

a := 2;

while (a < 10) do

begin

a := a + 2;

if (a = 7) then Break;

end;

Writeln(a);

end.

1 10

1 7

1 8

1 Программа никогда не закончит работу

50. Что необходимо написать вместо??????, чтобы программа вывела "100"?

var

ar1 : array of Integer;

begin

??????

Writeln(Length(ar1));

end.

1 ar1[0] := 100

1 SetLength(ar1,100)

1 ar1 := 100

1 ar1(100)

51. Какие из следующих имен могут быть корректными идентификаторами?

1 record

1 property

1 properties

1 interface

1 init

52. Что выведет следующая программа?

var

a, i : Integer;

begin

i := 10;

a := 5;

for i := -1 to 10 do

Inc(a);

Writeln(a);

end.

1 5

1 17

1 10

1 Программа не скомпилируется

53. Сколько элементов содержит массив cube: array [1..2,1..2,1..2,1..2] of Boolean;

1 4

1 6

1 8

1 10

1 12

1 14

1 16

54. Какую строчку надо дописать, чтобы программа вывела "'"? (без кавычек)

var

a : char;

begin

???????????

writeln(a);

end.

1 a := ''

1 a := ''''

1 a := '''

1 a := chr(39) 1 a := #39

55. Что выведет следующая программа?

var

a : integer;

begin

a := 1000;

Writeln(a)

end.

1 0

1 1000

1 Ошибка компиляции в строчке 'Writeln(a)' из-за отсутствия ';'

56. Какое максимальное количество элементов может входить в множество (set) ?

1 10

1 100

1 255

1 256

1 1000

1 1024

57. Соответствие булевых операторов:

1 not 1. конъюнкция

1 and 2. дизъюнкция

1 or 3. отрицание

58. Тип данных - это:

1 метод организации обмена данными между оперативной и внешней памятью

1 описание предметной области с использованием естественного языка

1 представление данных с точки зрения пользователя или прикладной программы

1 способ представления значения в памяти

59. Установить последовательность приоритета выполнения операций:

1 @, not

1 =, <>, <, >, <=, >=, in, is

1 +, -, or, xor

1 *, /, div, mod, and, shl, shr, as

60. Для форматного преобразования строк в другие типы предназначены подпрограммы...

1 StrToFloat

1 StringToColor

1 Val()

1 StrToTime

1 Str()

1 FormatFloat

Контрольная работа по теме:

«Реализация финансовых вычислений в Delphi»

Задание: Используя математические функции и процедуры реализовать прикладные задачи финансовых вычислений.

DoubleDecliningBalance

Вычисляет амортизационные отчисления на определенном этапе.

FutureValue

Вычисляет значение вклада через определенный период времени.

InterestPayment

Вычисляет процентную ставку кредита.

InterestRate

Вычисляет процентную ставку инвестиций.

InternalRateOfReturn

Вычисляет внутреннюю ставку дохода от инвестиций.

NetPresentValue

Вычисляет текущее значение платежа, используя массив с расчетными значениями.

NumberOfPeriods

Вычисляет количество этапов необходимое для погашения кредита.

Payment

Вычисляет полную сумму погашений кредита на отдельном этапе.

PeriodPayment

Вычисляет необходимую сумму выплат основной части (без процентов) кредита на определенном этапе.

PresentValue

Определяет текущее значение вклада.

SLNDepreciation

Вычисляет сумму амортизационных отчислений по методу равномерной амортизации.

SYDDepreciation

Вычисляет сумму амортизационных отчислений по методу ускоренной амортизации.

Задачи:

1.  Какую сумму необходимо положить на депозит, чтобы через 4 года она достигла рублей при ежемесячном начислении процентов. Ставка по вкладу 12% годовых.

2.  Предполагается, что ссуда размером 7 000 рублей погашается ежемесячными платежами по 280 рублей. Рассчитайте, через сколько лет произойдет полное погашение займа при ставке процента 26% годовых.

3.  Какая сумма окажется на счете, если 20000 рублей положили на 2 года под 10% годовых. Проценты начисляются раз в полгода.

4.  Какую сумму необходимо положить на депозит, чтобы через 4 года она достигла рублей при ежемесячном начислении процентов. Ставка по вкладу 12% годовых.

5.  Рассчитайте процентную ставку для 3 летнего займа 2300 рублей с ежегодной выплатой 1100 рублей.

6.  Определите годовую процентную ставку для пятилетнего займа размером 4000 рублей с полугодовой выплатой 800 рублей.

7.  Какую сумму необходимо положить на депозит, чтобы через 2 года она достигла 70000 рублей при ежеквартальном начислении процентов. Ставка по вкладу 11% годовых.

8.  Вы положили на вклад 30000 рублей и ежемесячно докладываете по 1000 рублей в течение 1 года при ставке 8% годовых. Сколько денег будет на счете?

9.  Вам необходимо накопить 5 000 рублей за 5 лет, откладывая постоянную сумму в начале каждого квартала. Какой должна быть эта сумма, если ставка процента по вкладу 15% годовых.

10.  Оцените, выгодно ли Вам дать в долг 10000 рублей с возвратом через 2 года 12000 рублей при ставке 10% годовых.

11.  Определите величину ежемесячных выплат по ссуде размером 10000 рублей, взятой на 3 года под 16% годовых.

12.  Рассчитайте, через сколько лет вклад размером 10000 рублей достигнет значения 15000 рублей при ежемесячном начислении процентов и ставке 9% годовых.

13.  Какой должна быть годовая процентная ставка по вкладу размером 1000 руб., если его величина через 2 года составила 2000 руб., а проценты начислялись ежеквартально.

14.  Вы берете в долг 50000 рублей и собираетесь выплачивать по 3000 рублей раз в полугодие. Сколько лет потребуется, чтобы выплатить всю сумму, если ставка 10 % годовых?

15.  Какую сумму необходимо положить на депозит по 18,5% годовых, чтобы через два года иметь 40 000 рублей при полугодовом начислении процентов.

16.  Определите величину ежемесячных выплат по ссуде размером 10000 рублей, взятой на 3 года под 16% годовых.

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

18.  Вы положили на вклад 10000 рублей и в начале каждого полугодия докладываете по 1000 рублей в течение 3 лет при ставке 12% годовых. Сколько денег будет на счете?

19.  У вас просят в долг 24 000 рублей и обещают возвращать по 5 000 рублей в течение 6 лет. Будет ли выгодна эта сделка при ставке 9% годовых?

20.  Вам необходимо накопить 100000 рублей за 1 год, откладывая постоянную сумму в начале каждого месяца. Ставка 8% годовых. Какой должна быть эта сумма?

21.  Предполагается, что ссуда размером 7 000 рублей погашается ежемесячными платежами по 280 рублей. Рассчитайте, через сколько лет произойдет полное погашение займа при ставке процента 26% годовых.

22.  Определите ежемесячные выплаты по займу в 10 000 руб., взятому на семь месяцев под 9% годовых.

23.  Оцените, что выгоднее: отдать сейчас 50000 рублей или через 1 год – 60000 руб. Ставка 10% годовых.

24.  Рассчитайте процентную ставку для 2 летнего займа 2100 рублей с ежемесячной выплатой 100 рублей.

25.  Определите размеры периодических взносов в фонд размером 10000 руб., сформированный за 6 лет ежемесячными платежами, если процентная ставка составляет 7% годовых.

Варианты контрольной работы

(для заочной формы обучения)

Контрольная должна быть предоставлена студентом в виде проекта приложения, разработанного в Delphi (наличие всех модулей проекта), файл с именем варианта и пояснительная записка к проекту в виде бумажного отчета (руководство пользователя), который состоит из описания постановки задачи своего варианта; контрольный пример входной информации; теоретические сведения по выбранному алгоритму решения задачи (операторы, типы данных, компоненты пользовательского интерфейса, их свойства, методы и события, которые задействованы в проекте).

Вариант 1

Задание 1

Даны x, y, z.

Определить

Задание 2

Даны x1, x2, …, x10.

Определить

Задание 3

Даны E, F, D.

Определить ; .

Задание 4

Даны x1, x2, …, x8.

Определить N – количество xi с чётными номерами, меньшими x1 и xmax/2.

Задание 5

Даны наименования 10 автопредприятий, численность работающих, и фонды заработной платы на каждом автопредприятии. Напечатать в виде таблицы список автопредприятий, на которых фонд заработной платы на одного работника, менее заданной величины ZR. Вычислить средний показатель по всем 10 автопредприятиям.

Вариант 2

Задание 1

Даны

шифры таксомоторных парков: HI1, HI2, …, HI20,

количество автомашин в каждом: K1, K2, …, K20,

выручка за смену по парку: S1, S2, …, S20.

Сформировать список таксомоторных парков, у которых выручка за смену на одну автомашину ниже заданной величины SZ. Указать шифр таксопарка с минимальной выручкой на 1 автомашину.

Задание 2

Даны K, L.

Определить

Задание 3

Даны три марки автомашин. Определить, есть ли среди них марка "ВАЗ2101". Вывести соответствующее сообщение.

Задание 4

Даны L1, L2, L3.

Определить

Задание 5

Даны два массива фамилий:

F11, F12, … , F110;

F21, F22, … , F28.

Сформировать два новых массива, в которых фамилии на букву А стоят в начале. Порядок остальных фамилий не важен.

Вариант 3

Задание 1

Даны M, N, P.

Определить

Задание 2

Даны четыре слова одинаковой длины. Напечатать сообщение о наличии или отсутствии одинаковых слов и это слово.

Задание 3

Заданы списки поставщиков и потребителей и соответствующие объёмы поставок и потребления. Напечатать таблицу поставщиков и потребителей, имеющих равные объёмы поставок и потребления

Задание 4

Заданы матрицы А и В размером [4 x 3] и [4 x 2]. Объединить их по столбцу в новую матрицу С. В новой к элементам четвёртого столбца прибавить элементы первого, а к элементам пятого – элементы второго столбца.

Задание 5

Задан ряд x1, x2, …, x20.

Построить новый ряд, где на месте xmin и xmax стоит сумма (x1 + x20)/2. Определить сумму элементов нового ряда.

Вариант 4

Задание 1

Даны четыре фамилии. Определить, есть ли среди них фамилия ИВАНОВ. Напечатать соответствующее сообщение.

Задание 2

Дан массив С1, С2, …, С24.

В массиве есть два элемента равные 0. Заменить все элементы, стоящие между ними, на единицы.

Задание 3

Даны n, d.

Определить

Задание 4

Даны массивы L1, …, L7 и Y1, …, Y5.

Определить

Задание 5

Даны шифры, плановые и реальные показатели грузооборота 10 предприятий. Вывести таблицу с предприятиями, не выполнившими план, с указанием процента недовыполнения плана.

Вариант 5

Задание 1

Даны a, b.

Определить

Задание 2

Даны наименования трёх вузов. Определить, есть ли среди них АЛТГУ. Напечатать соответствующее сообщение.

Задание 3

Заданы массивы x1, x2, …, x10 ; y1, y2, …, y15.

Построить новый ряд С по формуле

Задание 4

Даны Р1, Р2, …, Р20 – наименования предприятий;

Т1, Т2, …, Т20 – их телефоны.

Вывести списки предприятий, телефоны которых начинаются с цифр 155, 171, 434.

Задание 5

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

Вариант 6

Задание 1

Даны a, b.

Определить

Задание 2

Даны наименования четырех факультетов. Определить, имеется ли среди них ЭФ и вывести об этом соответствующее сообщение.

Задание 3

Задан массив y1, y2, …, y15.

Сформировать новый массив, заменив ymin на ymax, а ymax на ymin (т. е. поменять их местами).

Задание 4

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

Задание 5

Даны x, y, a.

Определить

Вариант 7

Задание 1

Даны l, n, q;

Определить Kmax и его индекс.

Задание 2

Даны три слова. Определить и вывести слова, которые состоят из пяти букв.

Задание 3

Даны а1, а2, …, а6.

Определить

Задание 4

Задан массив y1, y2, …, y10.

Если индекс ymin меньше 5, то заменить в исходном массиве отрицательные yi на ymin.

Задание 5

Даны фамилии водителей (их количество не более 15), пробег их автомашин в км, суммарный расход топлива в литрах. Вывести список водителей, у которых расход топлива на 1 км составляет величину от 0,2 до 0,3 л/км.

Вариант 8

Задание 1

Даны массивы

GAI1, GAI2, …, GAI20 – шифры 20 ГАИ,

DTP1, DTP2, …, DTP20 – количество дорожно-транспортных происшествий за месяц по каждому ГАИ.

Построить три массива:

1 – шифры ГАИ, у которых количество ДТП = 0,

2 – шифры ГАИ, у которых количество ДТП ≤ 10,

3 – шифры ГАИ, у которых количество ДТП ≤ 80.

Задание 2

Даны A, B, C.

Определить

; .

Задание 3

Даны a, b, c.

Определить

Задание 4

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

Задание 5

Даны списки 20 абитуриентов, их средние баллы аттестата и средний балл, полученный при поступлении в институт. Вывести три списка.

1 – абитуриентов, у которых разница средних баллов более 0,5;

2 – абитуриентов, у которых разница средних баллов более 1;

3 – абитуриентов, у которых разница средних баллов более 2.

Вариант 9

Задание 1

Дано слово из пяти букв. Сколько раз встречаются идущие подряд буквы "НН"?

Задание 2

Даны x1, x2, …, x10; l1, l2, …, l10.

Определить

Задание 3

Даны массивы

N1, …, N7 – наименования операций по ремонту автомашин;

ST1, …, ST7 – стоимость каждой из операций.

Вывести список операций, стоимость которых составляет от S1 до S2 руб. Какая операция имеет максимальную стоимость?

Задание 4

Даны a, b, c.

Определить

Задание 5

Даны шифры изделий Н1, …, Н10;

себестоимость каждого S1, …, S10;

количество в штуках K1, …, K10.

Вывести списки изделий, изготовленных на сумму более некоторой заданной величины Х. Определить изделие, для которого Si·Ki максимально.

Вариант 10

Задание 1

Даны номерные знаки 4 автомашин. Определить, имеются ли среди них одинаковые, вывести их или сообщение, что таких - нет.

Задание 2

Даны l1, l2, …, l8; n1, n2, …, n5; m1, m2, …, m5.

Определить

Задание 3

Даны массивы

М1, …, М7 – марки автомобилей;

GR1, …, GR7 – грузоподъёмности;

N1, …, N7 – номерные знаки.

Вывести списки автомашин с указанием номерного знака, грузоподъёмность которых составляет от 6 до 7 т. Указать марку автомашины с минимальной грузоподъёмностью.

Задание 4

Даны а1, а2, а3.

Определить

Задание 5

Даны шифры десяти цехов, численности рабочих и инженерно-технических работников в каждом. Вывести списки цехов, в которых соотношение рабочих и ИТР более 1,5 и менее 2, и списки, в которых это соотношение более 2.

Вариант 11

Задание 1

Даны номерные знаки трёх автомашин. Определить, есть ли среди них знак "МНЗ 2754" и напечатать об этом сообщение.

Задание 2

Даны массивы А1, А2, …, А15; В1, В2, …, В5.

Сформировать массив С, содержащий отрицательные Аi и Вj.

Задание 3

Даны d, f, g, h.

Определить

Задание 4

Даны b1, ... , b10; d1, ... , d7; A.

Определить

.

Задание 5

Даны три списка потребителей и три массива объёмов пот­ребления электроэнергии. Напечатать из каждого списка потреби­телей с min и max объёмом потребления электроэнергии.

Образец лабораторной работы

Лабораторные работы

Тема: «Подпрограммы. Стандартные подпрограммы: процедуры и функции, входящие в поставку Delphi. Технология создания собственных подпрограмм»

Цель работы:

1.  Закрепить теоретические сведения о подпрограммах: процедурах и функциях (структура подпрограммы – заголовок, локальное описание, тело, способы вызова подпрограмм; понятие формальных и фактических параметров; передача параметров по имени и по значению; параметры-константы, параметры-результаты; вложения подпрограмм). Для получения теоретических сведений по данной теме воспользоваться книгами либо электронными вариантами книг.

2.  Научиться применять на практике стандартные процедуры и функции. Реализовать примеры создания приложений в Delphi.

3.  Научиться создавать пользовательские процедуры и функции.

Порядок работы:

1.  Рассмотреть теоретические сведения о процедурах и функциях (локализация имен, описание подпрограммы, параметры, передача параметров, процедурные типы, рекурсия и опережающее описание).

2.  Ознакомиться с перечнем стандартных функций и процедур: (переменные, процедуры и функции модуля System, процедуры и функции модуля Match).

3.  Реализация приложений, использующих функции и процедуры.

Практическое задание 1. В Object Pascal не предусмотрена операция возведения вещественного числа в произвольную степень. Тем не менее эту задачу можно решить с использованием стандартных математических функций Ехр и Ln по следующему алгоритму: X Y = e (Y*Ln(X))

Создать функцию с именем power и двумя вещественными параметрами а и в, которая будет возвращать результат возведения а в степень в. В приложении реализовать использование обеих функций для возведения в степень.

Практическое задание 2. Написать программу, которая собирает статистику содержимого текстового файла:

§  общее количество символов в тексте;

§  наличие в тексте чисел и их количество;

§  наличие в тексте прописных букв и их количество

§  наличие в тексте строчных букв и их количество.

Программа визуализирует результат на экране в виде:

§  общее количество символов;

§  процентное соотношение символов: цифры, ПРОПИСНЫЕ БУКВЫ, строчные буквы.

Создайте новый проект, сохраните его. Спроектируйте интерфейс программы, представленный на рисунке ниже.

Работа программы должна состоять из этапов.

Первый: создать пользовательские функции:

§  для генерирования случайных символов RndSimvol;

§  для генерирования строки из 50 случайных символов StringLine.

Второй: создать обработчик события кнопки 1 с последовательностью действий:

§  создать текстовый файл, содержащий 150 строк из набора символов – числа, ПРОПИСНЫЕ БУКВЫ, строчные буквы;

§  заполнить редактор Memo информацией из файла.

Третий: создать обработчик события кнопки 2 по сбору статистики и визуализации результатов

Для этого необходимо организовать подсчет общего количества символов, количество цифр, количество ПРОПИСНЫХ БУКВ, количество строчных букв.

Провести вычисление процентного соотношения каждого вида по отношению к общему числу символов. Вывести результаты на экран. Использовать компонент Gauge.

Функциональность приложения:

Для реализации описанных действий необходимо выполнить следующее:

1) создать пользовательскую функцию, генерирующую случайный символ, для этого ее необходимо объявить в интерфейсной части модуля в разделе «public»

function RndSimvol: Char;

2) выполнить описание алгоритма функции в разделе реализации

function TForm1. RndSimvol: Char;

var

TipSimv: Byte;

begin // тело функции

Result := ‘ ’;

TipSimv:= Random(3); // генерирование символов трех видов

Case TipSimv of

0: Result := Chr(Random(10) + 48); // возвращаемое значение – число

1: Result := Chr(Random(26) + 65); // возвращаемое значение – ПРОПИСНЫЕ БУКВЫ

2: Result := Chr(Random(26) + 97); // возвращаемое значение – строчные буквы

end;

end;

3) создать пользовательскую функцию, генерирующую строку случайных символов, для этого ее необходимо объявить в интерфейсной части модуля в разделе «public»

function StringLine: String;

4) выполнить описание алгоритма функции в разделе реализации

function TForm1. StringLine: String;

var

i: integer;

begin // тело функции

Result := ‘ ’;

For i:= 1 to 50 do

Result := Result + RndSimvol; // вызов функции генерации случайных символов

// возвращаемое значение – строка из 50 символов

end;

5) создать пользовательскую процедуру CreateTXTFile для создания файла TXTFile. txt, для этого ее необходимо объявить в интерфейсной части модуля в разделе «public», выполните это самостоятельно. Объявить глобальную переменную F1 типа «Текстовые файлы».

6) выполнить описание алгоритма процедуры в разделе реализации.

procedure TForm1.CreateTXTFile;

var

i: integer;

begin

Randomize;

AssignFile(F1, ‘TXTFile. txt’);

Rewrite(F1);

For i:= 1 to 150 do

Writeln(F1, StringLine);

CloseFile(F1);

ShowMessage(Format(‘Файл %s создан!’, ‘TXTFile. txt’)));

end;

Вопрос 1: Для чего используется Randomize?

Вопрос 2: Для чего вызывается функция Format и какие она имеет параметры?

6) создать обработчик события OnButton1Click, который будет вызывать процедуру создания текстового файла с именем TXTFile. txt и заполнять редактор Memo1 информацией из этого файла.

Описание обработчика события:

procedure TForm1.Button1Click(Sender: TObject);

begin

CreateTXTFile;

Memo1.Lines. add(‘TXTFile. txt’);

end;

7) создать обработчик события OnButton2Click, который будет подсчитывать общее количество символов в тексте, количество цифр, ПРОПИСНЫХ, строчных букв и выдавать результаты в процентном соотношении. Для хранения информации о количестве символов необходимо использовать динамический массив целых чисел.

Описание обработчика события:

procedure TForm1. Button2Click (Sender: TObject);

var

i: Byte;

mStatistica: array of Integer:

sLine: String;

begin

setLength(mStatistica,4); // длина динамического массива

// индексы массива

// 0 – общее количество символов

// 1 - цифры

// 2 – ПРОПИСНЫЕ

// 3 - строчные

AssignFile(F1, ‘TXTFile. txt’);

Reset(F1);

While not eof(F1) do

Begin

Readln(F1,sLine);

mStatistica[0] := mStatistica[0] + Length(sLine);

For i:= 1 to Length(sLine) do

Begin

Case sLine[i] of

‘0’..’9’ : mStatistica[1] := mStatistica[1] + 1;

‘A’..’Z’ : mStatistica[2] := mStatistica[2] + 1;

‘a’..’z’ : mStatistica[3] := mStatistica[3] + 1;

end;

end;

end;

CloseFile(F1);

Gauge1.Progress := Round((mStatistica[1] * 100) / mStatistica[0]);

Gauge2.Progress := Round((mStatistica[2] * 100) / mStatistica[0]);

Gauge3.Progress := Round((mStatistica[3] * 100) / mStatistica[0]);

End;

Вопрос 3: Для чего нужна инструкция ReadLn()?

Вопрос 4: Для чего нужна переменная sLine?

Вопрос 5: Что возвращает функция Length()?

Практическое задание 3. Написать программу «Кредитный калькулятор», которая позволяет рассчитывать ежемесячные выплаты по кредиту и строить на их основе таблицу платежей. Исходными данными являются: сумма кредита (в рублях), годовая ставка (в процентах), срок погашения (количество месяцев).

Основная сумма кредита выплачивается в равных долях каждый месяц. К этой сумке добавляются проценты, которые натекли на непогашённую сумму кредита за месяц. (Убывающая схема выплат). Проценты за месяц + месячная доля основной суммы кредита составляют ежемесячные выплаты. Демонстрационная версия программы прилагается к заданию.

1.  Для округления вещественного числа до сотых долей можно воспользоваться функцией RoundTo.

Примеры:
RoundTo(1
RoundTo(1.234,
RoundTo(1.235,
RoundTo(1.245,
Первый параметр – округляемое число, второй параметр степень 10 до которой будет выполнено округление. Функция возвращает результат округления.

2.  Описание компонентов использованных в лабораторной работе, в том числе компонента «Таблица строк» (StringGrid) можно найти в электронной книге

Материалы итогового контроля

Вопросы к зачету

1.  Два типа подпрограмм. Синтаксис определения процедуры и функции. Синтаксис вызовов процедуры и функции. Отличия процедур и функций.

2.  Использование функций и процедур. Определение фактических и формальных параметров. Передача параметров по ссылке и по значению.

3.  Способы вызова подпрограмм.

4.  Вложенные подпрограммы. Уровень вложенности.

5.  Рекурсивный способ вызова подпрограмм.

6.  Объектно-ориентированное программирование. Основное понятие ООП. Объекты и классы. Определения, назначение.

7.  Объект. Характеристики объекта. Соединение объектов в систему для решения задачи.

8.  Понятие класс. Отличие класса от других типов данных.

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

10.  Инкапсуляция.

11.  Наследование.

12.  Полиморфизм.

13.  Методы, события и свойства. Определения и назначение.

14.  Конструкторы и деструкторы.

15.  Область видимости. Разделы объявлений (интерфейсы класса: private, public, protected, published, automated).

16.  Типы методов: статические, виртуальные, динамические, сообщения, автоматические.

17.  Переопределение методов.

18.  Объектная декомпозиция предметной области задачи. Достоинства и недостатки.

19.  Операции над объектами.

20.  Основные этапы разработки программных систем с использование ООП: анализ, проектирование, эволюция, модификация. Характеристика каждого.

21.  Object Pascal. Массивы. Статические и динамические массивы. Работа с ними.

22.  Object Pascal. Типы данных. Файлы.

23.  Тип File (TextFile).

24.  Взаимодействие приложения Windows с операционной системой.

25.  Принцип событийного управления.

26.  Структура приложения Windows.

27.  Сообщения. Типы сообщений. Обработка сообщений.

28.  Исключения. Обработка исключительных ситуаций.

29.  Конструкции исключения: try … except, try … finally.

30.  Концепция потоков. Класс Tthread и принцип его работы. Методы и свойствами объекта Tthread (Synchronize(), Execute(), Resume(), свойство Terminated,

31.  Свойство приоритета Priority. Приоритеты потоков.

32.  Синхронизация. Проблемы при синхронизации потоков (тупики, гонки). Средства синхронизации (критические секции, мьютексы, семафоры).

4. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ

Рубцовский институт (филиал) АлтГУ располагает материально-технической базой, соответствующей санитарно-техническим нормам и обеспечивающей проведение всех видов лабораторной, практической подготовки и научно-исследовательской работы студентов, предусмотренных ГОС.

Аудиторный фонд института, оснащенный СВТ, включает 7 компьютерных классов (4 класса по 15 ПК в каждом, 1 – по 17 ПК, 2 – по 18 ПК), и 4 мобильных класса на ноутбуках. 2 класса по 15 ПК используются в режиме свободного доступа студентов. Все компьютеры объединены в единую локальную вычислительную сеть и имеют доступ в Интернет.

Лекционные занятия по дисциплине «Высокоуровневые методы информатики и программирования» проводятся в аудиториях, оснащенных мультимедийными проекторами.

Лабораторные работы выполняются в компьютерных либо в мобильных классах.

Мобильные классы на ноутбуках используются в учебно-образовательной деятельности, как для учебных занятий, так и для организации доступа к ресурсам корпоративной сети и Internet на всей территории РИ АлтГУ.

В учебном процессе используется лицензионное программное обеспечение. На различных ПК установлено системное программное обеспечение Windows XP Professional Service Pack 3, Windows 7 Enterprise Service Pack 1, Windows 7 Professional Service Pack 1, Windows 8 Enterprise, Windows 8 Pro.

Выполнение лабораторных работ опирается на использование пакета прикладного программного обеспечения Borland Delphi 7.0

Для оформления отчетов по лабораторным работам, пояснительной записки к контрольным работам используется пакет прикладных программ: Microsoft Office: PowerPoint 2007, Microsoft PowerPoint 2010, Microsoft Word 2007, Microsoft Word 2010, Excel 2007, Excel 2010, Visio Professional 2003, Visio Professional 2007, Visio Professional 2010.

Также для самостоятельной работы студенты могут по своему усмотрению использовать дополнительно свободно-распространяемое ПО или demo-версии. Для его развертывания на каждом ПК есть специальный раздел Public с необходимыми правами доступа.

5. СПИСОК ОСНОВНОЙ И ДОПОЛНИТЕЛЬНОЙ ЛИТЕРАТУРЫ, ДРУГИЕ ИНФОРМАЦИОННЫЕ ИСТОЧНИКИ

Основная литература

1.  Бабушкина, И. А.   Практикум по объектно-ориентированному программированию / , . – М: БИНОМ. Лаборатория знаний, 2009 – 366c. 

2.  Бескоровайный, Delphi: программирование с нуля. –
Новосибирск: Сибирское университетское издательство, 2008. – 112 с.

3.  Давыдова . Учебное пособие / . – М.:БИНОМ, Лаборатория знаний, 2012 – 239с.

4.  Мишенин, А. И.   Сборник задач по программированию: Учебное пособие / . – М.: Финансы и статистика, 2009 – 224c. 

5.  Стивенс, Р. Delphi. Готовые алгоритмы. Визуальный язык программирования. Rad для программистов. – Издательство «ДМКПресс», 2007. – 384 с.

Дополнительная литература

6.  Архангельский, А. Я Delphi 2006: Справочное пособие. Язык Delphi, классы, функции Win 32 и. NET / . - М.: БИНОМ, 2c.

7.  Бобровский, А. Н Программирование в Delphi 2005 / . - СПб.: БХВ - Петербург, 2c.

8.  Бобровский, Delphi: Разработка приложений для бизнеса: Учебный курс / . - СПб: Питер, 2c.

9.  Галисеев, Г. В.   Программирование в среде Delphi 8 : Самоучитель / . - М.: Вильямс, 2c. 

10. Головешкин, В. А., Ульянов, рекурсии для программистов. Учебное пособие / . – М.: Физматлит, 2006. – 146 с.

11. Истомин, Е. П.   Высокоуровневые методы информатики и программирования: учебник / , , . - 3-е изд.- СПБ.: ООО "Андреевский издательский дом", 2010 – 228c. 

12. Климова, Л. М. Delphi 7: Основы программирования. Решение типовых задач: Самоучитель – М.: Кудиц-Образ, 2006 – 480 с.

13. Пачеко, К. Delphi : Руководство разработчика / К. Пачеко. - М.: Вильямс, 2c.

14. Синицын, С. В.   Программирование на языке высокого уровня: учебник для студ. высш. учеб. заведений / , , . – М.: Издательский центр "Академия", 2010 – 400c. 

15. Сухарев, М.   Золотая книга Delpi: С обновлениями до версии 2010 / М. Сухарев. – СПб.: Наука и Техника, 2010 – 1040c.

Базы данных, Интернет-ресурсы,

информационно-справочные и поисковые системы

16. Информационная система "Единое окно доступа к образовательным ресурсам" [Электронный ресурс] – Режим доступа: http://window. *****/resource/192/77192/Афанасьева, и программы: учебное пособие / , , . - Ульяновск: УлГТУ, 20с.

17. Научно-технический и научно-производственный журнал «Информационные технологии», раздел Программирование и CASE-технологии // http://*****/IT/

18. Поисковые системы: Google, Yandex, Rambler.

19. Программирование - Программирование линейное, C++, Delphi, C#, .NET, 1c, системы, языки, обучение: Программирование для чайников и начинающих // www. .

20. Центр Информационных технологий / Библиотека on-line // http:/www. *****.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3