Слайд 1Решение задач с использованием ПК
ЛЕКЦИЯ №5
Слайд 2План лекции
Решение задач на ЭВМ
Этапы создания программных средств
Языки программирования
Компиляторы и
интерпретаторы
Уровни языков программирования
Поколения языков программирования
Языки программирования высокого уровня
Языки программирования баз
данных
Языки программирования для Интернета
Интегрированные системы программирования
Среды быстрого проектирования
Архитектура программных систем
Объектно-ориентированное программирование
Проектирование программ
Использование универсальных пакетов
Системы обработки данных
Слайд 3Решение задачи на ЭВМ
Решение задачи на ЭВМ — это процесс
получения информации на основе обработки исходных данных с помощью программы,
составленной из команд системы управления вычислительной машины.
Сама программа представляет собой формализованное описание последовательности действий определенных устройств ЭВМ в зависимости от конкретного характера задачи и набора ее исходных данных.
Слайд 4Решение поставленной задачи
часть или вся задача решается с использованием языка
программирования;
задача разрешима в рамках стандартного пакета;
задача решается с использованием нескольких
стандартных пакетов с трансляцией результатов из пакета в пакет.
Слайд 5Программно-инструментальные средства
алгоритмические языки программирования;
пакеты с языковыми средствами программирования в их
среде (макроязыками);
электронные таблицы с соответствующими средствами их настройки;
среды обработки данных
и создания программ;
Слайд 6Этапы создания программных средств
В зависимости от специфических особенностей конкретной задачи
(ее вычислительной и логической сложности, состава и структуры исходной, промежуточной
и результатной информации и т.п.), профессионального уровня подготовки специалистов и ряда других факторов, этапы технологического процесса создания программ могут быть объединены в этапы
Слайд 7Постановка задачи
формулируется ее цель;
определяется взаимосвязь с другими задачами;
указывается периодичность
ее решения;
устанавливаются состав и формы представления входной, промежуточной и
результатной информации;
характеризуются формы и методы контроля достоверности информации на ключевых этапах решения задачи;
специфицируются формы взаимодействия пользователя с ПК в ходе решения задачи и т.п.
Слайд 8Этап подготовки решения задач на ЭВМ
Слайд 9Алгоритм и программа
Алгоритм — это точно определенное описание способа решения
задачи в виде конечной (по времени) последовательности действий. Такое описание
еще называется формальным.
Для представления алгоритма в виде, понятном компьютеру, служат языки программирования.
Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы
Слайд 10Словесный способ описания алгоритма
отражает содержание выполняемых действий средствами естественного
языка.
К достоинствам этого способа описания следует отнести его общедоступность,
а также возможность описывать алгоритм с любой степенью детализации.
Недостатками способа являются достаточно громоздкое описание
Слайд 11Формульно-словесный способ описания алгоритма
основан на записи содержания выполняемых действий
с использованием изобразительных возможностей языка математики, дополненного необходимыми пояснениями средствами
естественного языка.
Данный способ, обладая всеми достоинствами словесного способа, более лаконичен, а значит, и более нагляден.
Слайд 12Графический способ описания алгоритма
представляет собой изображение логико-математической структуры алгоритма,
при котором все этапы процесса обработки информации отображаются с помощью
установленного набора геометрических фигур (блоков), имеющих строго определенную конфигурацию в соответствии с приписанным им характером выполняемых действий (например, вычислением, вводом-выводом информации, проверкой логических условий и т.п).
Слайд 13Составление программ (кодирование)
является завершающим этапом технологического процесса разработки программных средств.
Он предшествует началу непосредственно машинной реализации алгоритма решения задачи.
Процесс
кодирования заключается в переводе описания алгоритма на один из доступных для ПК языков программирования.
В процессе составления программы для ПК конкретизируются тип и структура используемых данных, а последовательность действий, реализующих алгоритм, отражается посредством конкретного языка программирования.
Слайд 14Этап тестирования и отладки
Оба эти процесса функционально связаны между собой,
хотя их цели несколько отличаются друг от друга.
Цель тестирования
заключается в выявлении ошибок в разработанных программах на заранее подготовленном наборе контрольных примеров.
Процессу тестирования сопутствует понятие «отладка», которое подразумевает совокупность действий, направленных на устранение ошибок в программах, начиная с момента обнаружения фактов ошибочной работы программы и завершая устранением причин их возникновения.
Слайд 15Программа считается отлаженной, если она безошибочно выполняется на достаточно представительном
наборе тестовых данных, обеспечивающих проверку всех ее участков (ветвей).
Процесс тестирования
и отладки программ носит итерационный характер и считается одним из наиболее трудоемких этапов процесса разработки программ. По оценкам специалистов, он может составлять от 30 до 50% в общей структуре затрат времени на разработку проектов и зависит от объема и логической сложности разрабатываемых программных комплексов.
Слайд 16Программа
это логически упорядоченная последовательность команд, необходимых для управления компьютером (выполнения
им конкретных операций), поэтому программирование сводится к созданию последовательности команд,
необходимой для решения определенной задачи.
Слайд 17Компиляторы
С помощью языка программирования создается не готовая программа, а только
ее текст, описывающий ранее разработанный алгоритм.
Чтобы получить работающую программу,
надо этот текст перевести в машинный код (для этого служат программы-компиляторы) и затем использовать отдельно от исходного текста,
Слайд 18Интерпретаторы
Интерпретатор берет очередной оператор языка из текста программы, анализирует его
структуру и затем сразу исполняет (обычно после анализа оператор транслируется
в некоторое промежуточное представление или даже машинный код для более эффективного дальнейшего исполнения).
Только после того как текущий оператор успешно выполнен, интерпретатор перейдет к следующему. При этом, если один и тот же оператор должен выполняться в программе многократно, интерпретатор всякий раз будет выполнять его так, как будто встретил впервые.
Слайд 19Уровни языков программирования
Если язык программирования ориентирован на конкретный тип процессора
и учитывает его особенности, то он называется языком программирования низкого
уровня. Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора.
Языком низкого уровня является язык ассемблера, который просто представляет каждую команду машинного кода
Слайд 20Языки программирования высокого уровня
Особенности конкретных компьютерных архитектур в них
не учитываются, поэтому создаваемые программы на уровне исходных текстов легко
переносимы на другие платформы, для которых создан транслятор этого языка.
Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, а ошибок при создании программ допускается гораздо меньше.
Слайд 21Языки программирования высокого уровня
Basic (Бейсик). Для этого языка имеются и
компиляторы, и интерпретаторы, а по популярности он занимает первое место
в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.
С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора.
Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Благодаря наличию множества Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика.
Слайд 22Языки программирования баз данных
Эта группа языков отличается от алгоритмических языков,
прежде всего, решаемыми задачами.
База данных — это файл (или
группа файлов), представляющий собой упорядоченный набор записей, имеющих единообразную структуру и организованных по единому шаблону (как правило, в табличном виде).
База данных может состоять из нескольких таблиц. Удобно хранить в базах данных различные сведения из справочников, картотек, журналов бухгалтерского учета и т.д.
Слайд 23Операции БД
создание/модификация свойств/удаление таблиц в базе данных;
поиск, отбор, сортировка информации
по запросам пользователей;
добавление новых записей;
модификация существующих записей;
удаление существующих записей.
Слайд 24Языки моделирования
При создании программ и формировании структур баз данных нередко
применяются формальные способы их представления — формальные нотации, с помощью
которых можно визуально представить таблицы баз данных, поля, объекты программы и взаимосвязи между ними в системе, имеющей специализированный редактор и генератор исходных текстов программ на основе созданной модели.
Такие системы называются CASE-системами
Слайд 25Информационные технологии моделирования определяют информационное, программное и техническое обеспечение.
В
большинстве случаев информационные технологии моделирования основаны на методах структурного преобразования
экономических показателей, используемых в экономико-математических моделях.
Показатели представлены в документах, соответствуют хранимой информации БД.
В последнее время возникла новая информационная технология - OLAP-технология (On-Line Analytical Processing), обеспечивающая оперативный анализ данных различных источников.
Слайд 26Языки программирования для Интернета
Такие языки называют скрипт-языками.
HTML. Общеизвестный язык для
оформления документов. Он очень прост и содержит элементарные команды форматирования
текста, добавления рисунков, задания шрифтов и цветов, организации ссылок и таблиц. Все Web-страницы написаны на языке HTML или используют его расширения.
VRML. В 1994 году был создан язык VRML для организации виртуальных трехмерных интерфейсов в Интернете. Он позволяет описывать в текстовом виде различные трехмерные сцены, освещение и тени, текстуры.
Слайд 27Интегрированные системы программирования
для создания программы нужны:
текстовый редактор;
компилятор;
редактор связей;
библиотеки функций.
Слайд 28интегрированная система включает в себя и специализированный текстовый редактор, причем
почти все этапы создания программы в ней автоматизированы
Процесс компиляции обычно
демонстрируется на экране: показывается, сколько строк исходного текста откомпилировано, или выдаются сообщения о найденных ошибках.
Слайд 29Среды быстрого проектирования
Визуальный подход..
Процесс автоматизирован в средах быстрого проектирования
(Rapid Application Development, RAD-среды). Все необходимые элементы оформления и управления
создаются и обслуживаются не путем ручного программирования, а с помощью готовых визуальных компонентов, которые с помощью мыши «перетаскиваются» в проектируемое окно. Их свойства и поведение затем настраиваются с помощью простых редакторов, визуально показывающих характеристики соответствующих элементов. При этом вспомогательный исходный текст программы, ответственный за создание и работу этих элементов, генерируется RAD-средой автоматически, что позволяет сосредоточиться только на логике решаемой задачи.
В результате программирование во многом заменяется на проектирование — подобный подход называется еще визуальным программированием.
Слайд 30Архитектура программных систем
информационные комплексы (например, система автоматизации предприятия) состоят из
десятков и сотен отдельных программ, которые взаимодействуют друг с другом
по сети, выполняясь на разных компьютерах.
В таких случаях говорят, что они работают в различной программной архитектуре.
Слайд 31Приложения в файл-серверной архитектуре
Компьютеры объединены в сеть, при этом на
каждом из них (на клиентском месте) запущены копии одной и
той же программы, которые обращаются за данными к серверу — специальному компьютеру, который хранит файлы, одновременно доступные всем пользователям (как правило, это базы данных).
Слайд 32Приложения в клиент-серверной архитектуре
сервер, помимо простого обеспечения одновременного доступа к
данным, способен еще выполнять программы (обычно выполняются СУБД — тогда
сервер называется сервером баз данных), которые берут на себя определенный объем вычислений (в файл-серверной архитектуре он реализуется полностью на клиентских местах).
Слайд 33Объектно-ориентированное программирование
Реальные объекты обладают тремя базовыми характеристиками: они имеют набор
свойств, способны разными методами изменять эти свойства и реагировать на
события, возникающие как в окружающем мире, так и внутри самого объекта.
Именно в таком виде в языках программирования и реализовано понятие объекта, как совокупности свойств (структур данных, характерных для этого объекта), методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и которые приводят, к изменению свойств объекта.
Слайд 34Коммерческое ПО
При создании программного продукта издатель, выполнив анализ рынка, заказывает
у исполнителя разработку такого ПО, которое должно пользоваться на рынке
спросом, и выделяет на его создание деньги.
По окончании работ издатель получает все имущественные права на созданный продукт (право на тиражирование, продажу под собственной торговой маркой, право на получение дохода от программы любым способом).
Слайд 35Условно-бесплатное ПО
предоставляется возможность получения ознакомительных версий их программ (демонстрационных или
имеющих искусственные ограничения) через Интернет.
Если эта программа нравится, он оплачивает
небольшую сумму и получает полную работоспособную версию
Слайд 36Бесплатное ПО
Такие программы не имеют никаких ограничений, однако автор может
попросить заплатить ему некоторую сумму, не настаивая, впрочем, на этом
(это метод freeware).
Некоторые программы авторы называют «общественным достоянием» (public domain), ничего взамен не требуют и нередко распространяют такое ПО в исходных текстах.
Слайд 37Системы обработки данных
Одной из основных областей применения ПК являются математические
и научно-технические расчеты.
Широкую известность и заслуженную популярность приобрели интегрированные
системы для автоматизации математических расчетов класса MathCAD, разработанные фирмой MathSoft