Алгоритмизация_и_программирование. Алгоритмизация и программирование План
Скачать 1.51 Mb.
|
Установка цветов:Установка цветов: COLOR C1, C2 где C1 – номер цвета символов, C2 – номер фона. Отдельный пиксель можно “зажечь” заданным цветом любой из двух универсальных команд: PRESET (x, y) [, C ] PSET (x, y) [, C ] Номер цвета пикселя с возвращает оператор POINT (x, y) где x и y – координаты пикселя. Координаты выводимого текста можно указать с помощью команды LOCATE x, y где x, y – координаты курсора. Например: A = 48 LOCATE 12, 44 PRINT “A=”; a; ‘ На экране: А = 48 Графические примитивыГрафические примитивы LINE (x1, y1) – (x2, y2), C [, x] Если параметр x опущен, оператор LINE вычерчивает линию цветом C с координатами x1, y1 (начало линии) и x2, y2 (конец линии). Если указан параметр x, вычерчивается прямоугольник, причем x1, y1 – координаты левого верхнего угла прямоугольника, x2, y2 – координаты правого нижнего угла. При x = B вычерчивается контур прямоугольника, при x = BF – закрашенный (цветом С) прямоугольник. Например: LINE (60, 110) – (260, 60), 14 ‘ Линия LINE (140, 120) – (300, 220), 6, B ‘ Прямоугольник LINE (380,60) – (580, 180), 4, BF ‘ Закрашенный прямоугольник CIRCLE (x, y), r, C, [, f1, f2, e] x, y - координаты центра окружности (или эллипса) r - радиус окружности или эллипса (в точках). Если последние три параметра опущены, цветом С рисуется окружность. Если вы хотите нарисовать дугу, укажите f1 и f2 – значения углов в радианах, определяющих начало и конец дуги. Углы отсчитываются против часовой стрелки. Если вы хотите нарисовать эллипс, укажите е – отношение вертикальной оси эллипса к горизонтальной. Например: CIRCLE (110, 340), 60, 14 ‘окружность CIRCLE (220, 340), 50, 6, 0, 1.57 ‘дуга CIRCLE (390, 340), 60, 2, , , .6 ‘эллипс PAINT (x, y), C1, C2PAINT (x, y), C1, C2 - закрашивает замкнутую область цветом С1. x, y - координаты любой точки, которая находится внутри области; С2 – цвет границы замкнутой области. VIEW (x1,y1) – (x2,y2) [, c1, c2] - выделяет на экране прямоугольную область, “окно”; (x1,y1), (x2,y2) – координаты верхнего левого и правого нижнего углов. с1 – цвет заливки; с2 – цвет контура. WINDOW (xa, ya) – (xb, yb) задает в окне привычную декартову систему координат; (xa,ya) и (xb,yb) – предельные значения x и y в окне. 8. Классификация и обзор языков программированияЯЗЫКИ ПРОГРАММИРОВАНИЯ Процедурные (императивные) - проблемно-ориентированные; - универсальные Объектно-ориентированные - объектные; - визуальные Декларативные - функциональ- ные; - логические Процедурные языки при решении задачи требуют в той или иной форме явно записать порядок (процедуру) этого решения. Проблемно-ориентированные языки: Fortran (FORmula TRANslation) - предназначен для решения научно-технических задач; Cobol (COmmon Business Oriented Language - общепринятый деловой язык) - компилируемый язык для решения экономических задач. Basic (Beginners All-purpose Symbolic Instruction Code - универсальный символический код для начинающих) - для решения небольших вычислительных задач в диалоговом режиме. Универсальные языки:Универсальные языки: PL/1 (Programming Language One) - первый многоцелевой универсальный язык. Pascal - учебный язык программирования, создан в 1968-1971 гг. Никлаусом Виртом. Ada - предназначен для создания и длительного сопровождения больших программных систем, управления процессами в реальном масштабе времени. С - был разработан в лаборатории Bell для реализации операционной системы UNIX в начале 70-х гг. С+, Modula. Декларативные языки построены на описании данных и искомого результата (определяют что надо вычислить, а не как это сделать, в отличие от процедурных). В функциональном (аппликативном) программировании программа представляет собой последовательность описаний функций и выражения, которые необходимо вычислить. Лисп (LISP, LISt Processing — обработка списков) - создан в 1959 г. Джоном Маккарти, ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации. РЕФАЛ, Haskell. Логическое (реляционное) программирование основано на символической логике. Пролог (PROLOG, PROgramming in LOGic — программирование в терминах логики) - язык искусственного интеллекта, создан в 1973 г. французским ученым Аланом Кольмероэ Mercury, KLO. Объектно-ориентированные языки. Основная идея: «объект = данные + процедуры (методы)» Объект - это совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств). Свойство характеризует объект и его параметры. Все объекты наделены определенными свойствами, которые в совокупности и выделяют (определяют) его. Методом называют набор допустимых действий над объектом или его свойствами. Событие - это характеристика изменений состояния объекта. Классом называют совокупность объектов, характеризующихся общностью свойств и применяемых к ним методов обработки. Любой созданный объект становится экземпляром класса. Полиморфизм - возможность использования методов с одинаковыми именами для обработки данных разных типов. Важнейшие принципы объектного подхода: инкапсуляция и наследование. Инкапсуляция – объединение данных и свойственных им процедур (методов) обработки в одном объекте. Наследование предусматривает создание новых классов на базе существующих, что дает возможность классу-потомку иметь (наследовать) все свойства класса-родителя. C++ - компактная компилирующая система, была разработана в начале 80-х гг. в лаборатории Bell корпорации AT&T. Java – язык интерпретирующего типа, был создан компанией Sun в начале 90-х годов на основе Си++. Системы визуального программирования имеют интерфейс, позволяющий при составлении текста программы видеть те графические объекты, для которых она пишется. Visual Basic, Delphi, C++ Builder, Visual C++. VBA(Visual Basic for Application) является общей языковой платформой для приложений Microsoft Office, служит для написания макросов — программ, предназначенных для автоматизации выполнения многих операций. Языки программирования баз данных Имеют функциональное назначение. Для обработки больших массивов информации и выборки записей по определенным признакам в начале 70-х гг. был создан структурированный язык запросов SQL (Structured Query Language). Практически в каждой СУБД имеется свой универсальный язык, ориентированный на ее особенности. В Oracle имеется встроенный язык PL/SQL, в Informix — INFORMIX 4GL, в Adabas - Natural и т.д. Языки программирования для компьютерных сетей (скрипт-языки) являются интерпретируемыми: HTML (Hyper Text Markup Language) — универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet; разработан британским учёным Тимом Бернерсом-Ли в 1991—1992 г. в Швейцарии. Perl - предназначен для эффективной обработки больших текстовых файлов, разработал в 80-х гг. Ларри Уолл. Tcl/Tk - ориентирован на автоматизацию рутинных операций и состоит из мощных команд, выполняющих обработку нетипизированных объектов, разработал в конце 80-х гг. Джон Аустираут VRML. Язык моделирования виртуальной реальности, создан в 1994 г. Сейчас VRML вытесняется форматом X3D. Языки моделирования При моделировании систем применяются формальные способы их описания — формальные нотации, с помощью которых можно представить объекты и взаимосвязи между ними в системе. Такие системы называют CASE-системами. 9. Методы проектирования программалгоритмическое программирование; структурное проектирование (проектирование на основе потоков данных); объектно-ориентированное проектирование. Алгоритмическое программирование Текст программы представляет собой линейную последовательность операторов присваивания, цикла и условных операторов. В основе структурного проектирования лежит целенаправленное структурирование задачи на отдельные составляющие. Типичными методами структурного проектирования являются: структурное программирование; нисходящее проектирование; модульное программирование; событийно-ориентированное программирование. Структурное программирование основано на модульной структуре программного продукта и типовых управляющих структурах алгоритмов обработки данных (линейная, ветвление, цикл). Структура программы должна отражать структуру решаемой задачи. Для этого используют подпрограммы — набор операторов, выполняющих нужное действие и независящих от других частей исходного кода. Наличие подпрограмм позволяет вести разработку программ «сверху вниз»; такой подход называется нисходящим проектированием. Модульное программирование базируется на использовании логически взаимосвязанной совокупности функциональных элементов (модулей). Принципы модульного программирования во многом сходны с принципами нисходящего проектирования. Событийное программирование является развитием идей нисходящего проектирования; оно основано на определении и постепенной детализации реакции программы на различные события. Объектно-ориентированное программирование Эта технология разработки программных продуктов объединяет данные и процессы их обработки в новые логические сущности - объекты, каждый из которых может наследовать характеристики (методы и данные) других объектов, обеспечивая тем самым повторное использование программного кода. Такой принцип конструирования программ называют восходящим программированием. 10. Жизненный цикл программного обеспеченияЖизненный цикл программного обеспечения – это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации. Этапы, характерные для решения большинства задач с помощью компьютера: 1) Постановка задачи: сбор информации; формулировка условий; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных. 2) Этап формализации: анализ и исследование задачи (модели); анализ существующих аналогов; анализ технических и программных средств; разработка математической модели; разработка структур данных. Моделирование – создание и исследование модели, замещающей оригинал. Модель - это новый объект, который отражает некоторые существенныестороны изучаемого объекта. Различают модели:Различают модели: детерминированные (в системах отсутствуют случайные воздействия) и стохастические (в системах присутствуют вероятностные воздействия); предметные (материальные) и знаковые (информационные); статические (описывающие систему в определенный момент времени) и динамические (рассматривающие поведение системы во времени). В свою очередь, динамические модели подразделяют на дискретные, (в которых все события происходят по интервалам времени), и непрерывные (все события происходят непрерывно во времени). Информационная модель (в общем случае) – это описание объекта моделирования. Формализация – это замена реального объекта или процесса его формальным описанием, т.е. информационной моделью. Формы информационных моделей: вербальные (словесные, описательные), графические, табличные, математические, формально-логические. Уровни информационных моделей:Уровни информационных моделей: концептуальная модель– обеспечивает интегрированное представление о предметной области (технологические карты, план производства); имеет слабо-формализованный характер логическая – формализуется из предыдущей (к.м.) путем выделения конкретной части, ее детализации и формализации математическая модель – л.м., формализующая на языке математики взаимосвязи в выделенной предметной области. 3) Разработка алгоритма: выбор метода решения задачи; выбор формы записи алгоритма; проектирование алгоритма. 4) Программирование: выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке. 5) Тестирование и отладка программы: синтаксическая отладка; отладка семантики и логической структуры; тестовые расчеты и анализ результатов тестирования; совершенствование программы. Когда программа закончена (готова работоспособная альфа-версия), она поступает на тестирование Тестирование - проверка правильности работы программы в целом, либо ее составных частей. Отладка - это процесс поиска и устранения ошибок (синтаксических и логических) в программе, производимый по результатам ее выполнения на компьютере. 6) Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5. 7) Сопровождение программы: ее доработка для решения конкретных задач, а также составление технической документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию. Сопровождение программы - документация и инструкция по эксплуатации программы. |