Алгоритмизация и программирование
Слайдов: 39 Слов: 3752 Звуков: 0 Эффектов: 0ЕГЭ информатика. Задание С2. Алгоритм получения. Паскаль. Бейсик. Паскаль. Бейсик. Алгоритм вычисления количества наибольших элементов. Паскаль. Паскаль. Паскаль. Паскаль. Паскаль. Паскаль. Бейсик. Бейсик. Массив, состоящий из 30 целых элементов. Паскаль. Паскаль. Паскаль. С клавиатуры вводят целые числа. Паскаль. Паскаль. Паскаль. Паскаль. Паскаль. На координатной плоскости в точке (0,-5) стоит фишка. Игроки ходят по очереди. Возможный ход. Расстояние от фишки до точки. Кто выиграет при безошибочной игре обоих игроков. Каким должен быть первый ход выигрывающего игрока. - Алгоритмизация и программирование.ppt
Алгоритмизация и языки программирования
Слайдов: 119 Слов: 6056 Звуков: 0 Эффектов: 400Алгоритмизация и программирование. Понятие алгоритма и его свойства. Алгоритм. Разновидности алгоритмов. Свойства алгоритма. Составление алгоритма. Способы описания алгоритмов. Блок-схема. Начало или конец алгоритма. Основные алгоритмические конструкции. Блок-схема вычисления гипотенузы. Разветвляющийся вычислительный процесс. Вариант ветвления. Алгоритм вычисления функции. Циклический вычислительный процесс. Цикл. Цикл с предусловием. Базовые алгоритмы. Заданы три числа a, b, c. Алгоритм Евклида. Вычислить факториал F натурального числа N . Правило произведения. - Алгоритмизация и языки программирования.ppt
Автоматное программирование
Слайдов: 37 Слов: 1019 Звуков: 0 Эффектов: 0Теория автоматов в программировании. Инструментальные средства автоматного программирования. Преподаватели курса. Место и время проведения занятий. Как получить зачет. Виртуальная лаборатория. Написать программу. Цель выполнения курсовой работы. Сайт кафедры. Области применения автоматного программирования. Классификация программ. Критерии применимости. Сущность со сложным поведением. Пример использования. Сложное поведение. Идеи автоматного программирования. Автоматный подход. Основные понятия автоматного программирования. Основные понятия. Свойства состояния системы. - Автоматное программирование.ppt
Метод линейного программирования
Слайдов: 62 Слов: 622 Звуков: 0 Эффектов: 429Линейное программирование. Построение канонической формы. Симплекс-метод. Общая задача линейного программирования. Каноническая задача линейного программирования. Построение. Построение канонической формы 2. Первая геометрическая интерпретация. Графический метод решения. Ситуации, возможные при решении задачи линейного программирования. Рассмотрим задачу. Теорема. Основные теоремы. Теоремы ЛП. Основные теоремы ЛП. Свойства многогранного выпуклого конуса. Теоремы. Геометрическая интерпретация. Вторая геометрическая интерпретация. Базисный план. План. Базисный план-невырожденный. - Метод линейного программирования.ppt
Задачи линейного программирования
Слайдов: 41 Слов: 1482 Звуков: 0 Эффектов: 0Задачи линейного программирования. Линейное программирование. Линейная функция. Совокупность соотношений. Постоянные величины. Экстремум целевой функции. ЗЛП имеет вид. Обозначить переменные. Примеры задач. Задача оптимального распределения ресурсов. План выпуска продукции. Целевая функция. Примеры. Общий фонд рабочего времени. Можно составить систему ограничений. Составим целевую функцию. Максимальное значение. Кефир. Основное оборудование. Прибыль. Решение. Ограничения на время. Общая прибыль. Задача о смесях. Таблица. Стоимость рациона. Математическая постановка задачи. - Задачи линейного программирования.ppt
Технология разработки ПО
Слайдов: 40 Слов: 2183 Звуков: 0 Эффектов: 0Технология разработки программного обеспечения. Структура –функции-coctab. Обобщенная структура системы управления. Состав системы управления. Функции системы управления. Встроенные системы управления. Характеристики техпроцесса. Стандарты разработки ПО. Память программ. Отладка. V-модель разработки ПО. Спиралеобразная модель разработки полного цикла. Классификация способов разработки программного обеспечения. Иерархия методов разработки ПО. Линейный подход. Компонентное программирование. Механизм реализации. Преимущества. Введение в операционные системы. Операционная система. - Технология разработки ПО.ppt
Разработка программных средств
Слайдов: 30 Слов: 726 Звуков: 0 Эффектов: 32Разработка программных средств. Разработка ПО. Системный подход. Свойства объекта. Система. Технологический цикл разработки ПС. Информационные потоки синтеза ПС. Потребность пользователя. Спецификация требований к ПО. Требования спецификации. Типы нефункциональных требований. Слово. Требования. Требования – это жизнь проекта. Качество и требования. Неправильная работа с требованиями. Информационная модель процесса. Управление проектами. Методы проектирования ПО. Модель анализа. Особенности проектирования. Проект ПО. Проектирование ПО. Отличие сложного ПО от программы. - Разработка программных средств.ppt
Проектирование прикладных программ
Слайдов: 28 Слов: 1801 Звуков: 0 Эффектов: 229Шаблоны как средство автоматизации проектирования прикладных программ. Успехи в развитии языков программирования в 60-70 годах прошлого века. Кризис прикладного программирования. Принципиальная схема процесса разработки компьютерных программ. В перспективе разработкой будет заниматься не программист. Достаточно близкое по идее направление. Возможность генерации эффективных прикладных программ. Концепция системы проектирования. 5-летний опыт (в 1971 - 1975 гг.) «ручного» проектирования. Проекты, предлагающие программирование на естественном языке. Концепции генерации прикладных программ. - Проектирование прикладных программ.ppsx
Архитектура программного обеспечения
Слайдов: 26 Слов: 878 Звуков: 0 Эффектов: 0Архитектура программного обеспечения. Понятие архитектуры. Организационная структура. Бритва Оккама. Разделение ответственности. Разделение абстракций. Уровни абстракции. Виды ответственностей. Нефункциональные требования. Cross-cutting concerns. Представление архитектуры. Архитектурные шаблоны. Клиент-сервер. Одноранговая архитектура. Замечания по терминологии. Многоуровневая архитектура. Представление данных и персистентность. Разделение бизнес-логики и интерфейса. Переход. Применение стереотипа subscribe. Расщепление контроллера. Инкапсуляция модели. Hollywood principle. - Архитектура программного обеспечения.ppsx
Тестирование ПО
Слайдов: 32 Слов: 1683 Звуков: 0 Эффектов: 14Виды и методы тестирования. Уровни и виды тестирования. Взаимосвязь разработки и тестирования. Тестирование ПО. Павловская Т.А.. Модульное тестирование. Обнаруживаемые ошибки. Интеграционное тестирование. Методы сборки модулей. Сравнение методов. Недостатки нисходящего тестирования. Недостатки восходящего тестирования. Системное тестирование. Категории тестов системного тестирования. Функциональное тестирование. Регрессионное тестирование. Исправление дефекта. Комбинирование уровней тестирования. Типы дефектов. Приемочное тестирование. Эвристические методы создания тестов. Треугольник. - Тестирование ПО.ppt
Системы программирования
Слайдов: 28 Слов: 918 Звуков: 0 Эффектов: 0Системы программирования. Средства создания программ. Текстовый редактор. Транслятор. Интерпретатор. Компилятор. Редактор связей. Интегрированная система программирования. Отладчик. Среды быстрого проектирования. Интегрированная система. Компонент для набора исходного текста программы. Машинный код. Компонент для перевода исходного текста программы в машинный код. Объектный код. Синтаксис исходной программы. Процесс трансляции. Процесс трансляции всей программы. Система программирования. Единый проект автоматического построения. Выполнение операторов исходной программы. - Системы программирования.ppt
Объектно-ориентированный подход к моделированию
Слайдов: 19 Слов: 707 Звуков: 0 Эффектов: 19Объектно-ориентированный подход к моделированию систем. Понятие объектного подхода. Понятие объектно-ориентированного подхода. Объект. Свойства объекта. Различие между классом и объектом. Принципы ООП. Наследование. Инкапсуляция. Интерфейсная часть. Полиморфизм. Другие принципы ООП. Универсальный язык моделирования. Унифицированный язык моделирования. Вопросы. Диаграммы. Программные продукты. Изученные вопросы. Задание. - Объектно-ориентированный подход к моделированию.ppt
Основы объектно-ориентированного программирования
Слайдов: 35 Слов: 2038 Звуков: 0 Эффектов: 0Основы объектно-ориентированного программирования. Объектно-ориентированный подход. Семантика и прагматика. Определения. Объекты. Каждый объект имеет определенное время жизни. Состояние. Совокупный результат поведения объекта. Поведение. Программа, написанная с использованием ООП. Уникальность. На один объект может указывать несколько ссылок. Классы. Класс - это шаблон поведения объектов определенного типа. Класс Хуман. Инкапсуляция. Открытые члены класса составляют внешний интерфейс объекта. Наследование. 19. Отношение обобщения. Полиморфизм. Пример. - Основы объектно-ориентированного программирования.ppt
Создание класса
Слайдов: 44 Слов: 3434 Звуков: 0 Эффектов: 0Высокоуровневые методы информатики и программирования. Описание классов. Основные пользовательские типы данных. Составные элементы класса. Поля класса. Состояние объектов класса. Размещение полей в памяти программы. Методы класса. Ключевое слово. Размещение описания методов класса и объектов. Методы классов. Методы программы. Описание и вызов метода. Вызов метода. Описание метода. Формальные параметры методов. Модификаторы параметров. Передача произвольного числа параметров. Фактические параметры. Выполнение вызова метода. Перегрузка методов. Специальная переменная класса this. Описание формального параметра. - Создание класса.pptx
Абстрактные классы
Слайдов: 19 Слов: 1256 Звуков: 0 Эффектов: 0Абстрактные классы. Чистая виртуальная функция. Абстрактный класс. Производные классы. Механизм абстрактных классов. Конструктор. Определение функций. Определение функций класса. Программа для иллюстрации работы. Работа с классом. Определим абстрактный класс. Конструктор абстрактного класса. Неабстрактные классы. Конкретный класс. Класс "окружность". Используются все три класса. Чистые виртуальные функции. Окружность. Объект абстрактного класса. - Абстрактные классы.ppt
Отношения между классами
Слайдов: 24 Слов: 1713 Звуков: 0 Эффектов: 0Классы и отношения между ними. Классы. Правила именования классов. Спецификация класса. Спецификация интерфейса. Спецификация объектов. Persistence – определяет время существования объектов класса. Атрибуты класса. Именование атрибутов. Спецификация атрибутов класса. Name – имя атрибута. Initial value – начальное значение атрибута. Операции класса. Взаимодействие объектов. Роли объектов при взаимодействии. Правила именования операций. Спецификация операций класса. Спецификация интерфейса операции. Спецификация для реализации и использования операции. Отношение ассоциации между классами. - Отношения между классами.pps
Переменная
Слайдов: 18 Слов: 500 Звуков: 0 Эффектов: 53Переменная. Определение. Объекты, связанные с переменной. Значение. Значения переменной. Тип переменной. Имя переменной. Упражнения. Описание переменной. Внутреннее представление переменных. Оператор присваивания. Работа оператора присваивания. Нет решений. Арифметические выражения. Арифметические операции. Правила записи арифметических выражений. Стандартные функции. Таблица стандартных функций. - Переменная.ppt
Тип, имя и значение переменной
Слайдов: 11 Слов: 667 Звуков: 0 Эффектов: 0Тип, имя и значение переменной. Переменные предназначены для хранения и обработки данных. Тип переменной. Типы переменных. Имя переменной. Объявление типа переменной. Арифметические, строковые и логические выражения. Арифметические выражения. Строковые выражения. Логические выражения. Присваивание переменным значений. - Тип, имя и значение переменной.ppt
Длинная арифметика
Слайдов: 20 Слов: 2274 Звуков: 0 Эффектов: 0«Длинная» арифметика. Тип в Borland Pascal. Переполнение. Сложение «длинных» чисел. Текст программы сложения «длинных» чисел. Реализация вычитания на языке Pascal. Сравнение чисел. Function compare. Ввод и вывод длинного числа. Вывод. Ввод. Функция sizeof(w). Процедура Fillchar. Пример. Procedure readhuge. Умножение длинного числа на короткое. Деление длинного числа на короткое. Function divide. Умножение двух длинных чисел. Procedure multiplyHuge. -
Мова програмування формальна знакова система, призначена для опису алгоритмів у формі, яка зручна для виконавця (наприклад, компютера). формальна знакова система, призначена для опису алгоритмів у формі, яка зручна для виконавця (наприклад, компютера). Мова програмування визначає набір лексичних, синтаксичних правил, які використовуються при складанні компютерної програми. Вона дозволяє програмісту точно визначити те, на які події буде реагувати компютер, як будуть зберігатись і передаватись дані, а також які саме дії слід виконати над цими даними при різних обставинах.
Скільки всього МП? З часів створення перших компютерів, людство винайшло вже більше ніж 2500 мов програмування. Д Деякими мовами вміє користуватися тільки невелика кількість їх розробників, інші стають відомими для мільйонів людей. Професійні програмісти іноді застосовують у своїй роботі більше десятка різноманітних мов програмування.
Компілюючі мови Мови програмування діляться на два класи компілюючі та інтерпретуючі. Програма на компілюючій мові за допомогою спеціально ї програми компілятора перетворюється у набір інструкцій для даного типу процесора (машинний код) і далі записується у виконуємий файл (файли з розширення com, exe), котрий може бути запущеним на виконання як окрема програма. Іншими словами, компілятор перекладає програму з мови високого рівня на низькорівневу мову, зрозумілу процесору. Програма на компілюючій мові за допомогою спеціально ї програми компілятора перетворюється у набір інструкцій для даного типу процесора (машинний код) і далі записується у виконуємий файл (файли з розширення com, exe), котрий може бути запущеним на виконання як окрема програма. Іншими словами, компілятор перекладає програму з мови високого рівня на низькорівневу мову, зрозумілу процесору.
Інтерпретуючі мови Якщо програма написана на інтерпретуючій мові, то інтерпретатор безпосередньо виконує її текст без попереднього перекладу. При цьому програма залишається на вихідній мові і не може бути запущена без інтерпретатора. Якщо програма написана на інтерпретуючій мові, то інтерпретатор безпосередньо виконує її текст без попереднього перекладу. При цьому програма залишається на вихідній мові і не може бути запущена без інтерпретатора. Можна сказати, що процесор компютера це інтерпретатор машинного кода. Можна сказати, що процесор компютера це інтерпретатор машинного кода.
*** Коротко кажучи, компілятор перекладає програму на машинну мову одразу і цілком, створюючи при цьом окрему програму, а інтерпретатор перекладає її на машинну мову під час виконання програми. Коротко кажучи, компілятор перекладає програму на машинну мову одразу і цілком, створюючи при цьом окрему програму, а інтерпретатор перекладає її на машинну мову під час виконання програми.
Що таке рівень мови програмування? можна виділити наступні рівні МП: * машинні; * машинно-оp і єнтовні (ассемблери); * машинно-незалежні (мови високого рівня). Машинні мови і машинно-ор і єнтовні мови це мови низького рівня, які потребую ть вказівки дрібн их деталей процес у обробки даних. Мови ж високого рівня імітують природні мови, використовуючи деякі слова размовної мови і загальноприйняті математичні символи. Ці мови більш зручні для людей.
Мови високого рівня * процедурні (алгоритмічні) (Basic, Pascal, C та інші), которі призначені для однозначного описания алгоритмів; * логичні (Prolog, Lisp та інші), які орієнтовані не на розробку алгоритма вирішення задачі, а на системний і формальний опис задачі з тим, щоб рішення слідувало з складеного опису; * обєктно-орієнтовнні (Object Pascal, C++, Visual Basic та інші), в основі котрих лежить поняття обєкта, котрий суміщає у собі данні і дії над нами. Програма на обєктно- орієнтованій мові, вирішуючи будь-яку задачу, по суті описує частину світу, яка відноситься до цієї задачі.
Бейcік (BASIC скорочено від англ. Beginner"s All- purpose Symbolic Instruction Code універсальний код символічних інструкцій для поч атківців; англ. basic основний, базовий) с і мейство високорівневих мов програмування. Був разроблений у Мова призначалась для навчання програмуванню і отримала широке розповсюдження у вигляді різноманітних діалектів. Бейcік (BASIC скорочено від англ. Beginner"s All- purpose Symbolic Instruction Code універсальний код символічних інструкцій для поч атківців; англ. basic основний, базовий) с і мейство високорівневих мов програмування. Був разроблений у Мова призначалась для навчання програмуванню і отримала широке розповсюдження у вигляді різноманітних діалектів.
КОБОЛ (COBOL, COmmon Business Oriented Language), мова програмування третього покоління (перша версія в 1959), призначенний, у першу чергу, для разробки бізнес-додатків. Разробітником першого єдиного стандарта Кобола була Грейс Хоппер (бабуся Кобола). Однією з цілей розробітників мови було максимально наблизити конструкції до англійськой мови. КОБОЛ мав прекрасні, для свого часу засоби для роботи з структурами данних і файлами, що забе з печило йому довге життя у бізнес-додатках, принаймні, у США.
Ада (Ada) МП, створена у роках у результаті проекта, прийнятого Міністерством оборони США з ціллю розробити єдину мову програмування для бортових систем управління воєнними обєктами (кораблями, літаками, танками, ракетами, снарядами і т. п.).
Фортран (Fortran) перша реалізована мова програмування високого рівня. Створена у період з 1954 по 1957 роки. Назва Fortran є аббревіатурою від FORmula TRANslator, тобто, перекладач формул. Фортран широко використовується у першу чергу для наукових і інженерних обчислень. Одна з переваг сучасного Фортрана велика кількість написаних на ньому програм і бібліотек підпрограм.
Симула-67 (Simula 67) перша обєктно-ор і єнтовна МП. Була розроблена у кінці 60-х років 20 століття. Ця мова у значній мірі випередила свій час, сучасники (програмісти 60-х років) виявились не готові сприйняти цінність мови Simula 67, і він не витримав конкуренції з іншими мовами програмування (пред усім, з мовою Fortran).
Java обєктно-орієнтовна МП, була розроблена компанією Sun Microsystems у 1991 році і офіційно випущенна 1995 році. Багато хто у нас називают ь мову Ява за аналогією з географічною назвою. З самого початку нова МП наз и валась JaGo (James Gosling) і розробля ла с ь для побутової електроніки, але згодом бу ла пере йменована на Java і ста ла використовуватись для написання додатків і серверного програмного забезпечення.
Алгол 68 (англ. Algol 68 від англ. algorithmic алгоритмічний і англ. language мова), удосконалена у (Алгол-68). Алгол відноситься до мов високого рівня і дозволяє легко перекладати алгебраїчні формули у програмні команди.
Delphi - МП, раніше відома як Object Pascal, розроблена фірмою Borland і початково реалізована у її пакеті Borland Delphi, від котрого і отримав у 2003 році свою теперішню назву. По суті є послідовником мови Pascal з обєктно- орієнтовними розширеннями. З початку мова була призначена виключноно для розробки додатків Microsoft Windows.
Сі (англ. C) стандартизована процедурна МП, розроблена на початку 1970-х років як розвиток мови програмування Бібліотек. Сі була створенна для використання в операційній системі (ОС) UNIX. З тих пір вона була розсортована на багато інших ОС і стала однією з найуживаніших МП. Сі цінять за його ефективність; вона є найпопулярнішою мовою для створення програмного забезпечення. Недивлячись на те, що Сі не розроблялась для новачків, вона активно використовується для навчання програмуванню. У подальшому синтаксис мови Сі став основою для багатьох інших мов.
C# (вимовляється сі-шарп) МП, яка складається з об єктно- орієнтированих і аспектно-орієнтованих концепцій. Розроблен а у роках в компанії Microsoft як основна мова розробки додатків для платформ Microsoft.NET. C# відноситься до сімї мов з C-подібним синтаксисом, з них її синтаксис найбільш близький до С++ і Java. Перейняв він багато чого від своїх попередників мов С++, Delphi, Модула і Smalltalk.
Сі++ (англ. C++) компілююча МП загального призначення. У 1990-х роках ця мова стала однією з найбільш широко розповсюдже них мов програмування загального призначення. При створенні Сі++ намагались зберегти сумісність з мовою Сі. Мова виникла на початку 1980-х років, коли співробітник фірми Bell Laboratories Бьорн Страуструп придумав ряд удосконалень до мови Сі під власні потреби. Назва Сі++ походить від Сі. Сі++ (англ. C++) компілююча МП загального призначення. У 1990-х роках ця мова стала однією з найбільш широко розповсюдже них мов програмування загального призначення. При створенні Сі++ намагались зберегти сумісність з мовою Сі. Мова виникла на початку 1980-х років, коли співробітник фірми Bell Laboratories Бьорн Страуструп придумав ряд удосконалень до мови Сі під власні потреби. Назва Сі++ походить від Сі.
Perl мова програмування. Автор - Ларрі Уолт. Саме слово Perl аббревіатура, котра розшифровується як Practical Extraction and Report Language (практи чна мова звітів, через що спочатку називалась PEARL, але потім буква A загубилась). Талісманом мови Perl є верблюд не надто гарне, проте дуже витривале створіння, здатне виконувати тяжку роботу. Основною особливістю цієї мови вважають його багаті можливості для роботи з текстом. Perl платформа стійкої, перспективної мови програмування. Він використовується для маси проектів у публічних та приватних секторах і широко використовується д ля додатків мережних програм усіх потреб. Perl мова програмування. Автор - Ларрі Уолт. Саме слово Perl аббревіатура, котра розшифровується як Practical Extraction and Report Language (практи чна мова звітів, через що спочатку називалась PEARL, але потім буква A загубилась). Талісманом мови Perl є верблюд не надто гарне, проте дуже витривале створіння, здатне виконувати тяжку роботу. Основною особливістю цієї мови вважають його багаті можливості для роботи з текстом. Perl платформа стійкої, перспективної мови програмування. Він використовується для маси проектів у публічних та приватних секторах і широко використовується д ля додатків мережних програм усіх потреб.
*** Basic прогресував у Visual Basic, Basic прогресував у Visual Basic, Cobol майже не використовується і практично припинив своє існування, можна сказати помер так само як Simula-67 і Algol. Cobol майже не використовується і практично припинив своє існування, можна сказати помер так само як Simula-67 і Algol. Ada раніше використовувалась у робототехніці, зараз замінена мовою С. Ada раніше використовувалась у робототехніці, зараз замінена мовою С. Fortran був першою разповсюдженою мовою високого рівня, зараз також майже помер. Fortran був першою разповсюдженою мовою високого рівня, зараз також майже помер. Java є мовою широкого застосування. Java є мовою широкого застосування.
Язык программирования Язык программирования формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Язык программирования Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами. Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время, как естественные языки используются для общения людей между собой. В принципе, можно обобщить определение «языков программирования» это способ передачи команд, приказов, четкого руководства к действию; тогда как человеческие языки служат также для обмена информацией. Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Компилируемые и интерпретируемые языки Программа на компилируемом языке при помощи специальной программы компилятора преобразуется (компилируется) в набор инструкций для данного типа процессора (машинный код) и далее записывается в исполняемый файл, который может быть запущен на выполнение как отдельная программа. Другими словами, компилятор переводит программу с языка высокого уровня на низкоуровневый язык, понятный процессору. Интерпретатор непосредственно выполняет (интерпретирует) ее текст без предварительного перевода. При этом программа остается на исходном языке и не может быть запущена без интерпретатора. Можно сказать, что процессор компьютера это интерпретатор машинного кода.
Высокоуровневый язык программирования Высокоуровневый язык программирования язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.
Минусы: не позволяет создавать простые и точные инструкции к используемому оборудованию. Программы, написанные на языках высокого уровня, проще для понимания программистом, но менее эффективны, чем их аналоги, создаваемые при помощи низкоуровневых языков.
Первым языком программирования высокого уровня считается компьютерный язык Plankalkül разработанный немецким инженером Конрадом Цузе ещё в период гг. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компилятора для этого языка (1957 г.)
Классы языков программирования Функциональные Императивные Стековые Процедурные Векторного программирования Аспектно- ориентированные Декларативные Динамические Учебные Описания интерфейсов Прототипные Объектно- ориентированные Рефлексивные Логического программирования Параллельного программирования Сценарные (скриптовые) Эзотерические
Функциональные В языках функционального программирования основным конструктивным элементом является математическое понятие функции. Первым, спроектированным функциональным языком стал Лисп. Вариант данного языка широко используется в системе автоматизированного проектирования AutoCAD и называется AutoLISP
Императивные Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга».
Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании
Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней.
Стековый язык Стековый язык программирования (англ. stack-oriented programming language) это язык программирования, в котором для передачи параметров используется машинная модель стека. Этому описанию соответствует несколько языков, в первую очередь Forth и PostScript, а также многие ассемблерные языки (использующие эту модель на низком уровне Java, C#). При использовании стека, в качестве основного канала передачи параметров между словами, элементы языка, естественным образом, образуют фразы (последовательное сцепление). Это свойство сближает данные языки с естественными языками.
Структурное программирование Структурное программирование предполагает точно обозначенные управляющие структуры, программные блоки, отсутствие инструкций безусловного перехода (GOTO), автономные подпрограммы, поддержка рекурсии и локальных переменных. Суть такого подхода заключается в возможности разбиения программы на составляющие элементы.
Декларативный язык программирования Декларативные языки программирования это языки программирования высокого уровня, в которых программистом не задается пошаговый алгоритм решения задачи ("как" решить задачу), а некоторым образом описывается, "что" требуется получить в качестве результата. Механизм обработки сопоставление по образцу декларативных утверждений уже реализован в устройстве языка. Типичным примером таких языков являются языки логического программирования (языки, основанные на системе правил).
Динамические языки программирования Динамический язык позволяет определять типы данных и осуществлять синтаксический анализ и компиляцию «на лету», непосредственно на этапе выполнения. Динамические языки больше подходят для быстрой разработки приложений.
Язык описания интерфейсов IDL, или язык описания интерфейсов (англ. Interface Description Language или Interface Definition Language) язык спецификаций для описания интерфейсов, синтаксически похожий на C++. CORBA IDL Разработан OMG для описания интерфейсов распределенных объектов названий методов и типов переменных-аргументов. Создан в рамках обобщенной архитектуры CORBA. COM IDL Аналогичная CORBA IDL разработка Microsoft, созданная для описания интерфейсов между модулями COM. В общем случае может рассматриваться как подмножество CORBA IDL.
Особенности Наследование. Создание нового класса объектов путем добавления новых элементов (методов). В данный момент ОО языки позволяют выполнять множественное наследование, т. е. объединять в одном классе возможности нескольких других классов. Наследование Инкапсуляция. Сокрытие деталей реализации, которое (при грамотном использовании) позволяет вносить изменения в части программы безболезненно для других её частей, что существенно упрощает сопровождение и модификацию ПО. Инкапсуляция Полиморфизм. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. С понятием «Полиморфизм» тесно связано понятие «Позднего связывания». Полиморфизм Типизация. Позволяет устранить многие ошибки на момент компиляции, операции проводятся только над объектами подходящего типа. Типизация
Прототипное программирование Прототипное программирование стиль объектно-ориентированного программирования, при котором отсутствует понятие класса, а повторное использование (наследование) производится путём клонирования существующего экземпляра объекта прототипа.
Логическое программирование Логическое программирование парадигма программирования, а также раздел дискретной математики изучающий методы и возможности этой парадигмы, основанная на выводе новых фактов из данных фактов согласно заданным логическим правилам. Логическое программирование основано на теории математической логики. Самым известным языком логического программирования является Prolog
Скриптовый язык Скри́птовый язы́к (англ. scripting language, в русскоязычной литературе принято название язык сценариев) язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages или job control languages). Сценарии обычно интерпретируются, а не компилируются (хотя часто сценарии компилируются каждый раз перед запуском).
Эзотерические языки программирования Эзотерические языки программирования вид языков программирования, не предназначенных для практического применения. Образец компьютерного юмора. Эзотерические языки придумываются для развлечения, часто они пародируют «настоящие» или являются абсурдным воплощением «серьёзных» концепций программирования.
Cлайд 1
Cлайд 2
Программирование Разработка программ управления компьютером с целью решения различных задач Программисты Пользователи Системные Системное обеспечение: ОС, утилиты Прикладные Редакторы, табличные процессоры, игры, обучающие программы Язык программирования Фиксированная система обозначений для описания алгоритмов и структур данных Универсальные Паскаль, Бейсик, СИ, Фортран Ориентированные HTMLCлайд 3
Арифметические выражения на языке QB записываются по определенным правилам: Арифметическое выражение записывается в одну строку; Используются специальные знаки арифметических операций и соблюдается следующий порядок действий: Скобки () Возведение в степень ^ (23→2^3) Деление / и умножение * (2:3 → 2/3) Сложение + Вычитание - Десятичные дроби записываются с помощью десятичной точки (1,5→1.5 или 0,03→.03); Нельзя опускать знак умножения (6ab→6*a*b); Число открытых скобок должно быть равно числу закрытых скобок. Арифметическая запись Запись на языке qBasicCлайд 4
Оператор PRINT Оператор PRINT (?) позволяет: Выводить текстовую информацию, заключенную в кавычки, на экран монитора; Например: ? “Привет” Вычислять значения арифметических выражений; Например: ? 5*4-5.6^2 Выводить значения переменных на экран монитора. Например: DAY$=“понедельник” ? DAY$ Вместо слова PRINT можно набирать знак?. PRINT в переводе означает печатать. END – окончание программы.Cлайд 5
Решение задач Вычислить значения выражения (a+b)(2a+1)(b-1) Для a=12, b=7 и a=-31, b=8. Программа. A=12 B=7 PRINT (A+B)*(2*A+1)*(B-1) A= - 31 B=8 PRINT (A+B)*(2*A+1)*(B-1) ENDCлайд 6
Переменная – это область памяти компьютера, где хранится некоторое значение Основные характеристики переменной: Имя; Значение; Тип (числовая, строковая) Каждая переменная имеет свое имя: Имя переменной записывается с помощью латинских букв или букв и цифр; В имени переменной может быть до 40 символов. Например: F, A5, SCHOOL8, SCHOOL8$, BC6A7$ Имена переменных значения переменных тип переменных Числовые переменные Символьная переменная А8 dog4 Sad$ 15 -20,8 молокоCлайд 7
Числовая переменная – это переменная, в которой хранится число. Строковая (символьная) переменная – это переменная, в которой хранится слово или фраза. В конце имени строковой переменной ставится знак доллара $. Значение символьной переменной записывается в кавычках. Операция передачи новых данных в переменную называется присваиванием и обозначается знаком =. Содержимое хранится в переменной до тех пор, пока в эту переменную не будет занесено новое значение Например: А=10 – числовой переменной А присваивается значение, равное 10 B$=«МАМА» - символьной переменной В$ присваивается значение «МАМА» При выполнении программы: Имя переменной не изменяется; Значение переменной может изменяться несколько раз; Если значение переменной не задано, то оно считается равным нулю.Cлайд 8
Оператор INPUT Оператор INPUT вводит значения переменной с клавиатуры в память компьютера. INPUT “подсказка”; имя переменной INPUT в переводе с английского языка означает вставлять, вводить. При встрече с оператором INPUT программа приостанавливает свое действие; на экране появляется знак вопроса?, после которого необходимо набрать на клавиатуре значение переменной, входящей в состав оператора INPUT , нажать клавишу Enter. Оператор INPUT можно использовать для присваивания значений как числовым, так и строковым переменным. Например: INPUT S INPUT “S=“; S INPUT “введи значение S=“; S Оператор CLS очищает экран монитораCлайд 9
Разветвляющийся алгоритм IF условие THEN ветвь да ELSE ветвь нет если тогда иначе Если условие верно, то выполняется оператор или группа операторов, записанная после слова THEN; Если условие неверно, то выполняется оператор или группа операторов, записанная после слова ELSE, затем компьютер приступает к выполнению следующей строки программы; Если слово ELSE отсутствует, то выполняется переход к следующей строке программы. Например: IF x>0 THEN y = x^2 +2 ELSE y = x -6 Условный оператор IF…THEN…ELSECлайд 10
Условие записывается в виде строки отношений: A>B – больше C=Z – больше или равно S1 AND CCлайд 11
Задача Составь программу по заданной блок-схеме начало Ввод х Вывод Y конец Программа CLS INPUT “X=“;X IF X>0 THEN Y=X^3 ELSE Y=X^2 ? “Y=“;YCлайд 12
Чтобы пользоваться предварительным просмотром презентаций создайте себе аккаунт (учетную запись) Google и войдите в него: https://accounts.google.com
Подписи к слайдам:
ВВЕДЕНИЕ В ПРОГРАММИРОВАНИЕ
ОСНОВНЫЕ ПОНЯТИЯ Программирование для компьютера – процесс создания программ управления работой компьютера. Программа – последовательность действий (команд), которую должен выполнить компьютер, чтобы решить задачу по обработке информации.
ОСНОВНЫЕ ПОНЯТИЯ Язык программирования – фиксированная система обозначений и правил для описания программ. Сегодня существуют сотни языков программирования. Их можно разделить на три основных типа: Машинные языки Языки низкого уровня Языки высокого уровня
МАШИННЫЙ ЯЗЫК (ЯЗЫК МАШИННЫХ КОМАНД) Машинный язык (ЯМК) – управляющий код для конкретной машинной операции (команды), определяющий, откуда взять исходные данные и куда поместить результаты выполнения операции. 00101000 00000010 11000000 11000100 11011000 Адрес команды Код операции 1-й адрес 2-й адрес 3-й адрес Исходные данные и команды представлялись в форме двоичного кода Пример: (Сложить два числа и результат занести в 3-й адрес)
ЯЗЫК ПРОГРАММИРОВАНИЯ НИЗКОГО УРОВНЯ Язык программирования низкого уровня - это язык программирования, структура команд которого определяется форматом команд и данных машинного языка, а также архитектурой ЭВМ. Пример: (Сложить два числа и результат занести в 3-й адрес) ADD a, b, c
Ярким представителем языка программирования низкого уровня является язык Ассемблер, который был разработан в 50-е годы прошлого века и позволяет писать программы с использованием специальных обозначений машинных кодов - мнемоники. Ассемблер широко применяется в программах, где необходимо высокое быстродействие. Ассемблеры ориентированы на определенные типы процессоров. Поскольку разные типы ЭВМ имели разные системы команд процессора, то и ассемблеры у них были разные. Поэтому Ассемблер и является машинно-ориентированным языком. Такие программы нельзя переносить для исполнения на другие типы ЭВМ.
ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ Язык программирования высокого уровня - это язык программирования, средства которого допускают описание задачи в наглядном, легко воспринимаемом виде. Каждый язык высокого уровня определяется системой записи и набором правил, определяющих синтаксис. Грубо говоря, это набор слов (словарь) и правил составления предложений.
ПРИМЕРЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Фортран Бейсик Паскаль Си Делфи Ява
Языки программирования высокого уровня освобождают пользователя от программирования в машинных кодах. Однако такую программу не понимает компьютер, ему доступен только машинный язык. Поэтому для трансляции (перевода) программ с языка высокого уровня в машинные коды используются специальные программы – трансляторы.
ТРАНСЛЯТОР Транслятор – программа, которая преобразует (переводит) текст программы в язык машинных команд («0» и «1»). Программа на языке высокого уровня транслятор Программа на языке машинных команд
производит покомандную и выполнение исходной программы преобразует всю программу целиком на машинный язык и потом выполняет
ЗАЧЕМ СТОЛЬКО ЯЗЫКОВ ПРОГРАММИРОВАНИЯ? Для решения одной и той же задачи часто можно использовать несколько различных языков программирования. Для выбора, конечно, можно руководствоваться принципом: какой знаю - на том и пишу. Но есть еще несколько других критериев: 1. Скорость выполнения задачи. 2. Объем памяти, занимаемой исполняемым кодом. 3. Длина (например, в строках) исходного текста. 4. Простота составления программ.
БЕЙСИК (BASIC) Самый демократичный язык в мире. При создании программ на этом языке не требуется обязательное предварительное описание ее элементов, в том числе и типов переменных. А тут и до анархии не далеко. Лучше этими свободами не злоупотреблять. Иначе возможны ошибки, поиск которых при отладке программ - не самое полезное для нервов занятие. Мы будем изучать язык программирования Паскаль!