Программирование Лекция 1

Содержание

Слайд 2

I. История развития вычислительной техники Чарльз Бэббидж (1791-1871) Разностная машина (1822,

I. История развития вычислительной техники

Чарльз Бэббидж
(1791-1871)

Разностная машина (1822, 1843-1891)
Вычисление логарифмических и

тригонометрических таблиц разностными методами.
Аналитическая машина (1834-1864)
Фактически построена в 1941 инженерами IBM
Слайд 3

I.2 Вычислительные машины Бэббиджа Малая вычислительная машина Большая вычислительная машина Аналитическая

I.2 Вычислительные машины Бэббиджа

Малая вычислительная машина

Большая вычислительная машина

Аналитическая машина. Mark-I

Перфокарта.
Изобретена

Жаккаром в 1808 году
Слайд 4

I.3 Ада Байрон-Лавлайс Ада Лавлайс (1815-1852) Первый программист! Программы для аналитической

I.3 Ада Байрон-Лавлайс

Ада Лавлайс (1815-1852)

Первый программист!
Программы для аналитической машины Бэббиджа
Описаны основные

программные конструкции которые используются по сей день.
В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и регистр, которые стали употребляться только в 1950-х годах
Слайд 5

I.4 Джон фон Нейман Джон фон Нейман (1903-1957) Машина фон Неймана

I.4 Джон фон Нейман

Джон фон Нейман
(1903-1957)

Машина фон Неймана

Принцип использования двоичной системы

счисления для представления данных и команд.
Принцип программного управления.
Программа состоит из набора команд, которые выполняются процессором друг за другом в определенной последовательности.
Принцип однородности памяти.
Как программы, так и данные хранятся в одной и той же.
Принцип адресуемости памяти.
Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
Принцип последовательного программного управления
Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой.
Принцип условного перехода.
Принцип изначально предложенный Адой Лавлайс
Слайд 6

Особенности: Электронные лампы, ЭЛТ, магнитные барабаны и ленты II. Первое поколение

Особенности:
Электронные лампы, ЭЛТ, магнитные барабаны и ленты

II. Первое поколение вычислительных

машин 1950-1960

UNIVAC - 1

Магнитный барабан

БЭСМ - 1

Слайд 7

Особенности: Полупроводники и магнитные элементы. Блочный принцип построения. Первые дисплеи (1964).

Особенности:
Полупроводники и магнитные элементы. Блочный принцип построения. Первые дисплеи (1964).

Внешние накопители на жестких и гибких дисках

Второе поколение вычислительных машин 1960-1970

БЭСМ-6

PDP-1

Внешние накопители

Слайд 8

Особенности: Интегральные схемы, ферритовые элементы хранения данных, графические интерфейсы, первые персональные

Особенности:
Интегральные схемы, ферритовые элементы хранения данных, графические интерфейсы, первые персональные

компьютеры (Apple I, 1976)

Третье поколение вычислительных машин 1970-1980

Интегральные схемы

Xerox Alto, первый граф. интерфейс

Первый суперкомпьютер Cray-1

Слайд 9

Особенности: Большие интегральные схемы, развитие персональных компьютеров Четвертое поколение вычислительных машин

Особенности:
Большие интегральные схемы, развитие персональных компьютеров

Четвертое поколение вычислительных машин 1980-1990

ZX

Spectrum

IBM 5150

Macintosh 128K

Слайд 10

Особенности: Повышение производительности, параллелизм, развитие сетей, программного обеспечения и интерфейсов Пятое поколение вычислительных машин 1990-наше время

Особенности:
Повышение производительности, параллелизм, развитие сетей, программного обеспечения и интерфейсов

Пятое поколение

вычислительных машин 1990-наше время
Слайд 11

III. Языки Программирования Язык программирования определяет набор лексических, синтаксических и семантических

III. Языки Программирования

Язык программирования определяет набор лексических, синтаксических и семантических правил,

используемых при составлении компьютерной программы.

Классификации языков:
Машинно-ориентированные
Низкоуровневые
Высокоуровневые
Сверхвысокоуровневые
Специализированные

Интерпретируемые
Компилируемые
Смешанные

Слайд 12

IV. Пакет символьных вычислений Maple Программный пакет, система компьютерной алгебры. Является

IV. Пакет символьных вычислений Maple

Программный пакет, система компьютерной алгебры. Является продуктом

компании Waterloo Maple Inc., которая с 1982 года выпускает и продвигает на рынке программные продукты, ориентированные на сложные математические вычисления, визуализацию данных и моделирование.
Система Maple предназначена для символьных вычислений, хотя имеет ряд средств и для численного решения дифференциальных уравнений и нахождения интегралов. Обладает развитыми графическими средствами. Имеет собственный язык программирования.

Две среды разработки в одном пакете

Слайд 13

IV.1 Пользовательский интерфейс Основная рабочая область Главное меню Управление вводом команд

IV.1 Пользовательский интерфейс

Основная рабочая область

Главное меню

Управление вводом команд

Управление процессом выполнения

Панель инструментов

Представление

текста
Слайд 14

IV.2 Встроенная справочная система В Maple встроенная справочная система содержит описание

IV.2 Встроенная справочная система

В Maple встроенная справочная система содержит описание и

примеры для всех команд и функций.

Вызов может осуществляться:
Через меню Help в Главном Меню
С помощью горячих клавиш
Ctrl+F1 (Ctrl+F2, в поздних версиях) – контекстная справка. Помощь по команде на которой стоит курсор
F1 – Меню поиска в подсистема помощи
F2 – Быстрая справка

Слайд 15

IV.3 Основные объекты и типы данных Основные объекты: Числа (1, 2.5,

IV.3 Основные объекты и типы данных

Основные объекты:
Числа (1, 2.5, 10e2)
Константы

(π, I, infinity,…)
Строки (“string”, ”name”)
Имена (A, B1, func, arr)

Типы данных:
Выражения
x^2
cos(x)+sin(x)^2
Уравнения/неравенства
x^2+2*x+1 = 0
y > -2
Диапазоны/интервалы
1 .. 10
A .. K
Списки,множества,последовательности
[[1,2,3],[4,5,6]]; {1,2,”cos(x)”,”456”}

Слайд 16

IV.4 Среда Maple как научный калькулятор Каждая команда завершается символами «;»

IV.4 Среда Maple как научный калькулятор

Каждая команда завершается символами «;» (точка

с запятой) или «:» (двоеточие)
Точка с запятой показывает результат выполнения команды сразу после нее
Двоеточие выполняет команду , но не выводит результат на экран

Операции:
Сложение (+): a+b;
Вычитание (-): b-c;
Умножение (*): x*y;
Деление (/): 1/x;
Возведение в степень (^): x^2;
Остаток от деления (mod): 10 mod 3;
Присваивание (:=): a:=1;

Слайд 17

Операции. Примеры

Операции. Примеры

Слайд 18

IV.6 Переменные и правила именования Переменная в языке программирования — поименованная

IV.6 Переменные и правила именования

Переменная в языке программирования — поименованная либо

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

В Maple переменная это строка символов (имя) начинающееся с буквы.
Требования к имени переменной:
Первым символом должны быть буква
Больше и маленькие буквы различаются: Переменная a не одно и тоже что переменная A
В имени переменной допускаются: латинский буквы, цифры и символ подчеркивания (_)
Не должно совпадать с каким-либо ключевым словом или именем команды

Значение в переменную записывается с помощью операции присваивания

Слайд 19

Переменные. Примеры

Переменные. Примеры

Слайд 20

IV.7 Функции, команды и библиотеки Для решения задач в языках программирования

IV.7 Функции, команды и библиотеки

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

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

Синтаксис вызова стандартной команды следующий:
Имя_функции(пар_1, пар_2, ...,пар_n);
Здесь имя_функции это имя вызываемой функции, а пар_1, …, пар_n – передаваемые параметры.
Параметры могут быть значениями, именами переменных, выражениями, списками и т.д.
Количество параметров зависит от конкретной функции.
Параметры бывают обязательные и дополнительные

Т.к. функций в Maple очень много. Для удобства использования они разбиты на библиотеки. Библиотеки подключаются с помощью команды with(<имя_библиотеки>)

Слайд 21

Функции. Примеры.

Функции. Примеры.