+ Практическое занятие добавить последний титу..


Практическое занятие №1
Тема Введение. Инструктаж по ТБ
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
ИНСТРУКЦИЯ
по безопасности и охране труда в кабинете вычислительной техники
Общие требования
1. В кабинете вычислительной техники (КВТ) установлена дорогостоящая, сложная и требующая осторожного и аккуратного обращения аппаратура - компьютеры (ЭВМ), принтер, другие технические средства. Поэтому: а) бережно обращайтесь с этой техникой; б) спокойно, не торопясь, не толкаясь, не задевая столы, входите в кабинет и занимайте отведенное вам место, ничего не трогая на столах.
2. На вашем рабочем месте размещены составные части ЭВМ — системный блок, клавиатура, монитор (дисплей) и др. Во время работы лучевая трубка монитора (дисплея) работает под высоким напряжением. Неправильное обращение с аппаратурой, кабелями и мониторами может привести к тяжелым поражениям электрическим током, вызвать загорание аппаратуры.
Запрещается:
а) трогать разъемы соединительных кабелей;
б) прикасаться к питающим проводам и устройствам заземления;
в) прикасаться к экрану и к тыльной стороне монитора;
г) включать и отключать аппаратуру без указания преподавателя;
д) класть диск, книги, тетради на монитор и клавиатуру;
е) работать во влажной одежде и влажными руками.
3. Хорошо запомните, где в кабинете огнетушитель. Познакомьтесь под руководством преподавателя, как пользоваться им. При появлении запаха гари немедленно прекратите работу, выключите аппаратуру и сообщите об этом преподавателю; в случае необходимости окажите ему помощь в тушении огня.
Перед началом работы:
1. Убедитесь в отсутствии видимых повреждений рабочего места; сядьте так, чтобы линия взора приходилась в центр экрана, чтобы не наклоняясь пользоваться клавиатурой и воспринимать передаваемую на экран монитора информацию.
2. Разместите на столе тетрадь, учебное пособие так, чтобы они не мешали работе на ЭВМ.
3. Внимательно слушайте объяснения учителя и старайтесь понять цель и последовательность действий; в случае необходимости обращайтесь к преподавателю.
4. Хорошо разберитесь в особенностях применяемых в работе аппаратов.
5. Начинайте работу только по указанию преподавателя «Приступить к работе».
6. Во время работы ЭВМ (компьютера) лучевая трубка монитора является источником электромагнитного излучения, которое при работе вблизи экрана неблагоприятно действует на зрение, вызывает усталость и снижение работоспособности.
Поэтому надо работать: на расстоянии 60—70 см, допустимо не менее 50 см, соблюдая правильную посадку, не сутулясь, не наклоняясь; курсантам, имеющим очки для постоянного ношения — в очках.
7. Работа на ЭВМ требует большого внимания, четких действий и самоконтроля.
Поэтому нельзя работать:
а) при недостаточном освещении;
б) при плохом самочувствии.
Во время работы:
1. Строго выполняйте все указанные выше правила, а также текущие указания учителя.
2. Следите за исправностью аппаратуры и немедленно прекращайте работу при появлении необычного звука или самопроизвольного отключения аппаратуры. Немедленно докладывайте об этом преподавателю.
3. Плавно нажимайте на клавиши, не допуская резких ударов.
4. Не пользуйтесь клавиатурой, если не подключено напряжение.
5. Работайте на клавиатуре чистыми руками.
6. Никогда не пытайтесь самостоятельно устранять неисправности в работе аппаратуры.
7. Не вставайте со своих мест, когда в кабинет входят посетители.
По окончании работы:
1. Выключите компьютер.
2. Вы должны хорошо знать и грамотно выполнять эти правила, точно следовать указаниям преподавателя, чтобы:
а) избежать несчастных случаев;
б) успешно овладеть знаниями, умениями, навыками;
в) сберечь вычислительную технику и оборудование.
Вы отвечаете за состояние рабочего места и сохранность размещенного на нем оборудования невыполнение правил - грубейшее нарушение порядка и дисциплины.
Литература к уроку
Инструкция по ТБ
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е /Сексенбаева А.Т

Практическое занятие №2
Тема 1.1Оператор языка. Оператор ввода-вывода
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
В основном с операторов ввода/вывода начинается изучение любого языка программирования.
Readln (x1) - сначала идет имя процедуры Readln, затем имена переменных, которым будут присвоены значения. Их может быть несколько либо одно. Readln после ввода каждой переменной требует переход на новую строку
Writeln ('Текст пояснения ', x1) - сначала идет имя процедуры Writeln, затем текст, имена переменных, арифметические выражения. Их может быть несколько либо одно имя.Но необходимо помнить, что Writeln переводит курсор на новую строку в отличии от Write.
Пример 1. Составить программу для вычисления значения переменной z по формуле

program p1;
{$APPTYPE CONSOLE}
uses SysUtils;
var x, y, z : real;
begin
writeln('Enter x,y');
readln(x, y);
z:=(2*x–7.5)/(8*y+3.1) – 16.9;
writeln(' z= ',z:9:4);
readln
end.
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
Найти значение переменной X, если Х=(а+(d-12)*3)*(c-5*k), а значение переменных а, d, с, k задаются с клавиатуры.
Составить программу, которая запрашивает у пользователя два целых числа и выводит квадрат суммы (а+b)2 и сумму квадратов а2+b2 этих чисел.
Напишите программу, которая вычисляла произведение двух чисел, вводимых пользователем.
Найти среднее значение трех чисел.
Найти значения выражений:
a) (1+x)2
b)
c) |a+ bx|
Подсчитайте значение функции f = -2,7*x2+0,23*x-1,4.
Напишите программу, которая подсчитывает площадь круга по формуле s=*r2.
Дана сторона квадрата a. Найти его периметр.
Дана сторона квадрата a. Найти его площадь.
Даны стороны прямоугольника a и b. Найти его площадь и периметр.
Дан диаметр окружности d. Найти ее длину L=pi·d.
Дана длина ребра куба a. Найти объем куба V=a3 и площадь его поверхности S=6·a2.
Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V=a·b·c и площадь поверхности S=2·(a·b+b·c+a·c).
Найти длину окружности L и площадь круга S заданного радиуса R: L=2·pi·R, S=pi·R2.
Даны два неотрицательных числа a и b. Найдите квадратный корень из их произведения: .
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №3
Тема 1.2Условный оператор
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Если в зависимости от первоначального условия задачи, должны выполняться различные выражения, то мы будем использовать условный оператор. Условный оператор может быть записан в полной и неполной форме.
полная форма условного оператора
if<условие>then<оператор 1>else<оператор 2>
неполная форма условного оператора
if<условие>then<оператор>
ifthenelse – зарезервированные слова (если, то, иначе)
Пример 1.Дано число. Дать характеристику числа:
положительное, отрицательное;
чётное, нечётное;
целое, не целое.
program zadacha3_4;
var a:real;
k,m,p:string;
Begin
writeln('Введитечисло');
readln(a);
if a<0 then k:='отрицательное' else k:=' положительное';
if a=int(a) then m:=' целое' else m:='нецелое';
if a/2=int(a/2) then p:=' чётное' else p:=' нечётное ';
writeln('число ',a,' ; ',k,' ; ',m,' ; ',p);
End.
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.
Даны три целых числа. Найти положительных чисел.
Даны два числа. Вывести большее из них.
Даны два числа. Вывести вначале большее, а затем меньшее из них.
Задать с помощью условного оператора следующие действия: большее из трех данных чисел (a, b и с) уменьшить на 5.
Запишите условный оператор, в котором значение переменной вычисляется по формуле:  a + b,  если а – нечетное и a*b, если а – четное.
Даны целые числа a, b, c. Если a <= b <= c, то все числа заменить их квадратами, если
a  > b > c, то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа.
Найти наименьшее из трех данных чисел.
Написать программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (0,5).
Написать программы, подсчитывающий сумму только положительных из трех данных чисел.
Ввести два числа . Меньшее заменить полусуммой, а большее - удвоенным произведением.
Даны радиус круга и сторона квадрата. У какой фигуры площадь больше?
Найти произведение трех чисел a, b, c, если с> a+b.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №4
Тема 1.3Оператор выбора
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Оператор CASE работает следующим образом. Сначала вычисляется значение выражение селектора, затем это значение сравнивается последовательно с метками. Если значение селектора совпадает с одной из меток, то выполняется оператор этой метки и управление передается оператору, следующему за оператором CASE. Если значение селектора не совпадает ни с одной меткой, то выполняется оператор следующий за ELSE.
CASE<селектор>OF
Список меток1: оператор1;
Список меток2: оператор2;
……………………………..
Список меток n: операторn;
ELSE оператор n +1;
END;
<селектор>-выражение простого типа, кроме вещественного;
список меток – список значений выражения селектора или одно его значение. Метки являются константами и должны быть такого же типа, что и селектор.
Пример:
Вводиться число от 1 до 4, определяющее пору года. Дать название этой поры года (1 - зима, 2 - весна, 3 - лето, 4 - осень).
program zadacha3_10;
var
n:byte;
Begin
writeln('Введите номер поры года');
readln(n);
case n of
1: writeln('зима');
2: writeln('весна');
3: writeln('лето');
4: writeln('осень');
else
writeln('неправильно ввели номер поры года');
end;
End.
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
По введенному номеру дня недели вывести его словесное наименование. Например, 1 – понедельник.
По введенному номеру месяца вывести его словесное наименование. Например, 1 – январь.
Написать программу, позволяющую получить словесное наименование школьных оценок. Например, 1 – очень плохо.
Написать программу, которая по введенному номеру выводит фамилию студента вашей группы.
По введенному номеру музыкальной ноты вывести ее словесное наименование. Например, 3 – ми.
По введенному номеру дня недели вывести количество часов занятий в вашей группе.
Написать программу, которая выводит возможные значения координат X и Y в зависимости от номера координатной четверти.
Написать программу нахождения числа дней в месяце, если даны номер месяца.
Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат. 
Группу детей, приезжающих в лагерь, распределяют по отрядам:
с 6-7 лет – 5 отряд
с 7 до 9 лет – 4 отряд
с 9 до 11 лет – 3 отряд
с 11-13 лет – 2 отряд
с 13 до 15 лет включительно – 1отряд
Составить программу, которая позволяла бы каждому приезжающему в лагерь самому определить свой отряд.
Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего времени года ("зима", "весна" и т.д.). 
Напишите программу: По заданному порядковому номеру дня недели напечатать его название и указать рабочий это день или не рабочий.
Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах. 
Дано целое число в диапазоне 20 – 69, определяющее возраст (в годах). Вывести строку — словесное описание указанного возраста, обеспечив правильное согласование числа со словом "год", например: 20 — "двадцать лет", 32 — "тридцать два года", 41 — "сорок один год".
Написать программу, которая по значению входного параметра (целое число) определяет значение выходного параметра (строка) по следующей зависимости:

Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №5
Тема 1.4Оператор цикла
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Последовательность команд, выполняющихся несколько раз в зависимости от некоторого условия, называется циклом. Если заранее известно число повторений цикла, то в программе используются циклы с параметром. В общем виде цикл с параметром задается следующим образом:
FOR<переменная цикла>:=<выражение1>TO<выражение2>DO<тело цикла>;
<переменная цикла>-управляющая переменная, называется параметром цикла, должна быть любого скалярного типа кроме вещественного:
<выражение1>и <выражение2> определяют границу изменения параметра цикла.
Пример:
Найти сумму всех натуральных чисел от 1 до n.
program zadacha3_1;
var i,n,s:integer;
Begin
writeln(' введитенатуральное n'); readln(n);
s:=0;
for i:=1 to n do
s:=s+i;
writeln('суммаот 1 до',n,' = ',s);
End.
В данном цикле переменная i автоматически изменяется от 1 до n с шагом 1. Поэтому к переменной s прибавляется i вначале равная 1, потом 2, потом 3, и т.д. до n, соответственно переменная s принимает значении 1, 3, 6, 10, 15 ….…
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B.
Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B.
Дано целое число — цена 1 кг конфет. Вывести стоимость 1, 2, … , 10 кг конфет.
Найти произведение положительных, сумму и количество отрицательных из 10 введенных целых значений.
Написать программу возведения числа A в целую степень N.
Дано вещественное число A и целое число N (> 0). Вывести все целые степени числа A от 1 до N. 
Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + ... + AN.
Дано вещественное число A и целое число N (> 0). Вывести 1 – A + A2 – A3 + ... + (–1)NAN. 
Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту сумму. 
Дано целое число N (> 0). Вывести произведение 1·2·...·N.
Дано целое число N (> 0). Если N — нечетное, то вывести произведение 1·3·...·N; если N — четное, то вывести произведение 2·4·...·N.
Дано целое число N (> 0). Вывести сумму 2 + 1/(2!) + 1/(3!) + ... + 1/(N!) (выражение N! — "N факториал" — обозначает произведение всех целых чисел от 1 до N: N! = 1·2·...·N).
Дано вещественное число X и целое число N (> 0). Вывести 1 + X + X2/2! + ... + XN/N! (N! = 1·2·...·N).
вещественное число X и целое число N (> 0). Вывести X – X3/3! + X5/5! – ... + (–1)NX2N+1/(2N+1)! (N! = 1·2·...·N).
Дано вещественное число X (|X| < 1) и целое число N (> 0). Вывести X – X2/2 + X3/3 – ... + (–1)N–1XN/N.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №6
Тема 1.5Цикл с параметром
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Последовательность команд, выполняющихся несколько раз в зависимости от некоторого условия, называется циклом. Если заранее известно число повторений цикла, то в программе используются циклы с параметром. В общем виде цикл с параметром задается следующим образом:
FOR<переменная цикла>:=<выражение1>TO<выражение2>DO<тело цикла>;
<переменная цикла>-управляющая переменная, называется параметром цикла, должна быть любого скалярного типа кроме вещественного:
<выражение1>и <выражение2> определяют границу изменения параметра цикла.
Пример:
Найти сумму всех натуральных чисел от 1 до n.
program zadacha3_1;
var i,n,s:integer;
Begin
writeln(' введитенатуральное n'); readln(n);
s:=0;
for i:=1 to n do
s:=s+i;
writeln('суммаот 1 до',n,' = ',s);
End.
В данном цикле переменная i автоматически изменяется от 1 до n с шагом 1. Поэтому к переменной s прибавляется i вначале равная 1, потом 2, потом 3, и т.д. до n, соответственно переменная s принимает значении 1, 3, 6, 10, 15 ….…
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
Даны десять чисел. Вывести их среднее арифметическое. 
Дано целое число N и набор из N вещественных чисел. Вывести сумму и произведение чисел из данного набора. 
Дано целое число N и набор из N ненулевых целых чисел. Вывести в том же порядке все четные числа из данного набора n K таких чисел.
Дано целое число N и набор из N ненулевых целых чисел. Вывести в том же порядке номера всех нечетных чисел из данного набора и количество K таких чисел. 
Даны целые числа K, N и набор из N целых чисел. Если в наборе присутствует число, меньшее K, то вывести True; в противном случае вывести False. 
Вычислите sin xn (n=1, 2...,30).
Даны целые числа х1, х2,..., х55. Вычислить величину
x1(х2+x3)(x4+x5+x6)(x7+x8+x9+x10)…(x46+x47+…+x55).
Найти сумму десяти произвольных чисел. Результат отправить в переменную S.
Вычислить:;
Найти сумму всех чисел из промежутка от а до b, кратных 13 и 5 (а иbвводятся с клавиатуры).
Дано натуральное число п. Вычислить:;
Даны действительное число а, натуральное число п. Вычислить:а(а-n)(a-2n)...(а-п2);
Дано действительное число х и натуральное и. Вычислить:sinx +sin2x+…+sinnx.
Вычислить:.
Дано натуральное число п. Вычислить;
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №7
Тема 1.6Операторы цикла итерационного типа. While .. do, Repeat .. until
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Оператор цикла WHILE (цикл ПОКА).  Формат оператора:  WHILE логическое выражение DO;  Оператор будет повторятся пока истинно логическое выражение. Перед каждым повторением оператора значение логического выражения вычисляется заново. Если необходимо повторить несколько операторов, их следует объединить в составной оператор, т.е. заключить в операторные скобки begin ... end. Этот цикл может не выполниться ни разу, если условие при входе в него оказалось ложным. Таким образом, цикл ПОКА содержит условие повторения цикла.Оператор цикла REPEAT (цикл ДО).  Формат оператора:  REPEAT оператор; оператор;...оператор UNTIL логическое условие;  Часть программы, заключенная между служебными словами REPEAT и UNTIL, повторяется до тех пор, пока не станет истинным логическое выражение, стоящее после слова UNTIL. Между словами REPEAT (повторить) и UNTIL(до тех пор, пока) можно записать любое количество операторов без использования операторных скобок.  В отличие от оператора WHILE вычисление логического выражения происходит не до, а после очередного повторения цикла. Из-за этого цикл REPEAT обязательно выполнится хотя бы раз, а цикл WHILE может не выполнится ни разу. Если условие в цикле ПОКА является условием продолжения повторений, то условие в цикле ДО - условием выхода из цикла, его завершения. Поэтому для одной и той же задачи эти условия противоположны.Найти сумму всех натуральных чисел от 1 до n.
1) цикл WHILE
programzadacha3_1b;
var i,n,s:integer;
Begin
writeln('введитенатуральное n'); readln(n);
s:=0; i: =1;
while i<=n do
begin
s:=s+i;
i:=i+1;
end;
writeln('суммаот 1 до',n,'=',s);
End.
Цикл WHILE будет выполняться до тех пор, пока выполняется условие i<=n. Причем переменную i изменяем внутри цикла.
2) цикл REPEAT
programzadacha3_1c;
var i,n,s:integer;
Begin
writeln(' введитенатуральное n'); readln(n);
s:=0; i:=1;
repeat
begin
s:=s+i;
i:=i+1;
end;
until i>n;
writeln('сумма от 1 до',n,' = ',s);
End.
Цикл REPEAT . . . UNTIL будет выполняться до тех пор, пока не выполниться условие i>n.
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
Дано натуральное n, действительное x. Вычислить:
Вычислить n!.
Вычислить:у=cosx+cosx2+cosx3+...+cosx30;
Вычислить сумму натурального ряда чисел от 1 до n.
Даны натуральные числа от 35 до 87. Найти и напечатать / вывести на экран те из них, которые при делении на 7 дают остаток 5. 
В бригаде, работающей на уборке сена, имеется N сенокосилок. Первая сенокосилка работала m часов, а каждая следующая на 10 минут больше, чем предыдущая. Сколько часов проработала вся бригада?
В 1626 году индейцы продали остров Манхеттен за 20$. Если бы эти деньги были помещены в банк на текущий счёт и ежегодный прирост составил k%, то какова была бы сумма в текущем году?
Напечатать таблицу стоимости порций сыра весом 50,100,150,…,1000 г.(цена 1 кг 280 тг).
Дано натуральное число n. Вычислить:.
Готовясь к соревнованиям, лыжник в первый день побежал 10 км, затем каждый день увеличивал расстояние на 10%. Сколько километров пробежал он за неделю тренировок? На какой день он пробежал больше 15 км?
Вкладчик внес в сберкассу X рублей. Написать программу, вычисляющую, сколько денег будет у него через n лет. Количество денег каждый год увеличивается на 3% по отношению к предыдущему году.
Дано натуральное число п найти количество цифр данного числа, больших а (а вводится с клавиатуры);
Получить таблицу температур по Цельсию от 0 до 100 градусов и их эквивалентов по шкале Фаренгейта, используя для перевода tZF=9/5tc+32.
Дано натуральное число п. Вычислить значения функции
x2-3x+22x3-1 для х= 1; 1.1; 1.2; ...;1+0.1n.
Найти сумму целых положительных чисел, больших A, меньших B, кратных 3 и заканчивающихся на 2, 4 или 8.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №8
Тема 1.7Обработка массива. Одномерный массив (вектор)
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Один из наиболее распространенных структурированных типов в языке программирования — массивы. Массив ( англ. "Array") объединяет элементы одного типа данных. Объявить массив можно двумя способами:Var Имя_массива : Array [нач_индекс .. кон_индекс] of Тип_данных; илиType Имя_типа = Array [нач_индекс .. кон_индекс] of Тип_данных;Var Имя_массива : Имя_типа; Начальный и конечный индекс (нач_индекс, кон_индекс) массива должны быть простого порядкового типа (integer, byte, shortint, word, char). Тип_данных — тип элементов массива.
Задание. Создайте массив-вектор целых чисел 0из 5 элементов. Подсчитать и вывести на экран сумму элементов вектора и среднее арифметическое. Program sred_arifmet;Const n=5;Var a:array[1..n] of integer;i, sum:integer;sred:real;beginwriteln('Введите ', n , ' элементовмассива');for i:=1 to n do readln(a[i]);sum:=0;for i:=1 to n do sum:=sum+a[i];sred:=sum/n;writeln('Суммаэлементовмассива = ',sum);writeln('Среднееарифметическое = ',sred:4:2);end.
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
Даны действительные массивы А(n) и В(n) , подсчитать количество элементов, которые принадлежат условию: А(1)>В(1).
Дан действительный массив А(n). Найти максимальный и минимальный элементы массива.
Дан массив: .Вычислить и напечатать величину: , где - сумма квадратов элементов массива; - произведение положительных элементов массива.
Дан целочисленный массив А(n) , В(n). Создать новый массив С(n), элементами которого являются произведения соответствующих элементов массивов А и В.
Дан действительный массив А(n). Поменять порядок следования элементов в массиве на обратный.
Вычислить отношение числа положительных элементов к числу отрицательных элементов заданной матрицы.
В массиве В(n), найти сумму всех положительных и произведение всех отрицательных элементов. Результат вывести на экран.
Вычислить массив , компоненты которого определяются по формулам:

Дан массив чисел: . Найти сумму элементов с нечетными индексами и произведение элементов с четными индексами.
Даны два массива A и B. Вычислить массив , элементы которого находятся поправилу: На печать вывести массивы
В массиве С(n) все четные элементы заменить на 0, а нечетные на 1.
Дан массив А(n) Создать новый массив, элементами которого являются произведение A(i) на максимальный элемент массива A.
Дан массив А(n) целого типа. Определить элементы, сумма цифр которых кратна.
Дан массив А(n). Уменьшить все его элементы на минимальный элемент массива.
В массиве В(n) подсчитать количество элементов, равных 5-ти и количество элементов, больших 5-ти.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №9
Тема 1.8Двумерный массив (матрица)
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Массив, для задания элементов которого требуется использовать два индекса, называется двумерным. Двумерные массивы, в которых диапазоны индексов начинаются с 1, также называются иногда матрицами. Размерность каждой матрицы определяется как MxN, где М – число строк в матрице, N – число столбцов.
Объявление двумерного массива можно осуществлять двумя способами. Первый предполагает объявление одномерного массива, а затем использование этого типа для объявления типа-массива массивов:
Type mas = array[1..10] of integer;
matr = array[1..5] of mas;
Var a: matr;
Однако проще сразу объявить тип-массив, описывающий матрицу, состоящую из 5 строк и 10 столбцов:
Type matr = array[1..5,1..10] of integer;
Var a: matr;
Пример1. Пусть задана матрица А из действительных чисел размера 3х4. Найти наибольший элемент во второй строке данной матрицы.
Приведем программу решения задачи в виде:
 
Program max_st;
Type Matr=array[1..3,1..4] of real;
Var max:real;
      a:Matr;
      i,j:integer;
begin
for i:=1 to 3 do
for j:=1 to 4 do
begin
writeln(‘Введитеэлемента[‘,i,’,’,j,’]’);
readln(a[i,j]);
end;
max:=a[2,1];
for j:=2 to 4 do
if max<a[2,j] then max:=a[2,j];
writeln(‘Наибольший элемент второй строки=’,max:8:2);
end.
Литература к уроку
Основная
Ю. Федоренко. «Алгоритмы и программы на Turbo Pascal», 2001.
Индивидуальные задания
Дана матрица размера 5 x 9. Найти суммы элементов всех ее четных1|нечетных2 строк3|столбцов4.
Дана целочисленная матрица размера 5 x 10. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего равное количество положительных и отрицательных элементов (нулевые элементы не учитываются). Если таких строк3|столбцов4 нет, то вывести 0. 
Дана матрица размера 5 x 10. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего только положительные элементы. Если таких строк3|столбцов4 нет, то вывести 0.
Дана целочисленная матрица размера M x N. Различные строки (столбцы) матрицы назовем похожими, если совпадают множества чисел, встречающихся в этих строках (столбцах). Найти количество строк1|столбцов2, похожих на первую3|последнюю4 строку1|столбец2.
Дана целочисленная матрица размера M x N. Найти количество ее строк1|столбцов2, все элементы которых различны.
Дана целочисленная матрица размера M x N. Вывести номер ее первой1|последней2 строки3|столбца4, содержащего максимальное количество одинаковых элементов.
Дана квадратная матрица порядка M. Найти сумму элементов ее главной1|побочной2 диагонали.
Дана квадратная матрица порядка M. Найти суммы элементов ее диагоналей, параллельных главной1|побочной2 (начиная с одноэлементной диагонали A[1,M]1|A[1,1]2).
Дана квадратная матрица порядка M. Вывести минимальные1|максимальные2 из элементов каждой ее диагонали, параллельной главной3|побочной4 (начиная с одноэлементной диагонали A[1,M]3|A[1,1]4). Matrix16. Дана квадратная матрица порядка M. Заменить нулями элементы матрицы, лежащие ниже1|выше2 главной3|побочной4 диагонали.
Дана квадратная матрица порядка M. Заменить нулями элементы, лежащие одновременно выше1|ниже2 главной диагонали (включая эту диагональ) и выше3|ниже4 побочной диагонали (также включая эту диагональ).
Дана квадратная матрица порядка M. Зеркально отразить ее элементы относительно [горизонтальной оси симметрии]1|[вертикальноc оси симметрии]2|[главной диагонали]3|[побочной диагонали]4 матрицы.
Дана квадратная матрица порядка M. Повернуть ее на 901|1802|2703 градусов в положительном направлении.
Дана матрица размера 5 x 10. Вывести количество строк1|столбцов2, элементы которых монотонно возрастают3|убывают4.
Дана матрица размера 5 x 10. Найти минимальный1|максимальный2 среди элементов тех строк3|столбцов4, которые упорядочены либо по возрастанию, либо по убыванию. Если такие строки3|столбцы4 отсутствуют, то вывести 0.
Даны два числа k1 и k2 и матрица размера 4 x 10. Поменять местами строки1|столбцы2 матрицы с номерами k1 и k2.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №10
Тема 2.1Ввода-вывода данных
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Дельфи представляет собой интегрированную среду разработки, инструменты которой позволяют значительно ускорить процесс разработки, создания и отладки программ.
Среду Дельфи составляет набор окон, визуально не связанных друг с другом. Одним из основных окон является окно конструктора форм (Form Designer), с помощью которого создаются заготовки для визуальной части программного приложения.
Конструирование формы состоит в переносе в поле формы необходимых компонентов. Каждый компонент имеет определенные свойства, которые определяют состояние и поведение объекта. В программе свойства используются для чтения и/или записи данных напрямую или через определенные методы, т.е. при обращении к тому или иному свойству выполняется либо прямое чтение/запись его значения, либо вызов процедуры или функции, которые возвращают требуемое значение.
На первом этапе создания программных приложений в Дельфи мы будем работать со следующими компонентами, позволяющими выполнить ввод и вывод данных, поясняющих надписей и т.п.:
EDIT - однострочный редактор для ввода, вывода и модификации данных
MEMO - многострочный текстовый редактор для вывода, ввода и изменения
LABEL - метка, для размещения заголовков, и других поясняющих надписей
STRINGGRID - таблица строк, используется для ввода/вывода данных в виде двумерной таблицы. 
Имя компонента         Свойство для ввода/выводаEDIT                             TEXT              (в программе записывается EDIT1.TEXT)LABEL                          CAPTION (только вывод)               (LABEL1.CAPTION)STRINGGRID              массив CELLS [номер столбца, номер строки] в программе
записывается   STRINGGRID1.CELLS[ j,i ]Для компонента MEMO часто используется свойство «строка» LINES в сочетании с методом «добавить» ADD. (  в программе записывается MEMO1.LINES.ADD ( )  ).Указанные свойства этих компонентов имеют строковый тип, т.е. тип STRING, поэтому при вводе числовых данных необходимо выполнить соответствующие преобразования данных
при вводе надо перевести данные из строкового типа в числовой, а именно в целочисленный тип или вещественный тип с помощью функцийSTRTOINT ( ) илиSTRTOFLOAT ( );
при выводе данные надо перевести из целочисленного или вещественного типа в строковый с помощью функций  INTTOSTR ( )  или  FLOATTOSTR ( )Для выполнения этих операций используется оператор присваивания « := ».
Пример1. Составить программу для вычисления высот треугольника со сторонами а,b, с используя формулы


где р=(а+b+с)/2
1. Запустить Delphi 6.
2. Поместимна Form1 – 7 Label, 7 Edit, 1 Button.
3. В Object Inspector, для Label1, свойство Caption изменим на «сторона а»
4. В Object Inspector, для Label2, свойство Caption изменим на «сторона b»
3. В Object Inspector, для Label3, свойство Caption изменим на «сторона c»
5. В Object Inspector, для Label4, свойство Caption изменим на «ha»
6. В Object Inspector, для Label5, свойство Caption изменим на «hb»
7. В Object Inspector, для Label6, свойство Caption изменим на «hc»
8. В Object Inspector, для Label7, свойство Caption изменим на «периметр»
9. В Object Inspector, для Button1, свойство Caption изменим на «ok»
Перейдем в Object Inspector на вкладку Events и дважды щелкнем мышью, рядом с событием OnClick.
Запишемпроцедурувычисления:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:integer;
p,ha,hb,hc:extended;
begin
a:=strtoint(Edit1.Text);
b:=strtoint(Edit2.text);
c:=strtoint(edit3.text);
p:=(a+b+c)/2;
ha:=2/a*sqrt(p*(p-a)*(p-b)*(p-c));
hb:=2/b*sqrt(p*(p-a)*(p-b)*(p-c));
hc:=2/c*sqrt(p*(p-a)*(p-b)*(p-c));
edit7.Text:=floattostrf(p,fffixed,8,2);
edit4.Text:=floattostrf(ha,fffixed,8,2);
edit5.Text:=floattostrf(hb,fffixed,8,2);
edit6.Text:=floattostrf(hc,fffixed,8,2);
end;
end.
Литература к уроку
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Вычислите: ;
Даны два действительных числа а и в. Получить их сумму, разность и произведение.
Даны 2 действительных числа х и y. Получить.
Вычислить значение функции:f=(х+1)2+3(х+1)при х=3;
Вычислить длину окружности, площадь круга и объем шара одного и того же заданного радиуса.
Известны две стороны треугольника а,bи угол между ними. Найти его площадь.
Поменять местами значения переменных х,у иz.
В магазине продаются PC трёх наименований, цена их равна a, в и с тенге соответственно. Определить сколько PCкаждого из наименований можно купить на сумму п.
Заданы два числа х; у. Переменной zприсвоить значение 1, если х<у, 0, если х=у, -1 в противном случае.
Даны действительные числа а, b, с. Проверить выполняются ли неравенства а<b<с.
Даны действительные числа а,b, с. Удвоить эти числа, если a>b>c, и заменить их абсолютными значениями, если это не так.
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа если это не так.
Даны два действительных числа, заменить первое число нулём, если оно меньше или равно второму, и оставить числа без изменения в противном случае.
Даны числа а, bи с(a0). Найти вещественные корни уравнения ах4+bх2+с=0. Если корней нет, то сообщить об этом.
Написать программу, которая уменьшает первое число в пять раз, если оно больше второго по абсолютной величине.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №11-12
Тема 2.2Компоненты отображения. Компоненты редактирования
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Размещение надписей (TLabel)
Для нанесения таких надписей на форму используется компонент TLabel. Выберите в меню компонентов Standard пиктограмму , щелкните на ней мышью. После этого в нужном месте формы щелкните мышью, появится надпись Label1. Проделайте это для четырех надписей. Для каждой надписи, щелкнув на ней мышью, отрегулируйте размер и, изменив свойство Caption инспектора объектов, введите строку, например “Введите значение X:”, а также выберите размер символов (свойство Font).
Обратите внимание, что в тексте программы автоматически появились четыре новых переменных типа .TLabel. В них хранятся пояснительные строки, которые можно изменять в процессе работы программы.
Размещение строки ввода (TEdit)
Если необходимо ввести из формы в программу или вывести на форму информацию, которая вмещается в одну строку, используют окно однострочного редактора текста, представляемого компонентом TEdit.
Выберите в меню компонентов Standard пиктограмму , щелкните мышью в том месте формы, где вы хотите ее поставить. Вставьте три компонента TEdit в форму. Захватывая их “мышью” отрегулируйте размеры окон и их положение. Обратите внимание на то, что в тексте программы появились три новых однотипных переменных Edit1, Edit2, Edit3. В каждой из этих переменных с расширением .Text будет содержаться строка символов (тип String) и отображаться в соответствующем окне Edit.
Так как численные значения переменных x,y,z имеют действительный тип для преобразования строковой записи числа, находящегося в переменной Edit1.Text, в действительное, используется стандартная функция X:=StrToFloat(Edit1.Text).
Если исходные данные имеют целочисленный тип, например integer, то используется стандартная функция X:=StrToInt(Edit1.Text).
При этом в записи числа не должно быть пробелов, а действительное число пишется с десятичной запятой.
С помощью инспектора объектов установите шрифт и размер символов отражаемых в строке Edit (свойство Font).
TButton (отдаленный потомок TWinControl)
Компонент представляет собой кнопку.
Свойства класса TButton
Название Тип Описание
Caption String Текст на поверхности кнопки.
Пример1. Вычислите функцию t= 2*hgprocedure TForm1.Button1Click(Sender: TObject);
Const g=9.81;
Var h,t : Real;
Begin
h:=StrToFloat(edit1.Text);
t:=sqrt(2*h/g);
edit2.Text:=FloatToStr(t);
end;
Литература к уроку
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Найти остаток от деления целого числа а на целое число b.
Даны действительные числа х, у, z. Вычислить а и b, если:;
Столбик термометра в Казахстане показывает t С, а в США (штат Аляска) температура воздуха равна tF, Используя соотношение t°F=9/5-t°C+32, определить на сколько градусов по Цельсию в Аляске холоднее, чем в Казахстане.
Даны действительные числа х, у, z. Вычислить а и b, если:;
Вычислить расстояние между двумя точками с координатами xl,ylи х2,у2.
Дана сторона равностороннего треугольника. Найти его площадь.
По координатам трех вершин некоторого треугольника найти его площадь и периметр.
По заданным коэффициентам и правым частям уравнений системы:
найти ее решение в предположении, что определитель системы не равен нулю;
Дано натуральное число а. Выяснить, является ли данное число четным.
Музыкальный диск стоит х тенге п тиын. У вас имеется а тенге и bтиын. Хватит ли денег на покупку диска? В программе предусмотреть вывод слов «Да» или «Нет». В случае недостатка, определить, сколько денег нужно добавить.
Прием на работу идёт на конкурсной основе. Условия приёма требуют 20 лет рабочего стажа и возраста не более 42 лет. Определить, будет ли человек принят на работу.
Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1.0;3.5).
Даны действительные числа х, у (ху). Меньшее из этих двух чисел, заменить их полусуммой а, большее их удвоенным произведением.
Даны три действительных числа. Возвести в квадрат те из них, значения которых не отрицательны.
Даны действительные числа а, b, с, dЕсли a<b<c<d, то каждое число заменить наибольшим из них; если a>b>c>dtто числа оставить без изменения; в противном случае все числа заменяются их квадратами.
Индивидуальные задания 2
Даны три действительных числа X, Y, Z. Найти максимальное из этих трех чисел.
Даны три действительных числа X, Y, Z. Найти минимальное из этих трех чисел.
Даны три действительных числа X, Y, Z. Удвоить эти числа, если , и заменить их абсолютными значениями, если это не так.
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.
Даны два действительных числа. Заменить первое число нулем, если оно меньше или равно второму, и оставить числа без изменения в противном случае.
Даны три действительных числа. Выбрать из них те, которые принадлежат интервалу (1,3).
Даны действительные числа X, Y (). Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением.
Даны три действительные числа. Возвести в квадрат те из них, значения которых неотрицательны.
Даны два действительные числа X, Y (). Найти большее из них, если X отрицательное число, и меньшее, если это не так.
Даны действительные числа A, B, C и D. Если то каждое число заменить наибольшим из них; если A<B<C<D, то числа оставить без изменения; в противном случае все числа заменяются их квадратами.
Даны действительные числа X, Y. Если X и Y отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0.5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях X и Y оставить без изменения.
Даны действительные положительные числа X, Y, Z. Выяснить, существует ли треугольник с длинами сторон X, Y, Z.
Определить, верно ли, что при делении неотрицательного целого числа A на положительное целое число B получается остаток, равный одному из заданных чисел R или S.
Дано натуральное число N (), определяющее возраст человека (в годах). Дать для этого числа наименование «год», «года» или «лет»: например, 1 год, 23 года, 45 лет и т.д.
Найти значение функции, вычисляемое по формуле: при 0 <x< 2, иначе .
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №13-14
Тема2.4Строки. Строковые процедуры. Строковые функции.
Тема 2.5 Массивы. Одномерные массивы. Memo
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Размещение многострочного окна вывода (TMemo)
Для вывода результатов работы программы обычно используется текстовое окно, которое представлено компонентом (TMemo). Выберите в меню компонентов пиктограмму и поместите компонент TMemo на форму. С помощью мыши отрегулируйте его размеры и местоположение. После установки с помощью инспектора свойства ScrollBars - SSBoth в окне появятся вертикальная и горизонтальная полосы прокрутки.
В тексте программы появилась переменная Memo1 типа ТMemo. Информация, которая отображается построчно в окно типа ТMemo, находится в массиве строк Memo1.Lines. Каждая строка имеет тип String.
Для чистки окна используется метод Memo1.Clear. Для того чтобы добавить новую строку в окно, используется метод Memo1.Lines.Add (переменная типа String).
Если нужно вывести число, находящееся в переменной действительного или целого типа, то его надо предварительно преобразовать к типу String и добавить в массив Memo1.Lines.
Например, если переменная u:=100 целого типа, то метод Memo1.Lines.Add(‘Значение u=’+IntToStr(u)) сделает это и в окне появится строка “Значение u=100”. Если переменная u:=-256,38666 действительная, то при использовании метода Memo1.Lines.Add(‘Значение u=’+FloatToStrF(u.fffixed,8,2)) будет выведена строка “Значение u= -256.39”. При этом под все число отводится восемь позиций, из которых две позиции занимает его дробная часть.
Если число строк в массиве Memo1 превышает размер окна, то для просмотра всех строк используется вертикальная полоса прокрутки. Если длина строки Memo1 превосходит количество символов в строке окна, то в окне отображается только начало строки. Для просмотра всей строки используется горизонтальная полоса прокрутки.
Пример. Вычислить и вывести на печать значения функции - при значениях х, изменяющихся от 0 до 3 с шагом 0,1.
Порядок решения:
1. Запустить Delphi 7.
2. В Object Inspector, для Form1, свойство Caption изменим на «Программа циклической структуры».
3. Поместимна Form1 – 1 Label, 1 Edit, 2 Button, 1 Memo.
4. В Object Inspector, для Label1, свойство Caption изменим на «введите значение a».
5. В Object Inspector, для Button1, свойство Caption изменим на «вывод».
6. В Object Inspector, для Button1, свойство Caption изменим на «выход».
7. Перейдем в Object Inspector на вкладку Events и дважды щелкнем мышью, рядом с событием OnClick.
Запишемпроцедурувычисления:
procedure TForm1.Button1Click(Sender: TObject);
var a,x,y:extended;
begin
a:=strtoint(edit1.Text);
x:=0;
while x<=3 do begin
y:=(sqr(a)*a)/(sqr(a)+sqr(x));
Memo1.Lines.Add('при x='+FloatToStrF(x,ffFixed,6,2)+' y ='
+FloatToStrF(y,ffFixed,6,2));
x:=x+0.1;
end;
Литература к уроку
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Даны основания и высоты двух равнобедренных трапеций. Найти сумму их периметров и сумму их площадей. Определить процедуру для расчета периметра и площади равнобедренной трапеции по ее основаниям и высоте.
Задана некоторая последовательность натуральных чисел. Вычислить , где и - количество и сумма четных чисел, и - количество и сумма нечетных чисел.
Упорядочить по убыванию элементы векторов a, b, c размерности k, l, m соответственно и напечатать их.
Даны два слова различной длины. Удалить все вхождения буквы ‘a’ в слове меньшей длины и пары букв ‘bc’ в слове большей длины.
Вычислить сумму и количество положительных элементов массивов A(10), B(15), C(5). В скобках указаны размерности массивов.
Вычислить , где и - корни уравнения , и - корни уравнения (все корни действительные).
Вычислить и запомнить количество отрицательных элементов каждого столбца для матриц A(10x10), B(5x7). В скобках указаны размерности массивов.
Даны три слова переменной длины. Составить слово, содержащее символы-цифры, входящие в данные слова.
Заданы три массива целых чисел, каждый из которых состоит из N элементов. В массиве, содержащем наименьшее количество элементов, каждое положительное число заменить на -1.
Вывести на печать элементы целочисленных матриц A(3x5) и B(4x7), кратные трем. В скобках указаны размерности массивов.
Написать процедуру, которая выводит на экран строку, состоящую из звездочек. Длина строки (количество звездочек) является параметром процедуры.
Написать процедуру, которая выводит на экран строку, состоящую из одинаковых символов. Длина строки и символ являются параметрами процедуры.
Дано натуральное число N. Среди чисел 1,2, …, N найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. (Определить процедуру, позволяющую распознавать полные квадраты.).
Даны координаты вершин двух треугольников. Определить, какой из них имеет большую площадь.
Даны стороны двух треугольников. Найти сумму их периметров и сумму их площадей. Определить процедуру для расчета периметра и площади треугольника по его сторонам.
Индивидуальные задания 2
В массиве из 15 чисел найти наибольший элемент и его индекс в массиве.
В массиве из 15 чисел найти наименьший элемент и его индекс в массиве.
В массиве из 15 чисел найти первый отрицательный элемент и его индекс в массиве.
В массиве из 15 чисел найти индекс первого нулевого элемента.
В массиве из 10 чисел есть хотя бы один отрицательный элемент. Вычислить произведение элементов массива до первого отрицательного.
В массиве из 10 чисел есть хотя бы один нулевой элемент. Вычислить сумму элементов массива до первого нуля.
В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить сумму положительных элементов массива.
В массиве из 10 чисел есть хотя бы один нулевой элемент. Вычислить произведение элементов массива до первого нуля.
В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить сумму отрицательных элементов массива.
В массиве из 10 чисел есть положительные и отрицательные элементы. Подсчитать количество положительных элементов массива.
В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить произведение положительных элементов массива.
В массиве из 10 чисел есть положительные и отрицательные элементы. Подсчитать количество отрицательных элементов массива.
В массиве из 10 чисел есть положительные и отрицательные элементы. Вычислить произведение отрицательных элементов массива.
В массиве из 10 чисел подсчитать количество элементов, больших трех.
В массиве из 10 чисел подсчитать сумму элементов, стоящих на четных местах.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №15
Тема 2.6Создание и работа со списками. Компоненты ListBox, ComboBox
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Компонент TListBox
Компонент TListBox представляет собой список, элементы которого выбираются при помощи клавиатуры или мыши. Список элементов задается свойством Items, методы Add, Delete и Insert которого используются для добавления, удаления и вставки строк. Объект Items (TString) хранит строки, находящиеся в списке. Для определения номера выделенного элемента используется свойство ItemIndex.
 
Компонент Delphi ListBoxна этапе конструирования Компонент Delphi ListBoxна Форме в рабочей программе
Компонент TComboBox
Комбинированный список TComboBox представляет собой комбинацию списка TListBox и редактора TЕdit, поэтому практически все свойства заимствованы у этих компонентов. Для работы с окном редактирования используется свойство Text как в TEdit, а для работы со списком выбора - свойство Items как в TListBox. Cуществует Пять модификаций компонента, определяемых его свойством Style. В модификации csSimple список всегда раскрыт, в остальных он раскрывается после нажатия кнопки справа от редактора.
Внешний вид компонента: . При нажатии на кнопку со стрелкой появляется выпадающий список подобно ListBox. Наличие строки ввода у компонента ComboBox расширяет его возможности. По сравнению с обычным списком можно: осуществлять поиск нужного элемента, отображать активный элемент, вводить новый элемент списка, используя строку ввода.
Задание: написать программу подсчета числа слов в произвольной строке. В качестве разделителя может быть любое число пробелов. Для ввода строк и работы с ними использовать TComboBox. Ввод строки заканчивать нажатием клавиши Enter. Для выхода из программы использовать кнопку Close.
Панель диалога будет иметь вид (рис. 5.1).
Текст программы приведен ниже.
unit tema5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label2: TLabel;
Label3: TLabel;
BitBtn1: TBitBtn;
ComboBox1: TComboBox;
Label1: TLabel;
procedure FormActivate(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// Обработка события активизации формы
procedure TForm1.FormActivate(Sender: TObject);
begin
ComboBox1.SetFocus; // Передачафокуса ComboBox1
end;
// Обработка события нажатия левой клавиши мыши
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin // Еслинажатаклавиша Enter, то...
ComboBox1.Items.Add(ComboBox1.Text); // Строкаизокнаредактирования
// заносится в список выбора
ComboBox1.Text:=''; // Очистка окна редактирования
end;
end;
procedure TForm1.ComboBox1Click(Sender: TObject);
var st : string;
n,i,nst,ind: integer;
begin
n:=0; // Содержит число слов
ind:=0;
nst:=ComboBox1.ItemIndex; // Определение номера выбранной строки
st:=ComboBox1.Items[nst]; // Занесение выбранной строки в переменную st
for i:=1 to Length(st) do begin // Просмотрвсехсимволовстроки st
case ind of
0 : ifst[i]<>' ' thenbegin // Если встретился символ после пробела
ind:=1;
n:=n+1; // Число слов увеличивается на единицу
end;
1 : if st[i]=' ' then ind:=0; // Если встретился пробел после символов
end;
end;
Label3.Caption:=IntToStr(n); // Выводчисласловв Label3
end;
end.
TLabel
TComboBox
TLabel
TLabel
TBitBtn
Рис. 5. 1.

Литература к уроку
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Написать программу, которая по номеру дня недели (целому числу от 1 до 7) выдает в качестве результата количество уроков в вашей группе в этот день.
Составить программу, которая по заданным году и номеру месяца определяет количество дней в этом месяце.
Для каждой введенной цифры (0 — 9) вывести соответствующее ей название на английском языке (0 — zero, 1 — one, 2 — two,... ).
Составить программу, которая по данному числу (1—12) выводит название соответствующего ему месяца.
Составить программу, позволяющую получить словесное описание школьных отметок (1 — «плохо», 2 — «неудовлетворительно», 3 — «удовлетворительно», 4 — «хорошо», 5 — «отлично»).
Пусть элементами круга являются радиус (первый элемент), диаметр (второй элемент) и длина окружности (третий элемент). Составить программу, которая по номеру элемента запрашивала бы его соответствующее значение и вычисляла бы площадь круга.
Пусть элементами прямоугольного равнобедренного треугольника являются: 1) катет а; 2) гипотенуза b; 3) высота h, опущенная из вершины прямого угла на гипотенузу; 4) площадьS.
Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.
Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 — май и т.д.).
Написать программу, которая бы по введенному номеру времени года (1 — зима, 2 — весна, 3 — лето, 4 — осень) выдавала соответствующие этому времени года месяцы, количество дней в каждом из месяцев.
В старояпонском календаре был принят 12-летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Написать программу, которая вводит номер некоторого года и печатает его название по старояпонскому календарю. (Справка: 1996 г. — год Крысы — начало очередного цикла.)
Написать программу, которая по вводимому числу от 1 до 11 (номеру класса) выдает соответствующее сообщение «Привет, k-классник». Например, если k = 1, «Привет, первоклассник»; если k = 4, «Привет, четвероклассник».
Написать программу, которая по введенному числу от 1 до 12 (номеру месяца) выдает все приходящиеся на этот месяц праздничные дни (например, если введено число 1, то должно получиться 1 января — Новый год, 7 января — Рождество).
Составить программу, позволяющую по последней цифре данного числа определить последнюю цифру куба этого числа.
Составить программу, которая для любого натурального числа печатает количество цифр в записи этого числа.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №16-17
Тема 2.7Создание и работа с таблицами.
Тема 2.8 Работа с компонентом StringGrid. Работа с матрицей StringGrid. Использование компонента StringGrid
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Массив есть упорядоченный набор однотипных элементов, объединенных под одним именем. Каждый элемент массива обозначается именем, за которым в квадратных скобках следует один или несколько индексов, разделенных запятыми, например: a[1], bb[I], c12[I,j*2], q[1,1,I*j-1].. В качестве индекса можно использовать любые порядковые типы за исключением LongInt.
Тип массива или сам массив определяются соответственно в разделе типов (Type) или переменных (Var) с помощью ключевого слова Array следующим образом:
Array [описание индексов] of<тип элемента массива>
Примеры описания массивов:
Const N=20;// Задание максимального значения индекса;
Type TVector=array[1..N] of real;// Описание типа одномерного массива;
Vara:TVector;// А – массивтипа Tvector;
Ss:array[1..10] of integer;// Ss – массив из десяти целых чисел;
Y:array[1..5,1..10] of char;// Y – двумерный массив символьного типа.
Элементы массивов могут использоваться в выражениях так же, как и обычные переменные, например:
F:=2*a[3]+a[ss[I]+1]*3;
A[n]:=1+sqrt(abs(a[n-1]));
Компонент TStringGrid
При работе с массивами ввод и вывод информации на экран удобно организовывать в виде таблиц. Компонент TStringGrid предназначен для отображения информации в виде двумерной таблицы, каждая ячейка которой представляет собой окно однострочного редактора (аналогично окну TEdit). Доступ к информации осуществляется с помощью свойства Cells[ACol, ARow: Integer]: string, где ACol, Arow - индекс элемента двумерного массива. Свойства ColCount и RowCount устанавливают количество строк и столбцов в таблице, а свойства FixedCols и FixedRows задают количество строк и столбцов фиксированной зоны. Фиксированная зона выделена другим цветом, и в нее запрещен ввод информации с клавиатуры.
Пример.
Вычислить на компьютере сумму целочисленных элементов массива x1, x2,…,xn; n =5.
Порядок решения:
1. Запустить Delphi 7.
2. Поместим на Form1 – 2 Label, StringGrid1, Button. Компонента StringGrid1 находиться на вкладке Additional
3. В Object Inspector, для Label1, свойство Caption изменим на Введите массив целых чисел
4. В Object Inspector, для Label2, свойство Caption очистим, и растянем как на рисунке.
5. В ObjectInspector, для StringGrid1, в Properties(свойствах) установим следующие значения:
Свойство Значение
Name
ColCount StringGridl
5
FixedCols
RowCount
DefaultRowHeight
Height
DefaultColWidth
Width
Options.goEditing
Options.AlwaysShowEditing
Options.goTabs 0
1
24
24
64
328
True
True
True
6. В Object Inspector, для Button1, свойство Caption изменим на Вычислить.
Перейдем в Object Inspector на вкладку Events и дважды щелкнем мышью, рядом с событием OnClick.
Запишемпроцедурувычисления:
procedure TForm1.Button1Click(Sender: TObject);
var a:array[1..5] of integer;
i,summa:integer;
begin
for i:=1 to 5 do
if Length(StringGrid1.Cells[i-1,0])<>0
then a[i]:=StrToInt(StringGrid1.Cells[i-1,0])
else a[i]:=0;
summa:=0;
for i:=1 to 5 do
summa:=summa+a[i];
Label2.Caption:=('Суммаэлементов = '+ IntToStr(summa));
end;
end.
Литература к уроку
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Дана матрица 5x5. Заполнить ее значениями вещественного типа. Найти среднее арифметическое всех значений.
Дана матрица A(5x4). Заполнить ее значениями вещественного типа. Найти максимальное значение в каждой строке.
В заданном двумерном массиве А(п,т) заменить нулями элементы, стоящие в строках или столбцах, где имеются нули.
Дана матрица А(п,п). Заменить нулями все элементы, расположенные на главной диагонали (диагональ - сверху вниз и слева направо) и выше неё.
В данной действительной квадратной матрице порядка п найти наибольший по модулю элемент.
Даны матрицы А и В размера kmи тlсоответственно. Вычислить С=А+В.
Дана действительная квадратная матрица порядка пn. Вычислить сумму тех её элементов, расположенных на главной.
Дана матрица п т, состоящая из натуральных чисел. Найти в строках самые правые наименьшие элементы и определить их местоположение.
Дана матрица пm, состоящая из латинских букв. Отсортировать каждую строку в алфавитном порядке.
Дана квадратная матрица пп, состоящая из натуральных чисел. Повернуть её на 90 градусов по часовой стрелке и вывести результат на экран.
Дана квадратная матрица п х n состоящая из натуральных чисел, Повернуть ее на 90 градусов против часовой стрелки и вывести результат на экран.
Дана квадратная матрица п х nсостоящая из натуральных чисел. Повернуть её на 180 градусов и вывести результат на экран.
Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя ее блоки размера
Известен номер строки, на которой расположен элемент главной диагонали массива. Вывести на экран значение этого элемента.
Известен номер столбца, на котором расположен элемент побочной диагонали массивах. Вывести на экран значение этого элемента.
Индивидуальные задания 2
Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Нечетные строки массива А заменить на Х.
Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Четные столбцы массива А заменить на Х.
Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Первые три строки массива А заменить на Х.
Дан двумерный массив чисел А размером 6х6. Воспользовавшись одномерным массивом размером 6 элементов как вспомогательным, поменять местами 1-ю и 2-ю строки, 3-ю и 4-ю строки, 5-ю и 6-ю строки.
Дана матрица чисел размером 3х4. Переставляя ее строки и столбцы, добиться того, чтобы ее наибольший элемент (один из них) оказался в верхнем левом углу.
419100325120Дана матрица А чисел размером 5х5 элементов. Найти сумму элементов массива А из заштрихованной области:
Даны натуральное число n, действительная матрица размера nx 9. Найти среднее арифметическое каждого из столбцов.
Даны натуральное число n, действительная матрица размера nx 9. Найти среднее арифметическое каждого из столбцов, имеющих четные номера.
Дана действительная матрица размера nxm, в которой не все элементы равны нулю. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший элемент.
Дана действительная квадратная матрица порядка 6. Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
Все элементы с наибольшим значением в данной целочисленной квадратной матрице порядка 6 заменить нулями.
Дана действительная матрица размером 6 х 9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.
Дана действительная матрица размером nxm. Найти сумму наибольших значений ее строк.
В данной квадратной целочисленной матрице порядка 6 указать индексы всех элементов с наибольшим значением.
Дан двухмерный массив. Найти сумму элементов каждой строки.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №18
Тема 2.9Зависимые переключатели. Использование компонента RadioButton
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающаяразвитие логического мышления, способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
TRadioButton -зависимые переключатели , предназначенные для выбора одного из нескольких взаимоисключающих решений. На форму (точнее, в компонент-контейнер) помещается по меньшей мере два таких компонента. Они могут иметь только два состояния, определяемых свойством Сhecked. Если в одном компоненте это свойство принимает значение True, во всех других компонентах, расположенных в том же контейнере, свойства Сhecked принимают значения False.
Помимо свойства checked компонент TRadioButton имеет еще одно специфичное свойство - Alignment, аналогичное такому же свойству TCheckBox. Как и в TCheckBox, программист не может изменять размеры и цвет круглого окошка компонента.
Пример: В зависимости от выбора найти следующее или предыдущее число от числа А.
Расположите компоненты : RadioGroup на ней 2 RadioButton, Button, 2 Edit (для чисел).
Свойство Caption (RadioGroup) = Выберите пункт
Свойство Caption (RadioButton) = Следующее число
Свойство Caption (RadioButton) = Предыдущее число
Обработчик события:
0101600
Var a : integer;
Begin
a:= StrToInt(Edit1.Text);
if RadioButton1 .Checked then
a:=a+1
else
if RadioButton2 .Checked then
a:=a-1;
Edit2.Text:=IntToStr(a);
End;
Литература к уроку
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Используя 3 зависимых переключателя, решить:Даны 3 числа, в зависимости от выбора, найти сумму, разность или произведение этих чисел.
Используя 2 зависимых переключателя, решить: В зависимости от выбора, найти минимальное или максимальное из 4 чисел.
Используя 2 зависимых переключателя, решить: В зависимости от выбора, возрастающая или убывающая последовательность из 3 чисел.
Используя два зависимых переключателя, решить:В зависимости от выбора, найти минимальное из первого и второго числа или максимальное из третьего и четвертого числа.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти квадрат, куб или возвести в пятую степень трехмерное число.
Используя 2 зависимых переключателя, решить:В зависимости от выбора, найти сумму, разность цифр четырехзначного числа.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти по трем сторонам треугольник равносторонний, равнобедренный или вообще не существует.
Используя 3 зависимых переключателя решить:В зависимости от выбора, 1)а>b>c>d 2)a<b<c<d 3)a=b=c=d и выдать сообщение о результате проверки.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти сумму А и В, произведение В и С, разность А и Д.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти среднее арифметическое, сумму чисел или минимальное из 4 чисел.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти сумму четных элементов, разность нечетных или количество единиц в массиве.
Используя 2 зависимых переключателя решить:В зависимости от выбора, найти количество симметричных или разных в написании двухзначных чисел.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти сумму, количество, разность минимального и максимального элемента в массиве.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти количество нулей, единиц или двоек в матрице.
Используя 3 зависимых переключателя решить:В зависимости от выбора, найти 1) поменять местами первый элемент и последний. 2)поменять местами первый элемент со вторым. 3) поменять местами первый элемент и предпоследний в массиве.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №19
Тема 2.10 Независимые переключатели. Использование компоненты TCheckBox
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
TCheckBox - независимый переключатель
03810Независимый переключатель TCheckBox используется для того, чтобы пользователь мог указать свое решение типа Да/Нет или Да/Нет/Не совсем (в последнем случае в окошке компонента устанавливается флаг выбора, но само окошко закрашивается серым цветом). Это решение отражается в свойстве State компонента, доступном как для чтения, так и для записи. В составе диалогового окна может быть несколько компонентов TCheckBox. Состояние любого из них не зависит от состояния остальных, поэтому такие переключатели называются независимыми.
  Типичное использование компонента:
ifCheckBoxl.Checkedthen
7747074295else
Или:
case CheckBoxl.State of cbChecked :... ; {выбран }
cbUnchecked:...; {невыбран}
cbGrayed :...; {выделенсерым}
end;
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Используя 3 независимых переключателя, решить:
Даны 3 числа, в зависимости от выбора, найти сумму, разность или произведение этих чисел
Используя 2 независимых переключателя, решить:
В зависимости от выбора, найти минимальное или максимальное из 4 чисел.
Используя 2 независимых переключателя, решить:
В зависимости от выбора, возрастающая или убывающая последовательность из 3 чисел.
Используя два независимых переключателя, решить :
В зависимости от выбора, найти минимальное из первого и второго числа или максимальное из третьего и четвертого числа.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти квадрат, куб или возвести в пятую степень трехмерное число.
Используя 2 независимых переключателя, решить:
В зависимости от выбора, найти сумму, разность цифр четырехзначного числа.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти по трем сторонам треугольник равносторонний, равнобедренный или вообще не существует.
Используя 3 независимых переключателя решить:
В зависимости от выбора, 1)а>b>c>d 2)a<b<c<d 3)a=b=c=d и выдать сообщение о результате проверки.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти сумму А и В, произведение В и С, разность А и Д.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти среднее арифметическое, сумму чисел или минимальное из 4 чисел.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти сумму четных элементов, разность нечетных или количество единиц в массиве.
Используя 2 независимых переключателя решить:
В зависимости от выбора, найти количество симметричных или разных в написании двухзначных чисел.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти сумму, количество, разность минимального и максимального элемента в массиве.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти количество нулей, единиц или двоек в матрице.
Используя 3 независимых переключателя решить:
В зависимости от выбора, найти 1) поменять местами первый элемент и последний. 2)поменять местами первый элемент со вторым. 3) поменять местами первый элемент и предпоследний в массиве.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №20
Тема 2.11 Контейнеры RadioGroup,GroupBox,Panel. Использование контейнеров в программе
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
При создании программ в DELPHI для организации разветвлений часто используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено - выключено) визуально отражается на форме.
Компонент TRadiogroup организует группу кнопок - зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программу передается номер включенной кнопки (0,1,2,..), который анализируется с помощью оператора case.
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Порядок выполнения индивидуального задания
Задание: ввести три числа - x,y,z. Вычислить по усмотрению u=sin(x) или u=cos(x), или u=tg(x). Найти по желанию максимальное из трех чисел: max(u,y,z), или max (|u|,|y|,|z|).
Cоздать форму, представленную на рис. 2.1, и написать соответствующую программу.
Coздание формы
Создайте форму, такую же как в первом задании, скорректировав текст надписей и положение окон TEdit.
Работа с компонентом TСheckBox
Выберите в меню компонентов Standard пиктограмму и поместите ее в нужное место формы. С помощью инспектора объектов измените заголовок (Caption) на “maxabs”. В тексте программы появилась переменная CheckBox1 типа TСheckBox. Теперь в зависимости от того, нажата или нет кнопка, булевская переменная CheckBox1.Checked будет принимать значения true или false.
Работа с компонентом TRadioGroup
Выберите в меню компонентов Standard пиктограмму и поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroup1. Замените заголовок ( Caption ) на U(x). Для того чтобы разместить на компоненте кнопки, необходимо свойство Columns установить равным единице (кнопки размещаются в одном столбце). Дважды щелкните по правой части свойства Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три строки с именами: в первой строке - cos(x), во второй - sin(x), в третьей - tg(x), нажмите ОК.
После этого на форме внутри окаймления появится три кнопки-переключателя с введенными надписями.
Обратите внимание на то, что в тексте программы появилась переменная RadioGroup1 типа TRadioGroup. Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroup1.ItemIndex будет находиться номер нажатой клавиши (отсчитывается от нуля), что используется в тексте приведенной программы.
Создание обработчиков событий FormСreate и Botton1Сlick
Процедуры - обработчики событий FormСreate и Botton1Сlick создаются аналогично тому, как и в первой теме. Текст процедур приведен ниже.
Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно. Форма приведена на рис.2.1.
Рис. 2.1
Текст программы приведен ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
CheckBox1: TCheckBox;
RadioGroup1: TRadioGroup;
Memo1: TMemo;
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.text:='0,1';
Edit2.text:='0,356';
Edit3.text:='0';
Memo1.Clear;
Memo1.Lines.Add('Рез-тыст. гр.920201 ПетроваИ.И.');
end;
procedure TForm1.Button1Click(Sender: TObject);
var x,y,z,u,ma:extended;
begin
// Ввод исходных данных и их вывод в окно Memo1
x:=StrToFloat(Edit1.Text);
Memo1.Lines.Add(' x='+Edit1.Text);
y:=StrToFloat(Edit2.Text);
Memo1.Lines.Add(' y='+Edit2.Text);
z:=StrToFloat(Edit3.Text);
Memo1.Lines.Add(' z='+Edit3.Text);
// Проверка номера нажатой кнопки и выбор соответствующей ей функции
case RadioGroup1.ItemIndex of
0: u:=cos(x);
1: u:=sin(x);
2: u:=sin(x)/cos(x);
end;
// Проверкасостояниякнопки CheckBox1
if CheckBox1.Checked then
begin u:=abs(u);
y:=abs(y);
z:=abs(z) end;
// Нахождение максимального из трех чисел
if u>y then ma:=u else ma:=y;
if z>ma then ma:=z;
if CheckBox1.Checked then
Memo1.Lines.Add(' maxabs='+FloatToStrF(ma,ffFixed,8,2))
else
Memo1.Lines.Add(' max='+FloatToStrF(ma,ffGeneral,8,2));
end;
end.
Индивидуальные задания
1.Используя все разновидности кнопок , решить:
1.Дано двузначное число. Определить:
а) входит ли в него цифра 3;
б) входит ли в него цифра А.
2. Дано двузначное число. Определить:
а) входят ли в него цифры 4 или 7;
б) входят ли в него цифры 3, 6 или 9.
3. Дано трехзначное число. Определить:
а) входит ли в него цифра 6;
6) входит ли в него цифра N.
4. Дано трехзначное число. Определить:
а) входят ли в него цифрв1,4 или 7;
6) входят ли в него цифры 3, 6 или 9.
5. Дано четырехзначное число. Определить:
а) входит ли в него цифра 4;
б) входит ли в него цифра В.
6. Дано четырехзначное число. Определить:
а) входят ли в него цифры 2 или 7;
6) входят ли в него цифры 3, 6 или 9.
7. Дано натуральное число n (n 9999). Выяснить, является ли оно палиндромом ( перевертышем ), с учетом четырех цифр, как, например, числа 7777, 8338, 0330 и т.п. (палиндромом называется число, десятичная запись которого читается одинаково слева направо и справа налево).
8. Дано натуральное число n (n < 9999). Выяснить, верно ли, что это число содержит ровно три одинаковые цифры, если оно записано четырьмя цифрами, как, например, числа 3363, 4844, 0300 и т.п.
9. Дано натуральное число n (n < 9999). Выяснить, различны ли все четыре цифры этого числа (если оно записано четырьмя цифрами). Например, в числе 3678 все цифры различны, в числе 0023 — нет.
10. Определить, является ли заданное шестизначное число счастливым. (Счастливым называют такое шестизначное число, у которого сумма его первых трех цифр равна сумме его последних трех цифр.)
11. Имеются стол прямоугольной формы с размерами а х b (а и b — целые числа, а >b) и кости домино с размерами с х d х е (с, d и е — целые числа, с >d> e). Найти вариант размещения на столе наибольшего количества костей. Все размещаемые кости должны лежать на одной и той же грани в один ярус без свешивания со стола. Все ребра костей домино должны быть параллельны или перпендикулярны каждой стороне стола.
12. Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого из них и длины их сторон. Один из прямоугольников назовем первым, другой — вторым,
а) Определить, принадлежат ли все точки первого прямоугольника второму.
б) Определить, принадлежат ли. все точки одного из прямоугольников другому.
в) Определить, пересекаются ли эти прямоугольники.
13. Дано двузначное число. Определить:
а) входит ли в него цифра 5;
б) входит ли в него цифра А.
14. Дано двузначное число. Определить:
а) входит ли в него цифра 3;
б) входит ли в него цифра А.
15. Дано двузначное число. Определить:
а) входит ли в него цифра 6;
б) входит ли в него цифра А.
Домашнее заданиезавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/сексенбаева А.Т

Практическое занятие №21-22
Тема 2.12 Формы, модальные формы.
Тема 2.13 Диалоговые окна ввода-вывода
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Обычно приложения имеют основное окно, несколько плавающих инструментальных панелей (или палитр) и диалоговых панелей, которые могут вызываться с помощью команд меню или командных кнопок.
Диалоговые панели в Delphi основаны на формах. С диалоговой панелью пользователь обычно связывает понятие модального окна. Модальное окно – это такое окно, которое получает фокус и должно быть закрыто прежде, чем пользователь может перейти обратно к основному окну. Это верно для панелей сообщения и диалоговых панелей. В системе Delphi можно также иметь немодальные диалоговые панели и модальные формы. Мы должны учитывать два момента:
рамки формы и пользовательский интерфейс определяют, выглядит ли эта форма как диалоговая панель
использование двух функций – Show и ShowModal для вывода на экран второй формы определяет поведение последней (немодальная или модальная).
Если вы используете функцию Show, вторая форма будет выведена на экран как немодальная. Код просто выводит форму на экран, а не создает ее. Форма создается файлом проекта. Первая созданная форма становится основной формой приложения. Когда модальная форма создается и выполняется с помощью функции ShowModal, она остается активной, до тех пор пока вы не закроете ее. Функция ShowModal не возвращает значение до тех пор, пока форма не закрыта. В это время основная форма остается недоступной. Как только модальная форма будет закрыта, функция ShowModal завершает работу, а код удаляет объект из памяти.
Добавление второй формы в программу
Для добавления второй формы можно нажать кнопку NewForm или использовать команду File/New, переместиться на страницу Forms или Dialogs и выбрать один из доступных шаблонов формы. Если у вас в проекте две формы, используйте кнопку SelectForm или SelectUnit инструментальной линейки, чтобы управлять формами. Вы также можете выбрать, какая форма является основной и какие формы нужно создать автоматически при запуске, используя страницу Forms диалоговой панели ProjectOptions. Чтобы компилировать код первой формы, надо включить модуль, содержащий вторую форму (Unit2), с помощью оператора uses в список модулей в начале кода. Или можно выбрать первую форму и выполнить команду File/UseUnit. Чтобы закрыть вторую форму, вы можете использовать ее системное меню или нажать кнопку Close, помещенную в форму. При этом Delphi не закрывает вторую форму, а лишь скрывает ее, поэтому всегда есть возможность вывести на экран вторую форму.
Создание диалоговой панели
Чтобы построить диалоговую панель вместо формы, выберите значение bsDialog для свойства BorderStyle формы. После этого форму можно вывести на экран как модальное или немодальное окно, используя Show или ShowModal. Модальные диалоговые панели распространены больше, чем немодальные. Модальных форм следует избегать, т.к. пользователь не захочет иметь с ними дело. Вот один из подходов использования диалоговой панели :
Устанавливать начальные значения, каждый раз когда вы исполняете диалоговую панель.
Показывать диалоговую панель.
Если была нажата кнопка OK, скопировать новые значения обратно в форму.
Задание № 1
Подготовить две формы, в каждую из которых поместить по кнопке. В первой форме кнопка используется, чтобы показать второе окно, во второй форме – чтобы себя закрыть. Чтобы выполнить вторую форму запишите код:
procedure TForm1. Button1Click (Sender : TObject);
begin
Form2.Show;
end;
Создадим форму, которая имеет две кнопки, используемые для создания модальной и немодальной форм. Как только вы создаете две новые формы ModalForm и ModalessForm, можно написать следующий метод, соответствующий событию OnClick одной из двух кнопок:
procedure TForm1. ModalButtonClick (Sender : TObject);
var
Modal : TModalForm;
begin
Modal := TModalForm. Create (Application) ;
Modal. ShowModal ;
Modal. Free ;
end;
Код для другой кнопки аналогичен, с той лишь разницей, что используется функция Show. Запишите его самостоятельно.
В форму поместить две надписи и кнопку. При нажатии кнопки должна появляться диалоговая панель с двумя растровыми кнопками OK , Cancel и два чекбокса, которые позволяют показывать и скрывать надписи формы. Записать следующий код :
procedure TForm1. Button1Click (Sender : TObject) ;
var
old1, old2 : Boolean ;
begin
old1 := Form2. CheckBox1.Checked ;
old2 := Form2. CheckBox2.Checked ;
if ( Form2. ShowModal = mrOk ) then
begin
Label1. Visible := Form2. CheckBox1.Checked ;
Label2. Visible := Form2. CheckBox2.Checked ;
end
else
begin
Form2. CheckBox1.Checked := old1 ;
Form2. CheckBox2.Checked := old2 ;
end;
end;
TOpenDialog и TSaveDialog
Эти компоненты имеют идентичные свойства и различаются только внешним видом. Свойство FileName: (тип String) содержит маршрут поиска и имя выбранного файла при успешном завершении диалога программы. Для проверки наличия файла на диске глобальная функция FileExists Свойство Filter: String используется для фильтрации (отбора) файлов, показываемых в диалоговом окне. Это свойство можно устанавливать с помощью специального редактора или программно. Для доступа к редактору достаточно щелкнуть по кнопке в строке Filter окна инспектора объектов. При программном вводе фильтры задаются одной длинной строкой, в которой символы «|» служат для отделения фильтров друг от друга, а также для отделения описания фильтруемых файлов от соответствующей маски выбора. С помощью свойства DefaultExt: String[3] формируется полное имя файла, если при ручном вводе пользователь не указал расширение. В этом случае к имени файла прибавляется разделительная точка и содержимое этого свойства.
Настройка диалога может варьироваться с помощью свойства
TOpenOption = (of Readonly, ofOverwritePrompt, ofHideReadOnly,
ofNoChangeDir, ofShowHelp, ofNoValidate, ofAllowMuItiSelect,
ofExtensionDifferent, ofPathMustExist, ofFileMustExist,ofCreatePrompt, ofShareAware, ofNoReadOnlyReturn,ofNoTestFileCreate, ofNoNetworkButton, ofNoLongNames,ofOldStyleDialog, ofNoDereferenceLinks);
TOpenOptions = set of TOpenOption;
property Options: TOpenOptions;
Значения этого свойства имеют следующий смысл:
ofReadOnly Устанавливает переключатель “Только для чтения”
ofOverwritePrompt Требует согласия пользователя при записи в существующий файл
ofHideReadOnly Прячет переключатель “Только для чтения”
ofNoChangeDir Запрещает смену каталога.
ofShowHelp Включает в окно кнопку Help
ofNoValidate Запрещает автоматическую проверку правильности набираемых в имени файла символов
ofAllowMultiSelec Разрешает множественный выбор файлов
ofExtensionDiffer При завершении диалога наличие этого значения в свойстве Options говорит о том, что пользователь ввел расширение, отличающееся от умалчиваемого
ofPathMustExist Разрешает указывать файлы только из существующих каталогов
ofFileMustExist Разрешает указывать только существующие файлы.
ofCreatePrompt Требует подтверждения для создания несуществующего файла
ofShareAware Разрешает выбирать файлы, используемые другими параллельно выполняемыми программами
ofNoReadOnlyRetur Запрещает выбор файлов, имеющих атрибут “Только для чтения“
ofNoTestFileCreat Запрещает проверку доступности сетевого или локального диска
ofNoNetworkButton Запрещает вставку кнопки для создания сетевого диска
ofNoLongNames Запрещает использование длинных имен файлов
ofOldStyleDialog Создает диалог в стиле Windows З.х
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Порядок выполнения задания
Задание№2: написать программу, вводящую в файл или читающую из файла ведомость абитуриентов, сдавших вступительные экзамены. Каждая запись должна содержать фамилию, а также оценки по физике, математике и сочинению. Вывести список абитуриентов, отсортированный в порядке уменьшения их среднего балла, и записать эту информацию в текстовой файл.
Настройка компонентов TOpenDialog и TSaveDialog
Рис. 6.1
Для установки компонентов TOpenDialog и TSaveDialog на форму необходимо на странице Dialogs меню компонентов щелкнуть мышью соответственно по пиктограммам или и поставить их в любое свободное место формы. Установка фильтра производится следующим образом. Выбрав соответствующий компонент, дважды щелкнуть по правой части свойства Filter инспектора объектов. Появится окно Filter Editor, в левой части которого записывается текст, характеризующий соответствующий фильтр, а в правой части – маску. Для OpenDialod1 установим значения маски как показано на рис. 6.1. Формат *.dat означает что, будут видны все файлы с расширением dat, а формат *.* - что будут видны все файлы (с любым именем и с любым расширением).
Для того, чтобы файл автоматически записывался с расширением .dat, в свойстве DefaultExt запишем требуемое расширение - .dat.
Аналогичным образом настроим SaveDialog1 для текстового файла (расширение .txt).
Работа с программой
После запуска программы на выполнение появится диалоговое окно программы. Кнопка “Ввести запись” видна не будет. Необходимо создать новый файл записей, нажав на кнопку “Создать” или открыть ранее созданный, нажав кнопку “Открыть”. После этого станет видна кнопка “Ввести запись” и можно будет вводить записи. При нажатии на кнопку “Сортировка” будет проведена сортировка ведомости по убыванию среднего балла и диалоговое окно примет вид как на рис. 6.2.. Затем при нажатии на кнопку “Сохранить” будет создан текстовой файл, содержащий отсортированную ведомость. Файл записей закрывается одновременно с программой при нажатии на кнопку “Close” или .
Текст программы приведен ниже.
Рис. 6.2
unit tema6;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Memo1: TMemo;
Button1: TButton;
Button3: TButton;
Splitter1: TSplitter;
Button5: TButton;
BitBtn1: TBitBtn;
SaveDialog1: TSaveDialog;
Button2: TButton;
OpenDialog1: TOpenDialog;
Button4: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
TStudent = record
FIO: string[40];// Полеф.и.о.
otc: array[1..3] of word;// Полемассиваоценок
sball : extended; // Полесреднегобалла
end;
Var
Fz : file of Tstudent;// Файлтипазапись
Ft : TextFile;// Текстовойфайл
Stud : array[1..100] of Tstudent;// Массивзаписей
nzap : integer;// Номерзаписи
FileNameZ, FileNameT : string; // Имяфайла
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Memo1.Clear;
Button1.Hide;// Сделать невидимой кнопку "Ввести запись"
nzap:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);// Ввестиновуюзапись
begin
nzap:=nzap+1;
with stud[nzap] do begin
FIO:=Edit1.Text;
otc[1]:=StrToInt(Edit2.Text);
otc[2]:=StrToInt(Edit3.Text);
otc[3]:=StrToInt(Edit4.Text);
sball:=(otc[1]+otc[2]+otc[3])/3;
Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' '+ IntToStr(otc[2])+' '+IntToStr(otc[3]));
end;
Write(fz,Stud[nzap]);// Записьвфайл
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
procedure TForm1.Button2Click(Sender: TObject); // Созданиеновогофайлазаписей
begin
OpenDialog1.Title :='Создать новый файл'; // Изменение заголовка окна диалога
if OpenDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
begin
FileNameZ:= OpenDialog1.FileName; // Возвращение имени дискового файла
AssignFile(Fz, FileNameZ); // Связывание файловой переменной Fz c именем файла
Rewrite(Fz); // Создание нового файла
end;
Button1.Show; // Сделать видимой кнопку "Ввести запись"
end;
procedure TForm1.Button3Click(Sender: TObject); // Открытьсуществующийфайл
begin
if OpenDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
begin
FileNameZ:= OpenDialog1.FileName; // Возвращение имени дискового файла
AssignFile(Fz, FileNameZ); // Связывание файловой переменной Fz c именем файла
Reset(Fz); // Открытие существующего файла
end;
while not eof(fz) do begin
nzap:=nzap+1;
Read(fz,stud[nzap]); // Чтениезаписиизфайла
with stud[nzap] do
Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' '+IntToStr(otc[2])+' '+IntToStr(otc[3]));
end;
Button1.Show; // Сделать видимой кнопку "Ввести запись"
end;
procedure TForm1.Button4Click(Sender: TObject); // Сортировказаписей
var i,j : word;
st : TStudent;
begin
for i:=1 to nzap-1 do // Сортировкамассивазаписей
for j:=i+1 to nzap do
if Stud[i].sball < Stud[j].sball then begin
st:=Stud[i];
Stud[i]:=Stud[j];
Stud[j]:=st;
end;
Memo1.Clear;
for i:=1 to nzap do // Вывод в окно Memo1 отсортированных записей
with stud[i] do
Memo1.Lines.Add(IntToStr(i)+' '+fio+' '+FloatToStrf(sball,fffixed,4,2));
end;
procedure TForm1.Button5Click(Sender: TObject); // Сохранениерезультатовсортировки // втекстовомфайле
var i:word;
begin
if SaveDialog1.Execute then // Выполнениестандартногодиалогавыбораименифайла
begin
FileNameT:= SaveDialog1.FileName; // Возвращениеименидисковогофайла
AssignFile(Ft, FileNameT); // Связывание файловой переменной Ft c именем файла
Rewrite(Ft); // Открытие нового текстового файла
end;
for i:=1 to nzap do
with stud[i] do Writeln(Ft,i:4,'. ',fio,sball:8:2); // Запись в текстовой файл
CloseFile(Ft); // Закрытие текстового файла
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CloseFile(fz); // Закрытие файла записей при нажатии на кнопку “Сlose”
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseFile(fz); // Закрытие файла записей при нажатии на кнопку
end;
end.
Индивидуальные задания
В программе предусмотреть сохранение вводимых данных в файле и возможность чтения из ранее сохраненного файла. Результаты выводить в окно просмотра и в текстовой файл.
1. В магазине формируется список лиц, записавшихся на покупку товара повышенного спроса. Каждая запись этого списка содержит: порядковый номер, Ф.И.О., домашний адрес покупателя и дату постановки на учет. Удалить из списка все повторные записи, проверяя Ф.И.О. и домашний адрес.
2. Список товаров, имеющихся на складе, включает в себя наименование товара, количество единиц товара, цену единицы и дату поступления товара на склад. Вывести в алфавитном порядке список товаров, хранящихся больше месяца, стоимость которых превышает 1000000 руб.
3. Для получения места в общежитии формируется список студентов, который включает Ф.И.О. студента, группу, средний балл, доход на члена семьи. Общежитие в первую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.
4. В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны его номер, тип автобуса, пункт назначения, время отправления и прибытия. Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт назначения раньше заданного времени.
5. На междугородной АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона в этом городе и номер телефона абонента. Вывести по каждому городу общее время разговоров с ним и сумму.
6. Информация о сотрудниках фирмы включает: Ф.И.О., табельный номер, количество проработанных часов за месяц, почасовой тариф. Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере. Вывести размер заработной платы каждого сотрудника фирмы за вычетом подоходного налога, который составляет 12% от суммы заработка.
7. Информация об участниках спортивных соревнований содержит: наименование страны, название команды, Ф.И.О. игрока, игровой номер, возраст, рост, вес. Вывести информацию о самой молодой, рослой и легкой команде.
8. Для книг, хранящихся в библиотеке, задаются: регистрационный номер книги, автор, название, год издания, издательство, количество страниц. Вывести список книг с фамилиями авторов в алфавитном порядке, изданных после заданного года.
9. Различные цехи завода выпускают продукцию нескольких наименований. Сведения о выпущенной продукции включают: наименование, количество, номер цеха. Для заданного цеха необходимо вывести количество выпущенных изделий по каждому наименованию в порядке убывания количества.
10. Информация о сотрудниках предприятия содержит: Ф.И.О., номер отдела, должность, дату начала работы. Вывести списки сотрудников по отделам в порядке убывания стажа.
11. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О., адрес, оценки. Определить количество абитуриентов, проживающих в г.Минске и сдавших экзамены со средним баллом не ниже 4.5, вывести их фамилии в алфавитном порядке.
12. В справочной аэропорта хранится расписание вылета самолетов на следующие сутки. Для каждого рейса указаны: номер рейса, тип самолета, пункт назначения, время вылета. Вывести все номера рейсов, типы самолетов и времена вылета для заданного пункта назначения в порядке возрастания времени вылета.
13. У администратора железнодорожных касс хранится информация о свободных местах в поездах дальнего следования на ближайшую неделю в следующем виде: дата выезда, пункт назначения, время отправления, число свободных мест. Оргкомитет международной конференции обращается к администратору с просьбой зарезервировать m мест до города N на k-й день недели с временем отправления поезда не позднее t часов вечера. Вывести время отправления или сообщение о невозможности выполнить заказ в полном объеме.
14. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О. абитуриента, оценки. Определить средний балл по университету и вывести список абитуриентов, средний балл которых выше среднего балла по университету. Первыми в списке должны идти студенты, сдавшие все экзамены на 5.
15. В радиоателье хранятся квитанции о сданной в ремонт радиоаппаратуре. Каждая квитанция содержит следующую информацию: наименование группы изделий(телевизор, радиоприемник и т. п.),марку изделия, дату приемки в ремонт, состояние готовности заказа (выполнен, не выполнен). Вывести информацию о состоянии заказов на текущие сутки по группам изделий.

Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е

Практическое занятие №23
Тема 3.1Организация меню. Создание главного меню.Создание контекстного меню. MainMenu, PopupMenu
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Контекстное меню (PopupMenu), вызываемое в приложении Windows по щелчку правой кнопкой мыши, является стандартной и удобной возможностью многих программ. Delphi компонент PopupMenu предназначен для создания таких контекстных меню. Контекстное меню из-за способа своего появления называют ещё всплывающим меню.    Delphi компонент PopupMenu почти не отличается от компонента MainMenu и также является невизуальным. Но в отличие от Главного меню, которое одно на Форме, всплывающие меню могут быть у каждого объекта, размещённого на Форме. Поэтому нужно разместить на Форме и запрограммировать столько компонентов PopupMenu, сколько контекстных меню предполагается использовать в программе. Кроме того, контекстное меню не имеет нескольких пунктов верхнего уровня, так как все его пункты располагаются в одном вертикальном столбце.    После того как компонент PopupMenu размещён на Форме, структура меню формируется совершенно аналогично созданию Главного Меню (компонент MainMenu). Далее, для того, чтобы контекстное меню определённого объекта (например, компонента StringGrid) вызывалось в программе, необходимо свойству PopupMenu этого объекта присвоить имя соответствующего Delphi компонента PopupMenu:

    В момент появления контекстного меню происходит событие onPopup компонента PopupMenu. В этот момент можно, исходя из анализа ситуации, внести необходимые изменения в его параметры.    Щёлкнув по объекту правой кнопкой мыши, мы получим появление его контекстного меню, обеспеченного компонентом PopupMenu1, в точке произведённого щелчка. Но можно добиться его появления в любом нужном нам месте Формы. Достигается это использованием метода Popupкомпонента PopupMenu, при этом свойство Popup у соответствующего компонента (в данном случае StringGrid) нужно очистить.    Для использования этого метода необходимо использовать событие щелчка правой кнопки мыши по объекту. И правильнее использовать именно отпускание кнопки, то есть событие onMouseUpнужного объекта. Метод Popup имеет параметры X и Y, соответствующие расстоянию точки щелчка по горизонтали и вертикали от верхнего левого угла экрана соответственно. То есть, можно добиться появления меню вообще за пределами Формы. Вот, попробуйте использовать такой код:procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);begin  if Button = mbRight then PopupMenu1.Popup(0, 0);  //появление меню в точке (0, 0)end;   Но и обработчик события onMouseUp тоже имеет параметры X и Y. Они соответствуют расстоянию точки щелчка по горизонтали и вертикали от верхнего левого угла уже Формы. Однако, если попытаться использовать их в методе Popup, то меню не появится в том месте, где вы ожидаете. Чтобы добиться нужного эффекта, необходимо учитывать также положение самой Формы, а также того объекта, в пределах которого должно появляться меню. Но и это не всё. Необходимо к значению X добавить высоту заголовка Формы, которая неизвестна. Все эти слагаемые усложняют код.    Избавиться от большинства слагаемых поможет функция GetClientOrigin. Она вызывается без параметров и возвращает сдвиг клиентской области Формы относительно верхнего левого угла экрана в формате TPoint (точка, то есть запись с полями X и Y). Таким образом, остаётся учесть только положение нужного объекта. Следующий код обеспечивает появление меню именно в месте щелчка мышки по компоненту StringGrid1:procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);var P: TPoint;begin  P:=GetClientOrigin;  if Button = mbRight then    PopupMenu1.Popup(X+P.X+StringGrid1.Left, Y+P.Y+StringGrid1.Top);end;
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005.
Индивидуальные задания
Задание №1
Организуйте построение 4-х рисунков с помощью пунктов главного меню.
Организуйте построение 2-х графиков функций с помощью пунктов контекстного меню
Организовать пункты лабораторных работ главного меню
Организовать пункты лекционного материал контекстного меню
Организовать пункты электронного журнала главного меню
Организовать пункты студенческого отдела контекстного меню
Организовать пункты магазина сотовой связи главного меню
Организовать пункты магазин игрушек контекстного меню
Организовать пункты автомобильного салона главного меню
Организовать пункты магазина запчастей для автомобилей контекстного меню
Организовать пункты контекстного меню библиотеки
Организовать пункты главного меню для работы администратора ресторанного бизнеса
Организовать пункты контекстного меню заведующего отделения
Организовать пункты контекстного меню изменения цвета формы
Организовать пункты контекстного меню изменения картинки
Задание №1
Разработать интерфейс приложения с применением компонентов: MainMenu, PopupMenu, StringGrid
Разработать алгоритм решения задачи в соответствии с вариантом задания.
Реализовать разработанный алгоритм в рамках ранее созданного интерфейса.
Проверить работоспособность программы с помощью тестового набора данных.
Оформить отчет и сдать работу преподавателю.
Содержание отчета:
Номер, тема, цель работы, задание к работе, вариант задания.
Блок-схема алгоритма решения задачи.
Тестовый набор данных
Программа (текст рабочего модуля)
Результаты работы программы.
Выводы о проделанной работе
1. По заданным координатам точки М(x,y) определить попадает или нет точка М в заштрихованную область. (Рисунок области создать в графическом редакторе Paint и вставить на форму как картинку)

2. Вычислить множество значений для функции, вывести их в виде таблицы. Построить и вывести график функции заданной функции. (график построить с помощью электронной таблицы Excel и полученное изображение вставить на форму как картинку).
№ Функция f(x) a b n
1. x-sin(x) 0 /2 10
2. sin(x) /4 /2 15
3. cos(x) /3 2*/3 20
4. tg(x) 0 /4 10
5. ctg(x) /4 /2 15
6. sin(x)-cos(x) 0 /2 20
7. x*sin(x) 0 3* 10
8. sin(1/x) /8 2/ 15
Структурная схема приложения:

Примерный вид главной формы приложения приведен на рисунке:

На форме расположить компонент MainMenu.
При выборе пункта меню «Задание №1» на экране появляется подменю из двух пунктов: «Условие задания №1» и «Решение задания №1».
При выборе пункта подменю «Условие задания №1» на эранне появляется Форма 1, на которой выводится условие задания 1 и картинка.
При выборе Пункта подменю «Решение задания №1» на экране появляется Форма 2, на которой производится ввод исходных данных, вывод полученных результатов.
Аналогично работает пункт меню «Задание №2».
При выборе пункта меню «Выход» происходит выход из приложения.
На Форме 1 расположить следующие компоненты:
Memo или RichEdit
Image
PopupMenu содержащее следующие пункты: «Скрыть рисунок», «Показать рисунок».
Button (BinBtn)
На Форме 2 расположить следующие компоненты:
StringGrig или Edit (MaskEdit)
PopupMenu содержащее следующие пункты: «Очистить таблицу», «Скрыть таблицу», «Показать таблицу»
Button (BinBtn)
Все перечисленные компоненты можно распологать в произвольном порядке. Можно добавлять и другие компоненты для создания более удобного пользовательского интерфейса. Кнопки и поля ввода должны иметь всплывающие подсказки.
Контрольные вопросы:
Какие виды меню вы знаете?
Назначение компоненты TPopupMenu.
Назначение компоненты TMainMenu.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №24
Тема 3.2 Работа с файлами
Тема 3.3.Системные диалоги
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Файлы- множество упорядоченных элементов одного типа. Процедуры над файлами:
Assign – связь логического и физического файла
Reset – открытие существующего файла
ReWrite –создание и открытие нового файла
CloseFile – закрытие файла
EOF – истина если достигнут конец файла
Различают 3 вида файлов: текстовые, типизированные и нетипизированные
Типизированные
Var<имя файловой переменной> : Fileof<тип или запись>;
Процедуры:
Seek – поиск нужной записи в файле
FilePos - - возвращает текущую позицию в файле
Нетипизированные
Var<имя файловой переменной> : File;
Существует множество стандартных диалоговых окон в Windows. Delphi поддерживает работу с такими окнами через следующие системные диалоги:
OpenDialog –открытие стандартного окна открытия файлов;
SaveDialog –стандартное окно сохранения файлов.;
FontDialog – диалог выбора шрифта;
ColorDialog- диалог выбора цвета;
TOpenDialog и TSaveDialog
Эти компоненты имеют идентичные свойства и различаются только внешним видом. Свойство FileName: (тип String) содержит маршрут поиска и имя выбранного файла при успешном завершении диалога программы. Для проверки наличия файла на диске глобальная функция FileExists Свойство Filter: String используется для фильтрации (отбора) файлов, показываемых в диалоговом окне. Это свойство можно устанавливать с помощью специального редактора или программно. Для доступа к редактору достаточно щелкнуть по кнопке в строке Filter окна инспектора объектов. При программном вводе фильтры задаются одной длинной строкой, в которой символы «|» служат для отделения фильтров друг от друга, а также для отделения описания фильтруемых файлов от соответствующей маски выбора. С помощью свойства DefaultExt: String[3] формируется полное имя файла, если при ручном вводе пользователь не указал расширение. В этом случае к имени файла прибавляется разделительная точка и содержимое этого свойства.
Настройка диалога может варьироваться с помощью свойства
TOpenOption = (of Readonly, ofOverwritePrompt, ofHideReadOnly,
ofNoChangeDir, ofShowHelp, ofNoValidate, ofAllowMuItiSelect,
ofExtensionDifferent, ofPathMustExist, ofFileMustExist,ofCreatePrompt, ofShareAware, ofNoReadOnlyReturn,ofNoTestFileCreate, ofNoNetworkButton, ofNoLongNames,ofOldStyleDialog, ofNoDereferenceLinks);
TOpenOptions = set of TOpenOption;
property Options: TOpenOptions;
Значения этого свойства имеют следующий смысл:
ofReadOnly Устанавливает переключатель “Только для чтения”
ofOverwritePrompt Требует согласия пользователя при записи в существующий файл
ofHideReadOnly Прячет переключатель “Только для чтения”
ofNoChangeDir Запрещает смену каталога.
ofShowHelp Включает в окно кнопку Help
ofNoValidate Запрещает автоматическую проверку правильности набираемых в имени файла символов
ofAllowMultiSelec Разрешает множественный выбор файлов
ofExtensionDiffer При завершении диалога наличие этого значения в свойстве Options говорит о том, что пользователь ввел расширение, отличающееся от умалчиваемого
ofPathMustExist Разрешает указывать файлы только из существующих каталогов
ofFileMustExist Разрешает указывать только существующие файлы.
ofCreatePrompt Требует подтверждения для создания несуществующего файла
ofShareAware Разрешает выбирать файлы, используемые другими параллельно выполняемыми программами
ofNoReadOnlyRetur Запрещает выбор файлов, имеющих атрибут “Только для чтения“
ofNoTestFileCreat Запрещает проверку доступности сетевого или локального диска
ofNoNetworkButton Запрещает вставку кнопки для создания сетевого диска
ofNoLongNames Запрещает использование длинных имен файлов
ofOldStyleDialog Создает диалог в стиле Windows З.х
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Порядок выполнения задания
Задание№2: написать программу, вводящую в файл или читающую из файла ведомость абитуриентов, сдавших вступительные экзамены. Каждая запись должна содержать фамилию, а также оценки по физике, математике и сочинению. Вывести список абитуриентов, отсортированный в порядке уменьшения их среднего балла, и записать эту информацию в текстовой файл.
Настройка компонентов TOpenDialog и TSaveDialog
Рис. 6.1
Для установки компонентов TOpenDialog и TSaveDialog на форму необходимо на странице Dialogs меню компонентов щелкнуть мышью соответственно по пиктограммам или и поставить их в любое свободное место формы. Установка фильтра производится следующим образом. Выбрав соответствующий компонент, дважды щелкнуть по правой части свойства Filter инспектора объектов. Появится окно Filter Editor, в левой части которого записывается текст, характеризующий соответствующий фильтр, а в правой части – маску. Для OpenDialod1 установим значения маски как показано на рис. 6.1. Формат *.dat означает что, будут видны все файлы с расширением dat, а формат *.* - что будут видны все файлы (с любым именем и с любым расширением).
Для того, чтобы файл автоматически записывался с расширением .dat, в свойстве DefaultExt запишем требуемое расширение - .dat.
Аналогичным образом настроим SaveDialog1 для текстового файла (расширение .txt).
Работа с программой
После запуска программы на выполнение появится диалоговое окно программы. Кнопка “Ввести запись” видна не будет. Необходимо создать новый файл записей, нажав на кнопку “Создать” или открыть ранее созданный, нажав кнопку “Открыть”. После этого станет видна кнопка “Ввести запись” и можно будет вводить записи. При нажатии на кнопку “Сортировка” будет проведена сортировка ведомости по убыванию среднего балла и диалоговое окно примет вид как на рис. 6.2.. Затем при нажатии на кнопку “Сохранить” будет создан текстовой файл, содержащий отсортированную ведомость. Файл записей закрывается одновременно с программой при нажатии на кнопку “Close” или .
Текст программы приведен ниже.
Рис. 6.2
unit tema6;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Memo1: TMemo;
Button1: TButton;
Button3: TButton;
Splitter1: TSplitter;
Button5: TButton;
BitBtn1: TBitBtn;
SaveDialog1: TSaveDialog;
Button2: TButton;
OpenDialog1: TOpenDialog;
Button4: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
TStudent = record
FIO: string[40];// Полеф.и.о.
otc: array[1..3] of word;// Полемассиваоценок
sball : extended; // Полесреднегобалла
end;
Var
Fz : file of Tstudent;// Файлтипазапись
Ft : TextFile;// Текстовойфайл
Stud : array[1..100] of Tstudent;// Массивзаписей
nzap : integer;// Номерзаписи
FileNameZ, FileNameT : string; // Имяфайла
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Memo1.Clear;
Button1.Hide;// Сделать невидимой кнопку "Ввести запись"
nzap:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);// Ввестиновуюзапись
begin
nzap:=nzap+1;
with stud[nzap] do begin
FIO:=Edit1.Text;
otc[1]:=StrToInt(Edit2.Text);
otc[2]:=StrToInt(Edit3.Text);
otc[3]:=StrToInt(Edit4.Text);
sball:=(otc[1]+otc[2]+otc[3])/3;
Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' '+ IntToStr(otc[2])+' '+IntToStr(otc[3]));
end;
Write(fz,Stud[nzap]);// Записьвфайл
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
procedure TForm1.Button2Click(Sender: TObject); // Созданиеновогофайлазаписей
begin
OpenDialog1.Title :='Создать новый файл'; // Изменение заголовка окна диалога
if OpenDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
begin
FileNameZ:= OpenDialog1.FileName; // Возвращение имени дискового файла
AssignFile(Fz, FileNameZ); // Связывание файловой переменной Fz c именем файла
Rewrite(Fz); // Создание нового файла
end;
Button1.Show; // Сделать видимой кнопку "Ввести запись"
end;
procedure TForm1.Button3Click(Sender: TObject); // Открытьсуществующийфайл
begin
if OpenDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
begin
FileNameZ:= OpenDialog1.FileName; // Возвращение имени дискового файла
AssignFile(Fz, FileNameZ); // Связывание файловой переменной Fz c именем файла
Reset(Fz); // Открытие существующего файла
end;
while not eof(fz) do begin
nzap:=nzap+1;
Read(fz,stud[nzap]); // Чтениезаписиизфайла
with stud[nzap] do
Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' '+IntToStr(otc[2])+' '+IntToStr(otc[3]));
end;
Button1.Show; // Сделать видимой кнопку "Ввести запись"
end;
procedure TForm1.Button4Click(Sender: TObject); // Сортировказаписей
var i,j : word;
st : TStudent;
begin
for i:=1 to nzap-1 do // Сортировкамассивазаписей
for j:=i+1 to nzap do
if Stud[i].sball < Stud[j].sball then begin
st:=Stud[i];
Stud[i]:=Stud[j];
Stud[j]:=st;
end;
Memo1.Clear;
for i:=1 to nzap do // Вывод в окно Memo1 отсортированных записей
with stud[i] do
Memo1.Lines.Add(IntToStr(i)+' '+fio+' '+FloatToStrf(sball,fffixed,4,2));
end;
procedure TForm1.Button5Click(Sender: TObject); // Сохранениерезультатовсортировки // втекстовомфайле
var i:word;
begin
if SaveDialog1.Execute then // Выполнениестандартногодиалогавыбораименифайла
begin
FileNameT:= SaveDialog1.FileName; // Возвращениеименидисковогофайла
AssignFile(Ft, FileNameT); // Связывание файловой переменной Ft c именем файла
Rewrite(Ft); // Открытие нового текстового файла
end;
for i:=1 to nzap do
with stud[i] do Writeln(Ft,i:4,'. ',fio,sball:8:2); // Запись в текстовой файл
CloseFile(Ft); // Закрытие текстового файла
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CloseFile(fz); // Закрытие файла записей при нажатии на кнопку “Сlose”
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseFile(fz); // Закрытие файла записей при нажатии на кнопку
end;
end.
Индивидуальные задания
Работа с файлами
1. Дан файл f, элементы которого являются действительными числами. Найти:
а)сумму элементов файла f;
б)произведение элементов файла f;
в)сумму квадратов элементов файла f;
г)модуль суммы и квадрат произведения элементов файла f;
д)последний элемент файла.
2. Дан файл f, элементы которого являются действительными числами. Найти:
а)наибольшее из значений элементов;
б)наименьшее из значений элементов с четными номерами;
в)наибольшее из значений модулей элементов с нечетными номерами;
г) сумму наибольшего и наименьшего из значений элементов;
д)разность первого и последнего элементов файла.
3. Дан файл f, элементы которого являются целыми числами. Найти:
а)количество четных чисел среди элементов;
б)количество удвоенных нечетных чисел среди элементов;
в)количество квадратов нечетных чисел среди элементов.
4. Дан файл f. Получить копию файла f в файле g.
5. Дан файл f, элементы которого являются целыми числами. Получить в файле g все элементы файла f:
а)являющиеся четными числами:
б)делящиеся на 3 и не делящиеся на 7;
в)являющиеся точными квадратами.
Дан файл f, элементы которого являются целыми числами. Записать в файл g все четные числа файла f, а в файл h - все нечетные. Порядок следования чисел сохраняется.
Дан файл f, элементы которого являются целыми числами. Получить файл g, образованный из файла fисключением повторных вхождений одного и того же числа.
Дан файл f, элементы которого являются целыми числами. Никакой из элементов файла не равен нулю. Файл fсодержит столько же отрицательных чисел, сколько и положительных. Используя вспомогательный файл h, переписать элементы файла f в файл gтак, чтобы в файле g:
а)не было двух соседних чисел с одним знаком;
б) сначала шли положительные, потом отрицательные числа;
9. Дан файл f, элементы которого являются целыми числами. Число элементов файла делится на 10. Записать в файл gнаибольшее значение первых десяти элементов файла f, затем - слелуших десяти элементов и т.д.
10. Дан файл f, элементы которого являются целыми числами .Описать функцию отриц(£), подсчитывающую сумму отрицательных элементов в файле f.
11. Даны следующие описания переменных:
typeвремя = recordчас:0..23; мин, сек:0..59 end;
ФВ = fileofвремя;
Описать логическую функцию eq(f, g), проверяющую наравенство файлы/ и gтипа ФВ.
12. Даны следующие описания переменных:
typeFB = fileofreal;
Описать функцию предпосл(/). значением которой является предпоследний элемент файла / имеющего тип FRи содержащего не менее двух элементов.
13. Даны следующие описания переменных:
vypeietters=fileof ...;
Описать процедуру append(f, g, h) от трех файлов типа letters, которая записывает в файл f сначала все элементы файла g, aзатем - все элементы файла h.
Работа с системными диалогами
В программе предусмотреть сохранение вводимых данных в файле и возможность чтения из ранее сохраненного файла. Результаты выводить в окно просмотра и в текстовой файл.
1. В магазине формируется список лиц, записавшихся на покупку товара повышенного спроса. Каждая запись этого списка содержит: порядковый номер, Ф.И.О., домашний адрес покупателя и дату постановки на учет. Удалить из списка все повторные записи, проверяя Ф.И.О. и домашний адрес.
2. Список товаров, имеющихся на складе, включает в себя наименование товара, количество единиц товара, цену единицы и дату поступления товара на склад. Вывести в алфавитном порядке список товаров, хранящихся больше месяца, стоимость которых превышает 1000000 руб.
3. Для получения места в общежитии формируется список студентов, который включает Ф.И.О. студента, группу, средний балл, доход на члена семьи. Общежитие в первую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.
4. В справочной автовокзала хранится расписание движения автобусов. Для каждого рейса указаны его номер, тип автобуса, пункт назначения, время отправления и прибытия. Вывести информацию о рейсах, которыми можно воспользоваться для прибытия в пункт назначения раньше заданного времени.
5. На междугородной АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона в этом городе и номер телефона абонента. Вывести по каждому городу общее время разговоров с ним и сумму.
6. Информация о сотрудниках фирмы включает: Ф.И.О., табельный номер, количество проработанных часов за месяц, почасовой тариф. Рабочее время свыше 144 часов считается сверхурочным и оплачивается в двойном размере. Вывести размер заработной платы каждого сотрудника фирмы за вычетом подоходного налога, который составляет 12% от суммы заработка.
7. Информация об участниках спортивных соревнований содержит: наименование страны, название команды, Ф.И.О. игрока, игровой номер, возраст, рост, вес. Вывести информацию о самой молодой, рослой и легкой команде.
8. Для книг, хранящихся в библиотеке, задаются: регистрационный номер книги, автор, название, год издания, издательство, количество страниц. Вывести список книг с фамилиями авторов в алфавитном порядке, изданных после заданного года.
9. Различные цехи завода выпускают продукцию нескольких наименований. Сведения о выпущенной продукции включают: наименование, количество, номер цеха. Для заданного цеха необходимо вывести количество выпущенных изделий по каждому наименованию в порядке убывания количества.
10. Информация о сотрудниках предприятия содержит: Ф.И.О., номер отдела, должность, дату начала работы. Вывести списки сотрудников по отделам в порядке убывания стажа.
11. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О., адрес, оценки. Определить количество абитуриентов, проживающих в г.Минске и сдавших экзамены со средним баллом не ниже 4.5, вывести их фамилии в алфавитном порядке.
12. В справочной аэропорта хранится расписание вылета самолетов на следующие сутки. Для каждого рейса указаны: номер рейса, тип самолета, пункт назначения, время вылета. Вывести все номера рейсов, типы самолетов и времена вылета для заданного пункта назначения в порядке возрастания времени вылета.
13. У администратора железнодорожных касс хранится информация о свободных местах в поездах дальнего следования на ближайшую неделю в следующем виде: дата выезда, пункт назначения, время отправления, число свободных мест. Оргкомитет международной конференции обращается к администратору с просьбой зарезервировать m мест до города N на k-й день недели с временем отправления поезда не позднее t часов вечера. Вывести время отправления или сообщение о невозможности выполнить заказ в полном объеме.
14. Ведомость абитуриентов, сдавших вступительные экзамены в университет, содержит: Ф.И.О. абитуриента, оценки. Определить средний балл по университету и вывести список абитуриентов, средний балл которых выше среднего балла по университету. Первыми в списке должны идти студенты, сдавшие все экзамены на 5.
15. В радиоателье хранятся квитанции о сданной в ремонт радиоаппаратуре. Каждая квитанция содержит следующую информацию: наименование группы изделий(телевизор, радиоприемник и т. п.),марку изделия, дату приемки в ремонт, состояние готовности заказа (выполнен, не выполнен). Вывести информацию о состоянии заказов на текущие сутки по группам изделий.

Контрольные вопросы:
Какие бывают файлы?
Процедуры для типизированных файлов.
Нетипизированные файлы.
Какие системные диалоги вы знаете?
Опишите компоненту OpenDialog?
Опишите компоненту SaveDialog?
Опишите компоненту FontDialog и ColorDialog?
Вывести Ф.И.О. студентов, рост и вес которых являются в списке уникальными.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е

Практическое занятие №26
Тема 3.4 Обработка исключительных ситуации
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Структурная обработка исключительных ситуаций - это система, позволяющая программисту при возникновении ошибки (исключительной ситуации) связаться с кодом программы, подготовленным для обработки такой ошибки.
Новое ключевое слово, добавленное в язык Object Pascal - try. Оно используется для обозначения первой части защищенного участка кода. Существует два типа защищенных участков:
try..except, try..finally
Первый тип используется для обработки исключительных ситуаций. Егосинтаксис: try
Statement 1;
Statement 2;
...
except
on Exception1 do Statement;
on Exception2 do Statement;
...
else
Statements; {default exception-handler}
end;
Для уверенности в том, что ресурсы, занятые вашим приложением, освободятся в любом случае, Вы можете использовать конструкцию второго типа. Код, расположенный в части finally, выполняется в любом случае, даже если возникает исключительная ситуация. Соответствующийсинтаксис:
try
Statement1;
Statement2;
...
finally
Statements; { These statements always execute }
end;
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
Задание №1
ВычислитьзначениеY, используяоператоры «try-except-end» или «try-finally-end». Проверка на неверный ввод данных, подкоренное выражение не отрицательное и при делении на «ноль».
№1 №2

№3 №4

№5 №6

№7 №8


№9 №10

№11№12


№13 №14

№15
Контрольные вопросы:
Назначение оператора try..except ?
Назначение оператора try..finally ?
Что такое «исключительная ситуация»?
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №27-28
Тема 4.1. Форматы графических файлов
Тема 4.2. Рисование на холсте Canvas. Использование методовCanvas. Использование свойств Canvas.
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это - TImage (TDBImage), TShape
TImage позволяет поместить графическое изображение в любое место на форме. Этот объект очень прост в использовании - выберите его на странице Additional и поместите в нужное место формы. Собственно картинку можно загрузить во время дизайна в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться в файле в формате BMP (bitmap), WMF (Windows Meta File) или ICO (icon).
TShape - простейшие графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.
У ряда объектов из библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них. Canvas является в свою очередь объектом, объединяющим в себе поле для рисования, карандаш (Pen), кисть (Brush) и шрифт (Font). Используя Canvas, Вы можете воспроизводить на форме любые графические объекты - картинки, многоугольники, текст и т.п
Свойства Canvas :
Brush -кисть, является объектом со своим набором свойств:
Bitmap - картинка размером строго 8x8, используется для заполнения (заливки) области на экране.
Color - цвет заливки. Style - предопределенный стиль заливки; это свойство конкурирует со свойством Bitmap - какое свойство Вы определили последним, то и будет определять вид заливки.
ClipRect - (только чтение) прямоугольник, на котором происходит графический вывод.
Font - шрифт, которым выводится текст (метод TextOut). Pen - карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:
Color - цвет линии Mode - режим вывода: простая линия, с инвертированием, с
выполнением исключающего или и др.
Style - стиль вывода: линия, пунктир и др. Width - ширина линии в точках
PenPos - текущая позиция карандаша, карандаш рекомендуется перемещать с помощью метода MoveTo, а не прямой установкой данного свойства. Pixels - двухмерный массив элементов изображения (pixel), с его помощью Вы получаете доступ к каждой отдельной точке изображения
Методы Canvas:
Методы для рисования простейшей графики - Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке линий в этих методах используются карандаш (Pen) канвы, а для заполнения внутренних областей - кисть (Brush).
Методы для вывода текста - TextOut и TextRect. При выводе текста используется шрифт (Font) канвы. При использовании TextRect текст выводится только внутри указанного прямоугольника.
11430055880Пример: Нарисовать круг и прямоугольник с рамкой .
Расположите компоненты :Image(Addition), Button.
Обработчик события:
begin
withImage1 do
begin
{рисуется рамка}
Canvas.MoveTo(2,2);
Canvas.LineTo(2,150);
Canvas.LineTo(315,150);
Canvas.LineTo(315,2);
Canvas.LineTo(2,2);
Canvas.Rectangle(10,10,250,120);
Canvas.Ellipse(30,30,100,100);
Canvas.TextOut(120,20,'Рисунок ');
end; end;
Рисование по пикселям.
Свойства Canvas компоненты Image – представляет собой область компонента на которой можно рисовать или отображать готовые изображения. Каждая точка канвы имеет координаты X и Y. Максимальное значение по X и по Y находится так:
X:=Image1.Width;
Y:=Image1.Height;
Рисовать по канве можно используя свойство Pixels. Это свойство представляет собой двухмерный массив, который отвечает за цвета канвы. К каждому пикселю можно обращаться по координатам и задавать его определенный цвет:
Image1.Canvas.Pixels[10,20]:=0;{Черная точка с координатой 10,20}
Image1.Canvas.Pixels[10,20]:=clBlack;{Черная точка с координатой 10,20}
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
Нарисовать следующий предмет: круг и квадрат
Нарисовать следующий предмет: круг в квадрате
Нарисовать следующий предмет: квадрат в эллипсе
Нарисовать следующий предмет: круг в эллипсе
Нарисовать следующий предмет: прямоугольник в квадрате
Нарисовать следующий предмет: 2 круга в эллипсе
Нарисовать следующий предмет: круг в круге и квадрате
Нарисовать следующий предмет: 3 круга друг в друге
Нарисовать следующий предмет: снеговика
Нарисовать следующий предмет: 10 кругов разного размера
Нарисовать следующий предмет: 2 круга с квадратами внутри
Нарисовать следующий предмет: 10 кубиков с прямоугольником внутри
Нарисовать следующий предмет: работа
Нарисовать следующий предмет: дыня в движении
Нарисовать следующий предмет: бублик в движении
Контрольные вопросы:
Какие компоненты предназначены для вывода графической информации?
Назначение компоненты TImage?
Назначение компоненты TShape?
Как найти максимальное значение по X и Y?
Назначение свойства Pixels.
Назначение свойства Canvas.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т
Практическое занятие №29
Тема 4.3. Работа с мультимедиа. Рисование графики функции
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это - TImage (TDBImage), TShape
TImage позволяет поместить графическое изображение в любое место на форме. Этот объект очень прост в использовании - выберите его на странице Additional и поместите в нужное место формы. Собственно картинку можно загрузить во время дизайна в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться в файле в формате BMP (bitmap), WMF (Windows Meta File) или ICO (icon).
TShape - простейшие графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.
У ряда объектов из библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них. Canvas является в свою очередь объектом, объединяющим в себе поле для рисования, карандаш (Pen), кисть (Brush) и шрифт (Font). Используя Canvas, Вы можете воспроизводить на форме любые графические объекты - картинки, многоугольники, текст и т.п
Свойства Canvas :
Brush -кисть, является объектом со своим набором свойств:
Bitmap - картинка размером строго 8x8, используется для заполнения (заливки) области на экране.
Color - цвет заливки. Style - предопределенный стиль заливки; это свойство конкурирует со свойством Bitmap - какое свойство Вы определили последним, то и будет определять вид заливки.
ClipRect - (только чтение) прямоугольник, на котором происходит графический вывод.
Font - шрифт, которым выводится текст (метод TextOut). Pen - карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:
Color - цвет линии Mode - режим вывода: простая линия, с инвертированием, с
выполнением исключающего или и др.
Style - стиль вывода: линия, пунктир и др. Width - ширина линии в точках
PenPos - текущая позиция карандаша, карандаш рекомендуется перемещать с помощью метода MoveTo, а не прямой установкой данного свойства. Pixels - двухмерный массив элементов изображения (pixel), с его помощью Вы получаете доступ к каждой отдельной точке изображения
Методы Canvas:
Методы для рисования простейшей графики - Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке линий в этих методах используются карандаш (Pen) канвы, а для заполнения внутренних областей - кисть (Brush).
Методы для вывода текста - TextOut и TextRect. При выводе текста используется шрифт (Font) канвы. При использовании TextRect текст выводится только внутри указанного прямоугольника.
Рисование по пикселям.
Свойства Canvas компоненты Image – представляет собой область компонента на которой можно рисовать или отображать готовые изображения. Каждая точка канвы имеет координаты X и Y. Максимальное значение по X и по Y находится так:
X:=Image1.Width;
Y:=Image1.Height;
Рисовать по канве можно используя свойство Pixels. Это свойство представляет собой двухмерный массив, который отвечает за цвета канвы. К каждому пикселю можно обращаться по координатам и задавать его определенный цвет:
Image1.Canvas.Pixels[10,20]:=0;{Черная точка с координатой 10,20}
Image1.Canvas.Pixels[10,20]:=clBlack;{Черная точка с координатой 10,20}
Пример: Нарисовать график функции y=sinx
Разместить компоненту Image.
Кнопка «нарисовать».
В обработчик событий кнопки записать:
var x,y:Real; PX,PY:LongInt;
Begin
For PX:=0 To Image1. Width Do
Begin
X:=PX*4*Pi/ Image1.Width;
Y:=sin(x);
PY:=Trunc(Image1.Height-(Y+1)* Image1.Height/2);
Image1.Canvas.Pixels[PX,PY]:=0;
End;
End;
Компонент TAnimate предназначен для воспроизведения видеофильмов. В свойстве CommonAVI выберите любой AVI-клип. Для кнопки напишите следующую процедуру (результат показан на рис. 9):
procedure TForm1.Button1Click(Sender: TObject);
begin
Animate1.Play(Animate1.startFrame,Animate1.StopFrame,0);
end;

Рис. 9. Работа компонента Animate1
Задание. Добавьте необходимые компоненты (Edit1, Edit2) и отредактируйте программный код так, чтобы пользователь мог сам управлять параметрами компонента TAnimate. Не забудьте всем кнопкам дать названия, понятные для пользователя.
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
Нарисовать график с координатными осями и нумерацией
Нарисовать график следующей функции : y = x+4
Нарисовать график следующей функции : y = 2x+5
Нарисовать график следующей функции : y = 7-5x
Нарисовать график следующей функции : y = x2
Нарисовать график следующей функции : y = x2+4
Нарисовать график следующей функции : y = sin (x+3)
Нарисовать график следующей функции : y = cos (x+3)
Нарисовать график следующей функции : y = 3x+6x2
Нарисовать график следующей функции : y = 1-x3
Нарисовать график следующей функции : y = 5+x3
Нарисовать график следующей функции : y = cos (2x)
Нарисовать график следующей функции : y = x3+3
Нарисовать график следующей функции : y =x2+3+x
Нарисовать график следующей функции : y =x2+10-4x
Нарисовать график следующей функции : y =sin (x+3)+5x
Контрольные вопросы:
Какие компоненты предназначены для вывода графической информации?
Назначение компоненты TImage?
Назначение компоненты TShape?
Как найти максимальное значение по X и Y?
Назначение свойства Pixels.
Назначение свойства Canvas.
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №30
Тема 5.1 Использование типов полей СУБД Paradox
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Delphi поддерживает два типа форматов локальных таблиц – dBase и Paradox. Каждая из этих таблиц имеет свои особенности.
Database Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных . Для запуска Database Desktop – в главном меню пункт Tools|DataBaseDeskTop.
Для создания таблицы необходимо сначала определить свой алиас (название каталога ваших БД ). Tools|AliasManager в диалоговом окне и нажмите на кнопку New (создание нового алиаса). В поле DataBaseAlias наберите необходимое название нашего алиаса (например: Gruppa). Для определения пути нажмите на Browse(выберите путь). Для сохранения KeepNew и Ok.
Выберите команду меню File|New|Table для создания новой таблицы. Перед Вами появится диалоговое окно выбора типа таблицы (Paradox 7).
 После выбора типа таблицы Database Desktop представит Вам диалоговое окно, специфичное для каждого формата, в котором Вы сможете определить поля таблицы и их тип.
Имя поля в таблице формата Paradox представляет собой строку, написание которой подчиняется следующим правилам:
Имя должно быть не длиннее 25 символов.
Имя не должно начинаться с пробела, однако может содержать пробелы.
Имя не должно содержать квадратные, круглые или фигурные скобки [], () или {}, тире, а также комбинацию символов “тире” и “больше” (->).
Имя не должно быть только символом .
Имя должно быть не длиннее 10 символов.
Пробелы в имени недопустимы.
Следующий (после выбора имени поля) шаг состоит в задании типа поля. Для получения списка типов полей перейдите к столбцу “Type”, а затем нажмите пробел или щелкните правой кнопкой мышки. Поля таблиц формата Paradox могут иметь следующий тип (для ввода типа поля можно набрать только подчеркнутые буквы или цифры):
Alpha строка длиной 1-255 байт, содержащая любые печатаемые символы
Number числовое поле длиной 8 байт, значение которого может быть положительным и отрицательным. Диапазон чисел - от 10-308 до 10308 с 15 значащими цифрами
$ (Money) числовое поле, значение которого может быть положительным и отрицательным. По умолчанию, является форматированным для отображения десятичной точки и денежного знака
Short числовое поле длиной 2 байта, которое может содержать только целые числа в диапазоне от -32768 до 32767
Long Integer числовое поле длиной 4 байта, которое может содержать целые числа в диапазоне от -2147483648 до 2147483648
Date поле даты длиной 4 байта, которое может содержать дату от 1 января 9999 г. до нашей эры - до 31 декабря 9999 г. нашей эры. Корректно обрабатывает високосные года и имеет встроенный механизм проверки правильности даты 
Memo поле для хранения символов, суммарная длина которых более 255 байт. Может иметь любую длину. При этом размер, указываемый при создании таблицы, означает количество символов, сохраняемых в таблице (1-240) - остальные символы сохраняются в отдельном файле с расширением .MB
Logical поле длиной 1 байт, которое может содержать только два значения - T (true, истина) или F (false, ложь). Допускаются строчные и прописные буквы
Bytes строка цифр длиной 1-255 байт, содержащая любые данные
После ввода всех полей БД, необходимо сохранить таблицу SaveAs.., ввести имя БД(FileName), в Alias выбрать алиас который вы создали и Save. Для заполнения данных – File| Open| Table.. Затем для редактирования полей нажать F9 или Table|Editdata. Введите 5 записей и закройте окно. БД готова. Затем закрываем DatabaseDesktop.
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
Создать Б/Д следующей структуры:
1«магазин продуктовый»
ФИО рабочего
наименование продукта
цена продукта
время продажи
количество (масса)
2 «учёт библиотеки»
№ карточки студента
наименование книги
дата выдачи
ФИО студента
дата сдачи
3 «аэропорт»
дата
количество проданных билетов
страна
ФИО пассажира
цена билета
4 «железнодорожный вокзал»
ФИО рабочего
№ рабочего
время выезда поезда
направление
дата приезда
5 «автобусный парк»
№ автобуса
район маршрута
количество рабочих часов
ФИО контроллёра
цена билета
6 «карточка медицинских услуг»
ФИО обследуемого
анализы
заболевание
дата обследования
направление врача
7 «место начальника цеха»
ФИО начальника
количество подчинённых
дата сдачи работ
сумма премиальных рабочего
зарплата рабочего
8 «бланк бухгалтера»
наименование предприятия
сумма выплаченных налогов
количество рабочих
зарплата рабочего
налог с заработной платы
9 «ветеринарная клиника»
дата поступления
ФИО хозяина
сведения о питомце
диагноз
сумма оплаты
10 «плавательный бассейн»
ФИО тренера
группа
количество человек в группе
время проведения занятий
стоимость одного часа
11 «столовый чек»
дата
№ кассира
сумма оплаты
время
остаток кредита
12 «оплата за обучение»
ФИО студента
дата приёма
сумма оплаты
№ кассира
№ группы
13 «преподаватель колледжа»
ФИО преподавателя
должность
количество часов
оплата за 1 час
сумма всего
14 «приёмная комиссия»
ФИО абитуриента
адрес абитуриента
общие сведения
отметка на экзаменах
дата поступления
15 «туристическая фирма»
ФИО клиента
тип труда
страна
отель
сумма стоимости тура
Контрольные вопросы:
C помощью какой программы можно создать таблицу БД?
Какого типа могут быть поля БД?
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №31-32
Тема 5.2 Компоненты для создания приложений БД
Тема 5.3Компонент источник данных DataSourse
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Компонент DataSource действует как посредник между компонентами TDataSet (TTable, TQuery, TStoredProc) и компонентами Data Controls - элементами управления, обеспечивающими представление данных на форме. Компоненты TDataSet управляют связями с библиотекой Borland Database Engine (BDE), а компонент DataSource управляет связями с данными в компонентах Data Controls.
В типичных приложениях БД компонент DataSource, как правило, связан с одним компоненом TDataSet (TTable или TQuery) и с одним или более компонентами Data Controls (такими, как DBGrid, DBEdit и др.). Связь этого компонента с компонентами TDataSet и DataControls осуществляется с использованием следующих свойств и событий:
Cвойство DataSet компонента DataSource идентифицирует имя компонента TDataSet. Можно присвоить значение свойству DataSet на этапе выполнения или с помощью инспектора объектов на этапе проектирования.
Cвойство Enabled компонента DataSource активизирует или останавливает взаимосвязь между компонентами TDataSource и Data Controls. Если значение свойства Enabled равно true, то компоненты Data Controls, связанные с TDataSource, воспринимают изменения набора данных. Использование свойства Enabled позволяет временно разъединять визуальные компоненты Data Controls и TDataSource, например, для того, чтобы в случае поиска в таблице с большим количеством записей не отображать на экране пролистывание всей таблицы.
Свойство AutoEdit компонента DataSource контролирует, как инициируется редактирование в компонентах Data Controls. Если значение свойства AutoEdit равно true, то режим редактирования начинается непосредственно при получении фокуса компонентом Data Controls, связанным с данным компонентом TDataSet. В противном случае режим редактирования начинается, когда вызывается метод Edit компонента TDataSet, например, после нажатия пользователем кнопки Edit на компоненте DBNavigator. · Событие OnDataChange компонента DataSource наступает, когда происходит изменение значения поля, записи, таблицы, запроса.
Cобытие OnUpdateData компонента DataSource наступает, когда пользователь пытается изменить текущую запись в TDataSet. Обработчик этого события следует создавать, когда требуется соблюсти условия ссылочной целостности или ограничения, накладываемые на значения полей изменяемой базы данных.
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
Используя компоненты для создания Б.Д, создать следующей структуры:
1«магазин продуктовый»
ФИО рабочего
наименование продукта
цена продукта
время продажи
количество (масса)
2 «учёт библиотеки»
№ карточки студента
наименование книги
дата выдачи
ФИО студента
дата сдачи
3 «аэропорт»
дата
количество проданных билетов
страна
ФИО пассажира
цена билета
4 «железнодорожный вокзал»
ФИО рабочего
№ рабочего
время выезда поезда
направление
дата приезда
5 «автобусный парк»
№ автобуса
район маршрута
количество рабочих часов
ФИО контроллёра
цена билета
6 «карточка медицинских услуг»
ФИО обследуемого
анализы
заболевание
дата обследования
направление врача
7 «место начальника цеха»
ФИО начальника
количество подчинённых
дата сдачи работ
сумма премиальных рабочего
зарплата рабочего
8 «бланк бухгалтера»
наименование предприятия
сумма выплаченных налогов
количество рабочих
зарплата рабочего
налог с заработной платы
9 «ветеринарная клиника»
дата поступления
ФИО хозяина
сведения о питомце
диагноз
сумма оплаты
10 «плавательный бассейн»
ФИО тренера
группа
количество человек в группе
время проведения занятий
стоимость одного часа
11 «столовый чек»
дата
№ кассира
сумма оплаты
время
остаток кредита
12 «оплата за обучение»
ФИО студента
дата приёма
сумма оплаты
№ кассира
№ группы
13 «преподаватель колледжа»
ФИО преподавателя
должность
количество часов
оплата за 1 час
сумма всего
14 «приёмная комиссия»
ФИО абитуриента
адрес абитуриента
общие сведения
отметка на экзаменах
дата поступления
15 «туристическая фирма»
ФИО клиента
тип труда
страна
отель
сумма стоимости тура
Контрольные вопросы:
C помощью какой программы можно создать таблицу БД?
Какого типа могут быть поля БД?
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №31-32
Тема 5.4 Компоненты визуализации DBEdit,DBText,DBCheckBox, DBRadioGoup,DBMemo.
Тема 5.5 Компоненты визуализации DBListBox,DBComboBox,DBImage,DBNavigator
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
DBText – аналог обычной метки Label, но связанный с данными.Позволяет отображать данные некоторого поля, но не дает возможностьего редактировать. Тип отображаемого поля может быть: строка, число,булева величина. Компонент автоматически переводит соответствующиетипы в отображаемыесимволы.
DBEdit – связанный с данными аналог обычного окна редактора Edit. Онпозволяет отображать и редактировать данные полей различных типов.Если задать в компоненте ReadOnly=TRUE, то он будет служитьэлементомотображения, но несколько болееизящным, чем DBText.
DBMemo – связанный с данными аналог обычного многострочного окнаредактирования Memo. Он позволяет отображать и редактироватьданные поля типа Memo, а также данные любых типов, указанные вышедля предыдущих компонентов. Например, в этом компоненте можноотображать и редактировать характеристики сотрудников.
DBRadioGroup – связанный с данными аналог группы радиокнопок RadioGroup. Компонент позволяет отображать и редактировать поля с ограниченным множеством значений. В нашем примере это может быть поле F2 или F7. Свойство Items определяет число кнопок и надписи на них (как в обычном RadioGroup). Компонент DBRadioGroup предоставляет ещё одну возможность ввода данных пользователя путем выбора, а не написанием полного значения
поля.
DBCheckBox— связанный с данными аналог обычного индикатора CheckBox. Он позволяет отображать и редактировать данные поля булевского типа. Если при выводе данных поле имеет значение true, то индикатор включается, и наоборот.
DBNavigator имеет несколько кнопок (вы можете настроить какие именно вы хотите видеть) дающие лёгкий контроль над следующими операциями: (перечисление в порядке расположения кнопок) 1) Переход на первую запись 2) Переход на предыдущую запись 3) Переход на следующую запись 4) Переход на последнюю запись 5) Добавить запись 6) Удалить запись 7) Редактировать запись 8) Сохранить изменения 9) Отменить изменения 10) Перечитать таблицу 
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
Используя компоненты визуализации DBEdit,DBText,DBCheckBox, DBRadioGoup,DBMemo.DBListBox,DBComboBox,DBImage,DBNavigator, создать следующей структуры:
1.
Реализуйте базу данных с полями «Фамилия», «Имя»,
«Отчество», «Пол», «Год рождения» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3)Упорядочивать записи по алфавиту
4)Просматривать весь список.
2.
Реализуйте базу данных с полями «Фамилия», «Имя»,
«Отчество», «Пол», «Год рождения» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3) Просматривать список по полу
4)Просматривать список по году рождения.
3.
Реализуйте базу данных с полями «Фамилия», «Имя»,
«Отчество», «Пол», «Год рождения» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3)Искать записи по маске фамилии
4) Искать записи по маске фамилии и полу.
4.
Реализуйте базу данных с полями «Фамилия», «Имя»,
«Отчество», «Пол», «Год рождения» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3)Искать записи по маске фамилии
4) Редактировать записи, найденные по маске фамилии.
5.
Реализуйте базу данных с полями «Фамилия», «Имя»,
«Отчество», «Пол», «Год рождения» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3)Удалять записи по маске фамилии
4)Просматривать весь список.
6.
Реализуйте базу данных с полями «Фамилия», «Имя»,
«Отчество», «Пол», «Год рождения» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3)Поиск записей по возрасту
4)Изменение возраста у найденных записей.
7.
Реализуйте базу данных с полями «Товар», «Цена»,
«Изготовитель» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3)Поиск по маске наименования
4)Изменение цену у найденной записи.
8.
Реализуйте базу данных с полями «Товар», «Цена»,
«Изготовитель» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи по товару
3)Поиск по маске наименования
4)Изменение цену у найденной записи.
9.
Реализуйте базу данных с полями «Фамилия», «Имя»,
«Отчество», «Пол», «Год рождения» как файл типа запись.
Интерфейс должен позволять:
1)Вносить новые записи
2)Удалять записи
3)Удалять записи по маске год рождения
4)Просматривать весь список.
Контрольные вопросы:
Что делаетDBMemo?
Что делаетDBNavigator?
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №36
Тема 5.7 Вычисляемые поля и создание полей выбора
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Создание вычисляемого поля. Вычисляемое поле – это поле БД значение, которого вычисляется на основании значений других полей записи.
Сделать двойной щелчок на Table1(вызвать редактор полей)
В редакторе полей правой кнопкой мыши в всплывающем меню выбрать раздел New (добавление нового поля)
В разделе FieldsProperties (свойство поля) указать имя поля, тип данных, компоненту и размер
Переключить группу радиокнопок на Calculated и <Ok>
В окне редактора появится новое поле, в инспекторе объектов установите значение DisplayLabel равным «имя на русском»
Выйдите из редактора полей и в инспекторе объектов компоненты Table1 на событии OnCalcFields щелкните (это событие наступает каждый раз как надо обновить значение вычисляемых полей таблицы)
В обработчике событий необходимо ввести оператор, вычисляющий значение нового поля
Например: Вычисляемое поле Vozrast , а поле Year – год рождения тогда :
Table1Vozrast.Value:=2003 – Table1Year.Value;
Пример: Перемещение на первую запись.
Разместить кнопку с надписью «На первую запись» и написать обработчик события: Table1.First;
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
1.«Аэропорт»
Дата
Количество проданных билетов
Страна
ФИО пассажира
Цена билета
Создать вычисляемое поле «Сумма» равная « 2 * 5»
2. «Железнодорожный вокзал»
ФИО рабочего
№ рабочего
Время выезда поезда
Направление
Время приезда
Создать вычисляемое поле «Время в движении» равная « 5 - 3»
3. «Автобусный парк»
№ автобуса
Район маршрута
Количество рабочих часов
ФИО контролера
Цена билета
Создать вычисляемое поле «Сумма» равная « 3 * 5»
4.«Карточка медицинских услуг»
ФИО обследуемого
Диагноз
Количество дней лечения
Дата обследования
Цена услуги
Создать вычисляемое поле «Сумма» равная « 3 * 5»
5. «Магазин продуктовый»
ФИО рабочего
Наименование продукта
Цена продукта
Время продажи
Количество (масса)
Создать вычисляемое поле «Сумма» равная « 3 * 5»
6.«Учет библиотеки»
№ карточки студента
Наименование книги
Дата выдачи
ФИО студента
Дата сдачи
Создать вычисляемое поле «Время использования» равная « 5 - 3»
7. «Столовая»
Дата
№ кассира
Сумма оплаты
Время
Остаток кредита
Создать вычисляемое поле «Сумма» равная « 3 – 5 »
8.«Оплата за обучение»
ФИО студента
Дата приема
Сумма оплаты
№ кассира
№ группы
Создать вычисляемое поле «Сумма» равная «55300тг - 3»
9.«Место начальника цеха»
ФИО начальника
Количество подчиненных
Дата сдачи работ
Оплата 1 дня рабочего
Создать вычисляемое поле «Зарплата» равная « 2*4»
10. «Бланк бухгалтера»
Наименование предприятия
Сумма выплаченных налогов
Количество рабочих
Зарплата рабочих
Налог с заработной платы
Создать вычисляемое поле «Зарплата 1 рабочего» равная «4 / 3»
11.«Преподаватель колледжа»
ФИО преподавателя
Должность
Количество часов
Оплата за 1 час
Создать вычисляемое поле «Сумма» равная « 3 * 4»
12. «Приемная комиссия»
ФИО абитуриента
Адрес абитуриента
Начальная сумма
Отметка на экзаменах
Дата поступления
Создать вычисляемое поле «Сумма» равная «55300тг - 3»
13. «Ветеринарная клиника»
Дата поступления
ФИО хозяина
Сведения о питомце
Диагноз
Стоимость лечения за 1 день
Создать вычисляемое поле «Сумма» равная « дата – 1 * 5»
14.«Плавательный бассейн»
ФИО тренера
Количество человек в группе
Время проведения занятий
Стоимость 1-го часа
Создать вычисляемое поле «Сумма» равная «2 * 4»
15. «Денежные переводы»
Дата перевода
ФИО получателя
ФИО отправителя
Сумма переводов
Процент от перевода
Создать вычисляемое поле «Итоговая сумма» равная «4 + 5»
Контрольные вопросы:
Какие методы навигации в компоненте DBNavigator?
Какие методы навигации существуют?
Что такое вычисляемое поле и как его создать?
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Практическое занятие №35
Тема 5.6 Редактор полей для набора данных DBGrid
Цель занятия
Образовательная проверка усвоения теоретического материала на основе практических заданий
Развивающая развитие логического мышления , способности четко формулировать свои теоретические познания на практике
Воспитательная воспитание ценностей личного отношения к изучаемым знаниям и извлечение учениками практических ценностей из их содержания
Теория:
Компонент DBGrid отображает набор данных в формате электронной таблицы. Одним из важнейших свойств DBGrid является свойство columns. Оно позволяет вам изменять номера и порядок столбцов, которые появляются в таблице. Вы можете добавить, удалить или упорядочить столбцы с помощью редактора столбцов (Columns Editor). Для вызова редактора столбцов щелкните правой кнопкой мыши на таблице и выберите пункт Columns Editor в контекстном меню. Вы можете также щелкнуть на кнопке с многоточием рядом со свойством Columns в инспекторе объектов. Используя редактор столбцов, вы можете добавлять и удалять столбцы, или изменять порядок их расположения. Например, набор данных может содержать десятки полей, но вам требуется просматривать в DBGrid только половину из них. С помощью редактора столбцов вы можете скрыть те поля, которые не должны отображаться.
.Не путайте свойство Columns компонента DBGrid (модифицируемое через редактор столбцов) со свойством FieldDefs компонента Table (которое модифицируется с помощью редактора полей) Свойство FieldDefs определяет, какие столбцы реально находятся в наборе данных Свойство columns влияет только на видимость полей в сетке DBGrid.
Свойство DefaultDrawing определяет, будут ли ячейки сетки нарисованы VCL, или их будет рисовать пользователь. Если для DefaultDrawing установлено значение False, вы должны реагировать на события OnDrawColumnCell и OnDrawDataCell, чтобы обеспечить рисование ячеек.
Свойство Options позволяет вам установить опции, определяющие отображение и поведение сетки. С помощью этого свойства вы можете выключить заголовки столбцов, разрешить или запретить изменение размера столбцов, включить или выключить отображение разделительных линий столбцов и строк, и т. д.
Свойство Title Font позволяет вам задать шрифт для заголовков столбцов, а свойство Font определяет шрифт для ячеек таблицы.
DBGrid имеет только два открытых метода. При работе с пользовательской сеткой вы можете вызвать методы DefaultDrawColumnCell и DefaultDrawDataCell для рисования стандартных ячеек. Это полезно, если вы самостоятельно рисуете только некоторые столбцы, а для остальных хотите оставить поведение по умолчанию.
Компонент DBGrid имеет несколько событий, большинство из которых относится к редактированию ячеек и перемещению по таблице. Я не буду перечислять здесь эти события, поскольку их назначение очевидно из названий.
Литература к уроку
Основная
Жаксыбаева Н.Н.,Баймухамедова Ж.К., «Основы обьектно-ортентированного прогаммирования», 2005
Индивидуальные задания
Использовать компонентDBGrid ранее в своих БД.
Контрольные вопросы:
Какие методы навигации в компоненте DBGrid
Какие методы навигации существуют?
Что такое вычисляемое поле и как его создать?
Домашнее задание незавершить выполнение индивидуального задания (в случае если задание не выполнено полностью)
Подпись преподавателя спецдисциплин_______________Атейбекова Ш.Е/Сексенбаева А.Т

Приложенные файлы

  • docx 4373583
    Размер файла: 686 kB Загрузок: 0

Добавить комментарий