ВЕДЕНИЕ
Автоматизация сопровождает человеческое общество с момента его зарождения. Развитию человечества присуще замещение процессов человеческой деятельности процессами технических устройств.
Компьютеры так прочно вошли в нашу жизнь, что без них трудно представить себе современный офис, учреждение или организацию.
Компьютер позволяет за короткий промежуток времени может качественно обработать нужную информацию.
Тема данной курсовой работы «Составить пользовательскую функцию для математических вычислений средствами языка программирования Pascal ABC».
В данной курсовой работе необходимо выполнить следующие задачи;
а) Определить, есть ли среди цифр заданного трехзначного числа одинаковые.
б) Итерационные алгоритмы: Вычислить сумму ряда с точностью ε=10–6
в) Массивы: Составить программу обмена в квадратной матрице элементов, находящихся на главной диагонали, с соответствующими элементами первой строки.
г) Обработка строк: В заданном предложении указать слово, в котором в совокупности доля букв «м» и «р» максимальна. Напечатать исходный текст, найденное слово и количество букв «м» и «р», встретившихся в этом слове. Результат вывести на экран и в текстовый файл.
д) Записи и файлы: Создать файл, содержащий сведения о наличии билетов и рейсах Белавиа. Каждая запись содержит поля: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне. На экран и в отдельный файл вывести: время отправки самолета в город Х; наличие свободных мест на рейс в город Х с временем отправления Z. Значения X, Z вводится с клавиатуры.
1 Блок-схемы и их описание
Рассмотрим блок-схемы всех поставленных задач в данной курсовой работе.
Задача 1. Определить, есть ли среди цифр заданного трехзначного числа одинаковые.
Описание блок-схемы:
1) в первом блоке происходит ввод заданного числа, для которого нужно вычислить сумму ряда;
2) во втором блоке происходит определение начальных значений суммы ряда и количество слагаемых ряда;
3) в третьем блоке определяется точность вычисления;
4) в четвертом блоке происходит вычисление значения члена ряда;
Описание блок-схемы:
1) в первом блоке происходит определение начального значения для вычисления факториала;
2) в третьем блоке происходит вычисление факториала.
Задача 3. Составить программу обмена в квадратной матрице элементов, находящихся на главной диагонали, с соответствующими элементами первой строки.
2 Описание форматов исходных данных и результатов
Рассмотрим форматы исходных и результирующих данных всех поставленных задач в данной курсовой работе.
Для первой задачи исходными данными является трехзначное число, целого типа.
Результирующими данными является сообщение одного из следующих вида: «В заданном числе есть одинаковые числа!», «В заданном числе нет одинаковых чисел».
Для второй задачи исходными данными является значение точки, в которой нужно посчитать сумму ряда. Тип данной переменной – вещественный.
Результирующими данными является найденная сумма, вещественного типа.
Для третьей задачи исходными данными является размерность матрицы. Тип данной переменной – целый.
Результирующими данными является матрица, которая преобразована в соответствии с условием задачи.
Для четверной задачи исходными данными является строка. Тип данной переменной – строковый.
Результирующими данными является слово (строковая переменная) и количество «нужных» символов (целочисленная переменная).
Для пятой задачи исходными данными является запись, которая содержит следующие поля: номер рейса (целочисленный тип), пункт назначения (строковый тип), время вылета (строковый тип), время прибытия (строковый тип), количество свободных мест в салоне (целочисленный тип).
Результирующими данными является время отправки самолета в город Х; наличие свободных мест на рейс в город Х с временем отправления Z.
3 Распечатка программ
Текст программы, которая реализует задачу 1:
program pr1;
var
a:integer;
x,y,z:integer;
begin
write('Введите трехзначное число:'); readln(a);
//определим цифры исходного числа
x:=a mod 10; // последня цифра
y:=a div 100; // первая цифра числа
z:=(a div 10)mod 10; // вторая цифра числа
if ((x=y)or(x=z)or(y=z)) then
writeln('В заданном числе есть одинаковые числа!')
else
writeln('В заданном числе нет одинаковых чисел!');
readln;
end.
Текст программы, которая реализует задачу 2:
program pr2;
var
sum,x,u:real;
i,n:integer;
//Функция вычисления факториала
function fact(n:integer):integer;
var
i,f:integer;
begin
f:=1;
for i:=2 to n do
f:=f*i;
fact:=f;
end;
begin
writeln('Введите исходное число x:'); readln(x);
sum:=0; u:=1; i:=1;
while abs(u)>0.000001 do
begin
u:=(exp((4*i-3)*ln(x))*(4*i-x))/fact(4*i);
sum:=sum+u;
i:=i+1;
end;
write('Сумма ряда:',sum);
readln;
end.
4 Описание работы программы на контрольных примерах
Для проверки правильности программ выполним несколько контрольных примеров для каждой из поставленных задач.
Для первой задачи введем следующее число: 126. В результате получим следующее сообщение: «В заданном числе нет одинаковых чисел!».
Если введем число: 155, то в результате получим следующее сообщение: «В заданном числе есть одинаковые числа!».
Для второй задачи введем следующее значение переменной X=0.2. В результате получим следующее значение суммы ряда: 0.0316667285714286.
Если введем значение переменной X=1. В результате получим следующее значение суммы ряда: 0.125173634075544.
СКРИНШОТЫ РАБОТЫ ПРОГРАММЫ



ЗАКЛЮЧЕНИЕ
В результате выполнения данной курсовой работы были реализованы следующие задачи:
а) Определить, есть ли среди цифр заданного трехзначного числа одинаковые.
б) Итерационные алгоритмы: Вычислить сумму ряда с точностью ε=10–6
в) Массивы: Составить программу обмена в квадратной матрице элементов, находящихся на главной диагонали, с соответствующими элементами первой строки.
г) Обработка строк: В заданном предложении указать слово, в котором в совокупности доля букв «м» и «р» максимальна. Напечатать исходный текст, найденное слово и количество букв «м» и «р», встретившихся в этом слове. Результат вывести на экран и в текстовый файл.
д) Записи и файлы: Создать файл, содержащий сведения о наличии билетов и рейсах Белавиа. Каждая запись содержит поля: номер рейса, пункт назначения, время вылета, время прибытия, количество свободных мест в салоне. На экран и в отдельный файл вывести: время отправки самолета в город Х; наличие свободных мест на рейс в город Х с временем отправления Z. Значения X, Z вводится с клавиатуры.
1. Абрамов, В.Г. Введение в язык Паскаль / В.Г. Абрамов, Н.П. Трифонов, и др. - Л.: Наука, 1988. - 320 c.
2. Абрамов, В.Г. Введение в язык паскаль / В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова. - М.: РГГУ, 1988. - 320 c.
3. Дедков, А.Ф. Абстрактные типы данных в языке АТ-Паскаль / А.Ф. Дедков. - М.: Мир, 1989. - 200 c.
4. Информационная безопасность открытых систем. В 2 томах. Том 1. Угрозы, уязвимости, атаки и подходы к защите / С.В. Запечников и др. - М.: Горячая линия - Телеком, 2006. - 536 c.
5. Информационная безопасность открытых систем. В 2 томах. Том 2. Средства защиты в сетях / С.В. Запечников и др. - М.: Горячая линия - Телеком, 2008. - 560 c.
6. Информационная безопасность систем организационного управления. Теоретические основы. В 2 томах. Том 1. - Л.: Наука, 2006. - 496 c.
7. Кузьмин, О.В. Обобщенные пирамиды Паскаля и их приложения / О.В. Кузьмин. - Москва: СПб. [и др.] : Питер, 2000. - 170 c.
8. Партыка, Т. Л. Информационная безопасность / Т.Л. Партыка, И.И. Попов. - М.: Форум, Инфра-М, 2002. - 368 c.
9. Партыка, Т.Л. Информационная безопасность: моногр. / Т.Л. Партыка, И.И. Попов. - М.: Гостехиздат, 2002. - 368 c.