Генерация массива и сортировка

Автор работы: Пользователь скрыл имя, 14 Декабря 2013 в 23:51, доклад

Краткое описание

Программа должна быть защищена от ввода недопустимых данных, которые могут привести к сбою программы. Должны контролироваться:
- все вводимые с клавиатуры данные (размеры массивов, значения переменных и т.д.);
- наличие файлов исходных данных на диске (если таковые используются);
- наличие обрабатываемых данных (например, нельзя пытаться выводить еще не сформированный массив).
В этом задании предполагается решение следующих задач:
- формирование массива Х;
- формирование массива Y как функции Y(X);
- выполнение некоторых действий над массивом Y, вследствие чего получается новый массив YN;
- вывод результата - массивов X,Y и YN - в форме таблицы.

3

Содержание

1. Задание .........................................................................................................3
2. Введение ..............................................................................................................6
3. Описание применения .......................................................................................7
3.1. Назначение программы ...............................................................................7
3.2. Структура программы ..................................................................................8
3.3. Входные данные ...........................................................................................9
3.4. Выходные данные .......................................................................................10
3.5. Алгоритм работы программы ....................................................................11
4. Руководство пользователя ...............................................................................13
5. Руководство программиста...............................................................................15
6. Заключение ........................................................................................................16
Список литературы ............................................................................................17

Вложенные файлы: 1 файл

записка паскаль.docx

— 182.70 Кб (Скачать файл)

Министерство  образования и науки Украины

Национальный  аэрокосмический университет им. Н.Е. Жуковского

«ХАИ»

 

Кафедра информационных технологий проектирования

 

 

 

Название темы: __Генерация массива и  сортировка_______________________________________

 

 

 

 

Пояснительная записка к домашнему заданию  №16(4,2,5)

по дисциплине «Основы программирования и алгоритмические  языки»

 

                                       Номер зачетки

 

 

 

 

 

 

 

 

        Выполнил студент  группы 116

                                     __________________      Санин Э.А.

                                               Подпись, дата                 Ф. И. О.

 

                                                      Проверил старший преподаватель  каф 105

                          ________________         Троценко Н.В.

                                                  Подпись, дата                  Ф. И. О.

 

 

 

 

 

 

 

 

 

 

 

                                                     2013

                                              СОДЕРЖАНИЕ

 

    1. Задание .........................................................................................................3

    2. Введение ..............................................................................................................6

    3. Описание применения .......................................................................................7

       3.1. Назначение  программы ...............................................................................7

       3.2. Структура  программы ..................................................................................8

       3.3. Входные  данные ...........................................................................................9

       3.4. Выходные  данные .......................................................................................10

       3.5. Алгоритм  работы программы ....................................................................11

    4. Руководство  пользователя ...............................................................................13

    5. Руководство программиста...............................................................................15

   6. Заключение ........................................................................................................16

       Список  литературы ............................................................................................17

      

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                           

 

 

                                                       

                                                      2

 

                                            ЗАДАНИЕ

 

          В начале каждого файла, содержащего текст главной программы, процедуры или функции, должны быть указаны в комментариях ФИО разработчика, группа и назначение программы.

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

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

Операторы программ должны быть выделены отступами и пустыми  строками для пояснения алгоритма  и обеспечения наглядности.

Каждая программа должна иметь по крайней мере 4 основных режима работы (и соответственно процедуры, функции), выбираемых посредством меню, например:

           ┌──────────────────────┐

           │ ВВОД ИСХОДНЫХ ДАННЫХ       │

           │ ОБРАБОТКА ДАННЫХ                    │

           │ ВЫВОД РЕЗУЛЬТАТА                    │

           │ ВЫХОД                                               │

           └──────────────────────┘

Меню  может быть реализовано  любым способом - с выбором темы по номеру, с использованием курсора, по функциональным клавишам и т.д.  -  но  обязательно  с использованием функции ReadKey (а не Read или ReadLn).

 

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

   - все вводимые  с клавиатуры данные (размеры  массивов, значения переменных и  т.д.);

   - наличие файлов  исходных данных на диске (если  таковые используются);

   - наличие обрабатываемых  данных (например, нельзя пытаться  выводить еще не сформированный  массив).

                ┌─────────────────────┐

                │  Задания на выполнение  работы   │

                └─────────────────────┘

 

В этом задании предполагается решение следующих задач:

  - формирование массива  Х;

  - формирование массива  Y как функции Y(X);

  - выполнение некоторых  действий над массивом Y, вследствие  чего получается новый массив YN;

  - вывод результата - массивов X,Y и YN - в форме таблицы.

  

                                                            3

 

                         ┌───────────────────────  ┐

                         │   Вариант формирования массива Х      │

                         └──────────────────────  ─┘

 

                            Массив формируется по закону :

 

      x[1]=a; x[2]=a+dx; x[3]=a+2*dx; ... x[N]=b;

     при заданных a,b,N. dx - вычислить по a,b,N.

 

     Значения   a,b,dx,N   вводить   с  клавиатуры  по  запросу с соблюдением условия N>20.

                                  

 

               ┌───────────────────────────────────────┐

               │                   Вариант формирования массива Y                                 │

               └───────────────────────────────────────┘

                  

                Массив формируется по закону  Y=10*sin(x)

 

              ┌────────────────────────────────────┐

              │                      Вариант обработки массива Y                             │

              └────────────────────────────────────┘

 

Из массива У получить массив УN таким образом , чтобы все  положительные элементы расположить  в начале массиве, а все отрицательные - в конце не используя сортировки элементов массива.

 

                        ┌─────────────────────────┐

                        │                   Вывод результатов                    │

                        └─────────────────────────┘

 

                 Вывод результатов выполнить  в форме таблицы:

 

            ┌──────┬─────────────┬──────────────┬─────────────────┐

      │ N п/п │     X       │   Y-исходный │ YN-обработанный │

      ├───────┼─────────────┼──────────────┼─────────────────┤

      │ 1    │    ...      │       ...    │       ...       │

      │ ...  │    ...      │       ...    │       ...       │

      └───────┴─────────────┴──────────────┴─────────────────┘

 

 

В начале таблицы вывести  способ формирования Х и Y и другие необходимые данные вроде a,b,dx в соответствии с вариантом задания и номер  задания.

 

                                                     4

Рамки таблицы "рисовать" с использованием символов псевдографики. Во всех вариантах максимальное и  минимальное значения Y в таблице  выделить инверсным цветом.  

 

 

 

 

                                                                  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                              5

ВВЕДЕНИЕ

В данной пояснительной записке приведено  пояснение к программе со следующим  условием:

  1. Сформировать массив Х, состоящий из чисел, по закону x[1]=a; x[2]=a+dx; x[3]=a+2*dx; ... x[N]=b;
  2. Сформировать массив Y на основе массива Х такой, что Y=10 * Sin(x)
  3. Получить массив YN путём обработки массива Y,а именно переставить элементы массива таким образом, чтобы положительные были в начале массива а отрицательные значения в конце;

Программа выполнена на языке программирования Pascal, при помощи свободно распространённого компилятора Free Pascal.

Важной  особенностью данного компилятора, в отличие, например, от GNU Pascal, является ориентация на распространённые коммерческие диалекты языка: Object Pascal и Delphi.

Free Pascal поддерживает  компиляцию в нескольких режимах,  обеспечивающих совместимость с  различными диалектами и реализациями  языка.

TP — режим  совместимости с Turbo Pascal: совместимость  практически полная, за исключением  нескольких моментов, связанных  с тем, что FPC компилирует программы  для защищённого режима процессора, где невозможно прямое обращение  к памяти, портам и т. д.

FPC —  собственный диалект: соответствует  предыдущему, расширенному дополнительными  возможностями, такими как, например, перегрузка операций.

DELPHI —  режим совместимости с Borland Delphi: включает поддержку классов и  интерфейсов.

OBJFPC —  совмещает объектно-ориентированные  возможности Delphi и собственные  расширения языка.

MACPAS —  режим совместимости с Mac Pascal.

Free Pascal версий  до 2.4 поддерживал также режим  частичной совместимости с GNU Pascal. В последних версиях этого  режима нет, вместо него развивается  (но пока не включается в  документацию) режим совместимости  со стандартом ISO Extended Pascal.

 

 

 

 

 

 

                                                        6

3.1.НАЗНАЧЕНИЕ ПРОГРАММЫ

 

Программа может быть использована в сфере  образования в виде наглядного примера  для решения задачи формирования массивов по определённым законам и  практическом использовании различных циклических, логических и арифметических операторов.

Изменение частей кода программы позволит расширить  сферу использования, к примеру, позволит использовать её для решения  различных проблем, где фигурируют последовательности, зависящие друг от друга по определённым законам  либо условиям.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                         7

3.2.Структура программы


 

 

 



 

 

 



 




 

 



 



 



 

 

 

 

 




 

 

 

 

 

 

 

 

 

 

                                                                     8

3.3. ВХОДНЫЕ ДАННЫЕ

 

Входными  данными являются переменные :

 

            -  a, первый элемент исходного массива Х – тип Double;

            - b, последний элемент массива Х – тип Double;

            - n, размер массива «вопрос-ответ» - тип Integer:

 

                 - а Integer типа, «Введите первый элемент массива (a):»;

        - b  Integer типа, «Введите последний элемент массива (b) :»;

             - n Integer типа, «Введите размер массива (n):»;

 

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

 N > 20.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                      9

3.4. ВЫХОДНЫЕ ДАННЫЕ

Выходными данными являются:

             1) X, массив чисел типа double, состоящий из N1 элементов. Первый элемент массива равен А, а последующие вычисляются по закону X[i+1]:=a+i*dx;

         2) Y, массив чисел типа double, состоящий из N1 элементов и формируется следующим образом y[i] := sin(x[i]);

        3)YN, массив чисел типа double, состоящий из N1, который представляет собой массив Y при условии что положительные числа в начале массива и отрицательные числа в конце.

                 4)Max,Min числа , типа Double которые содержат  максимальное и минимальное значение  У массива (для подсвечивания  при выводе таблицы) 

               5)Таблица , в которой представлен  результат работы программы)          рис «результат программы»

Информация о работе Генерация массива и сортировка