Центр информатизации образования

Презентация:



Advertisements
Похожие презентации
Предметно - ориентированное программирование Степулёнок Денис Олегович 1.
Advertisements

Работа ученика: Фарида Бахрамлы 9R4 класса Лицея имени Зарифа Алиевой.
Язык программирования. Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет.
ЯЗЫКИ И ВЕБ ПРОГРАММИРОВАНИЯ Выполнил группы П-303 Юлдашев Ибрагим Министерство общего и профессионального образования Свердловской области Государственное.
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
«Программное обеспечение и операционная система».
1 Тема 1.7. Алгоритмизация и программирование Информатика.
Операционная система. 1. Как компьютер обрабатывает информацию? 2. Язык, на котором «думает» компьютер – какой он? 3. Как вы думаете: есть ли такая профессия,
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА КОМПЬЮТЕР КАК УНИВЕСАЛЬНОЕ УСТРОЙСТВО ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ Информатика и ИКТ.
1 Компьютерная модель и исполнители. 2 Модели задач С моделями задач вы имеете дело ежедневно, ежечасно и даже ежеминутно. Но до сих пор вы, возможно,
Программа Виды программ Языки программирования. ПК – это электронный прибор, предназначенный для автоматизации создания, хранения, обработки и передачи.
Этапы решения задач на компьютере 1. Постановка задачи. 2. Построение математической модели. 3. Составление алгоритма. 4. Запись алгоритма на языке программирования(кодирование)
Программное и аппаратное обеспечение. Программное обеспечение (ПО, software) Классификация ПО по назначению: –системное; –прикладное; –инструментальное.
П рограммное обеспечение (англ. software) – это совокупность программ, обеспечивающих функционирование компьютеров и решение с их помощью задач предметных.
Тема 1.3. Сервисное программное обеспечение. 1. Понятие операционного окружения Операцио́нное окруже́ние (англ. operating environment) среда, в которой.
Цель проекта: Просмотрев презентацию, вы узнаете: Что такое Исполнитель; Что означает понятия программы и программирования; Как классифицируется программное.
Автор: Евтина М. Г.1 Структура программного обеспечения компьютера.
ПОНЯТИЕ ПРОГРАММЫ, ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.. Программа - составленная на понятном компьютеру языке точная и подробная последовательность инструкций;
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА КОМПЬЮТЕР КАК УНИВЕСАЛЬНОЕ УСТРОЙСТВО ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ Информатика и ИКТ.
Транксрипт:

Центр информатизации образования

Задача Освещение города

Задача размещения базовых станций (3D оптимизация) Проект проводился нашими выпускниками в компании Motorola. Цели: При данном числе станций, заданном рельефе и т.д., определить максимальное возможное покрытие. Минимизация числа станций при заданном покрытии. В результате были разработаны инструменты.

Сайт: Дистанционный Конкурс-игра «КИО» (Конструируй, Исследуй, Оптимизируй) Каждый год, конец февраля – начало марта Задания двух уровней: – I уровень до 7 класса включительно, – II уровень 8–11 классы, студенты колледжей, техникумов и младших курсов университетов. 3 задачи, для решения которых нужно проявить изобретательность и смекалку. Для работы с задачами выдаётся специальное программное обеспечение. Каждая задача допускает много разных решений, а участники сравниваются по тому, насколько их решение оптимальнее решений других участников.

Разнообразие языков программирования Уже создано > 8500 языков программирования и каждый год появляются новые. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.

Парадигмы программирования Архитектура машины, ассемблер Формула-ориентированные (FORTRAN) Процедурное, структурное программирование Объектно-ориентированное программирование Языково-ориентированное программирование Настоящее время

Парадигмы программирования Машинный код, ассемблер, ориентация на архитектуру вычислительной машины Компиляция формул (FORTRAN), вычисления Процедурное, структурное программирование Объектно-ориентированное программирование Языково-ориентированное программирование Компьютера Человека Удобно для … Естественно для …

Программист как преобразователь контекста

Классификация ПОЯ ПОЯ могут быть: графическими (процесс программирования – «рисование» схемы в специальном редакторе); текстовыми (программирование – составление текста на некотором формальном языке). Кроме того, ПОЯ можно разделить на: статические – языки, в которых не важно, в каком порядке программист рисует элементы схемы или составляет текст программы; динамические – имеет значение порядок действий (например, в Geometer's Sketchpad последовательность геометрического построения задаёт алгоритм).

Geometers Sketchpad

При создании ПОЯ нужно разработать не только сам язык, но и среду программирования (IDE), удобный редактор кода, отладчик, профилировщик и т.д. Тут возможно несколько подходов.

Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие: Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.инструкций вычислительного процесса устройствами Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время, как естественные языки используются для общения людей между собой. В принципе, можно обобщить определение «языков программирования» это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат для обмена информацией, эмоциями и т.д.естественных языковкоманд Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений. структурами данных

Использовать достаточно гибкий существующий универсальный Язык Программирования (C#, Java, Python) и добавить предметно-ориентированные возможности при помощи библиотеки компонентов (Frameworkа); Использовать существующую систему для создания предметно-ориентированных языков (Meta Programming System от JetBrains или DSL от Microsoft – позволяет рисовать графические схемы и генерировать по ним код); Использовать среду программирования, в которой синтаксические конструкции языка можно модифицировать (настраивать процесс компиляции на определенную предметную область). Например, среда Phoenix, дополнение к компиляторам.Net; Создать собственный ЯП с компилятором, отладчиком и т.д. Для генерации лексического анализатора можно использовать продукты lex и yacc;lexyacc

Схема работы «Журнала в журнале»

Сайт Журнал в Журнале

Пример: Создание иконки

Требования к ПО Функциональность: программа должна выполнять ожидаемые функции. Функции нужно реализовывать в порядке их необходимости заказчику, чтобы это сделать, необходимо «вникнуть» в предметную область и определить, что действительно важно заказчику; выделить главные, вспомогательные и второстепенные функции. Надежность: необходимо обеспечить минимум ошибок, сбоев, защиту информации от непреднамеренной порчи. Программа должна разумно реагировать на ввод пользователем любых данных, иначе пользователи будут «бояться» ошибиться, что, как минимум, замедлит их работу с системой. Кроме того, программы, предназначенные для работы в компьютерных сетях, требуют защиты от разного рода вирусных и хакерских атак, – программа должна проверять все входящие данные, особенно тщательно те, которые приходят по сети. Удобство: программа должна иметь интуитивно-понятный интерфейс, удобный для пользователя. Нужно минимизировать количество действий, необходимых пользователю для выполнения задачи, но не в ущерб понятности самих действий. Эффективность: программа должна эффективно использовать память, процессор, «жёсткий» диск и другие ресурсы системы. В особых случаях (когда «медлительность» системы критична) это требование становится едва ли не самым важным, важнее надёжности, но чаще оно менее существенно, чем сопровождение. Сопровождение: программа должна быть понятной, гибкой и «простой в сопровождении, переносе на новые платформы и развитии» - это требование программистов, в отличие от предыдущих, которые являются требованиями заказчиков, пользователей. Удобство сопровождения, как правило, находится в противоречии с эффективностью и для большинства программ более важно. Понятность программы позволяет быстро её развивать, добавлять новые функции, исправлять ошибки.

Проектирование DSL Создание языка предметной области начинается с этапа моделирования данных - той информации, которая будет впоследствии записана в терминах DSL.

Программирование на языке общего назначения

Программирование на основе ПОЯ

При создании ПОЯ (чтобы им пользовались) нужно разработать не только сам язык, но и среду программирования (IDE), удобный редактор кода, отладчик, профилировщик и т.д. И тут может быть несколько подходов…

Интерфейс учителя

Интерфейс ученика

Разбиение системы на модули

Элементы редактора

Редакторы

Geometers Sketchpad (Графический язык)

Использовать достаточно гибкий существующий универсальный Язык Программирования (C#, Java, Python) и добавить предметно-ориентированные возможности при помощи библиотеки компонентов (Frameworkа); Использовать существующую систему для создания предметно-ориентированных языков (Meta Programming System от JetBrains или DSL от Microsoft – позволяет рисовать графические схемы и генерировать по ним код); Использовать среду программирования, в которой синтаксические конструкции языка можно модифицировать (настраивать процесс компиляции на определенную предметную область). Например, среда Phoenix, дополнение к компиляторам.Net; Создать собственный ЯП с компилятором, отладчиком и т.д. Для генерации лексического анализатора можно использовать продукты lex и yacc;lexyacc

В основе решения этих задач лежит математический аппарат Факультет Компьютерных Технологий и Информатики предоставляет базовое образование, которое позволит вам погружаться в любые прикладные задачи. Ваше математическое образование будет востребовано на прикладных задачах. Мы – прикладные математики!