Описание алгоритмов и программ

ВВЕДЕНИЕ

Программа Турбо Паскаль была созданна для, обучения начальным навыкам программированния. Из-за простоты язык прграммирования Паскаль стали применять для обучения студентов и школьников. Саму программу издала корпорация Borlan. Программа была названа в честь математика Блеза Паскаля. Стандарт языка был разработан Никлаусом Виртом в 1974 году совместно с Кетлин Йенсен специально для обучения студетов. После чего язык Паскаль начал развиваться и получил множество дополнений и модернизаций. Так появились такие языки программирования как: Дэлфи и C++. Сейчас они используются для разработки больших программ и приложений. Но даже сейчас язык Паскаль используется не только для получения начальных навыков в программрование, но и для разработки реляционных систем. Особенностями языка являются строгая типизация и наличие средств структурного программирования. Наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком. Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длинны, отсутствие нормальных средств работы с динамической памятью, ограниченная библеотека ввода-вывода, отсутствие средств для подключения функций, написанных на других языках и отсутствие средств раздельной компиляции. Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении студентов.

ПОСТАНОВКА ЗАДАЧИ

Для получения практичных навыков в прграммимровании нужно было выполнить пять различных заданий. Целью моего первого задания являлось создание программы которая должна находить дробную часть вещественного числа х. Использовать можно было только элементарные математические функции. Пользователь вводит вещественное число, а программа обрабатывает его с помощью математических функций и выводит на экран целую часть числа. Для выполнения второго задания нужно было создать программу целью которой являлась сортировка одномерного, произвольного массива целых чисел. Массив данных заполнялся пользователем, ввод каждого числа завершался нажатием клавиши Enter, после заполнения массива вводилось число 0. Программа сортировала введённый массив по убыванию и выводила его на экран. Третьим заданием являлась организация базы данных для службы знакомств, и сортировка анкет клиентов по возрасту. Пользователь заполняет анкету клиента которая состоит из таких разделов: фамилия, имя, отчество, дата рождения, пол, рост, вес, национальность, годовой доход. Программа создает массив записей в который пользователь и заносит данные, после чего следует сортировка по дате рождения. Программа выводит на экран все клиентские анкеты, отсортированные от старшего к маладшему клиенту. В четвёртом задании нужно было создать массив записей, отсортировать по всем данным параметрам и вывести на экран в виде таблицы. Пользователь вводит с клавиатуры такие данные: фамилия, имя, отчество, пол, стаж, зароботная плата, образование, специальность, уровень доступа к информации (1,2,3), профессия, разряд. Программа записывает данные каждого клиента в массив записей, и сортирует каждую. После введения последнего клиента ( количество клиентов вводится в начале программы) и нажатия клавиши Enter на экран, в виде таблици, выводятся данные тех клиентов которые прошли по всем параметрам сортировки, а именно: пол мужской, зароботная плата меньше максимальной (максимальная зарплата вводится после введения данных о всех клиентах), стаж более трёх лет, уровень доступа к информации первый, разряд второй или третий, образование полное среднее.

ОПИСАНИЕ АЛГОРИТМОВ И ПРОГРАММ

Программма №1

Для решения первой задачи я использовал такие операторы: while…do, if…then. Мною был создан цикл: if x>0 then; while x>1 do; Begin; x:=x-1; end;

Данный цикл отнимает от введенного вещественного числа единицу, пока число не будет меньше единици, остаток и есть дробная часть. Её программа вывод на экран с помощью стандартных операторов ввода-вывода.

Программа №2

Для решения второй задачи были использованы: одномерный массив (m:arrey [1..b] jf integer;), операторы if…then, to..do, for. Для улучшения интерфейса пользователя: readkey, Label metka. Программа сравнивала и перемещала элементы, сортируя их по убыванию ( if m [i] < [j] then ). С помощью процедуры readkey клавиша Enter была использована для ввода нового числа: first :=readkey; until (first=#48;); Ввод числа 0 завершал работу программы.

Программа №3

Для решения третьей задачи был создан массив записей: (u:array [1..10] of zap;). Что-бы провести сортировку были использованны такие операторы: if....then. Программа сортировала записи по дням рождения клиентов: (if u [i]. day > u [j]. day then). И выводила отсортированный массив записей на экран.

Программа №4

Для решения четвёртой задачи я использовал записи: (type inzhener=record;).

Массивы: (m:array[1..20] of Dop_Personal;). Оператор с пост условием: Repeat. Конструктор разветвления: if…then. А также оператор проверки: else. Так же были использованы операторы: For, to, do. Длшя ввода-вывода были использованы стандартные операторы.

ЛИСТИНГИ ПРОГРАММ

Программма №1

Задачей программы было найти дробную часть от вещественного числа.

If x > 0 then;

While x> 1 do;

Begin

X:=x-1;

End;

Программа №2

Программа сортирует массив на убывание.

For i:=1 to z do

For j:=i+1 to z do

If m[i] < [j] then

Begin

X: m[i];

M[i]:=m[j];

M[j]:=x;

End.

Программа №3

Программа сортирует данные клиентов по возрасту.

For i:= 1 to n do

For j:= 1 to n do

If u [i]. day>u[j]. day then

Begin

X:=u[i].day;

U[i].day:=u[j]. day;

U[j].day:=x;

End;

For i:= 1 to n do

For j:= 1 to n do

If u [i]. mesyc>u[j]. mesyc then

Begin

X:=u[i].mesyc;

U[i].mesyc:=u[j]. mesyc;

U[j].mesyc:=x;

End;

For i:= 1 to n do

For j:= 1 to n do

If u [i]. god>u[j]. god then

Begin

X:=u[i].god;

U[i].god:=u[j]. god;

U[j].god:=x;

End;

Программма №4

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

В этой части программы проверяется: пол, стаж, зароботная плата, розряд и уровень образования:

If (m [i].osn.pol=1) and (m[i].osn.stag>3) and (x>m[i].osn.zar) and (m[i].roz>1) and (m[i].osn.obr=1) then

В этой части проводится проверка и вывод данных на экран:

If m[i].osn.obr=1 then write (‘|Polnoe’) else write (‘|Ne polnoe’);

if m [i].osn.pol=1 then write(‘|_M_’) else write (‘|_W_’);

Write(‘|_’,m[i].osn.spec);

Write(‘|_’,m[i].osn.dos);

Write(‘|_’,m[i].osn.zar);

Write(‘|_’,m[i].osn.stag);

Write(‘|_’,m[i].osn.prof);

Write(‘|_’,m[i].osn.roz,’_|’);

РЕЗУЛЬТАТЫ РАБОТЫ

Задание №1

описание алгоритмов и программ - student2.ru

Скриншот (1).

Пользователь ввел вещественное число (15.6), программа выдала дробную часть.

Задание №2

описание алгоритмов и программ - student2.ru

Скриншот (2).

На скриншоте 2 пользователь заполняет одномерный массив, а программа сортирует его от большего к меньшему и выводит на экран.

Задание №3

описание алгоритмов и программ - student2.ru

Скриншот(3).

На скриншоте 3 пользовотель заполняет массив.

описание алгоритмов и программ - student2.ru Скриншот (4).

На скриншоте 4 программа вывела отсортированный массив.

Задание №4

описание алгоритмов и программ - student2.ru

Скриншот (5).

Наши рекомендации