SlideShare uma empresa Scribd logo
1 de 281
Лекция №1 Введение Эволюция языков программирования Программирование на языке высокого уровня
Введение ,[object Object],[object Object],[object Object],[object Object]
Расписание занятий
Содержание дисциплины ,[object Object],[object Object],[object Object],[object Object]
Литература ,[object Object],[object Object],[object Object]
Вычислительные машины и языки программирования ,[object Object]
Первая программируемая вычислительная машина ,[object Object]
Первый язык программирования ,[object Object],[object Object]
Создание компании  IBM ,[object Object]
Первая электронная вычислительная машина ,[object Object]
Первая советская ЭВМ ,[object Object]
Возникновение компьютерной науки ( Computer Science) ,[object Object]
Первое поколение ЭВМ ,[object Object],[object Object]
Языки программирования Программисты под руководством Хоппер впервые во всем мире реализовали идею подпрограмм как многократно используемую последовательность команд. Тогда они просто переписывали куски машинного кода друг у друга из блокнотов.  Марк-1 Грейс  Хоппер Идея подпрограммы 49 По своей сути, это была система обозначений для быстрого ввода в ЭВМ алгебраических выражений. "Краткий код" работал как примитивный интерпретатор. Юнивак Мочли "Краткий код" 49 Немецкий инженер Цузе разработал этот язык для ЭВМ Z4, но ни компилятора, ни интерпретатора для него написано не было (поскольку и язык, и ЭВМ он разрабатывал в одиночку). Z4 Цузе Плюнкалкюль 46 Заметки о языке ЭВМ Создатель Язык (идея) Год
Языки программирования Хоппер создала первый ассемблер, который понимал мнемонические команды.  Юнивак Грейс  Хоппер B-0 56 А-0 был первым полноценным ассемблером, получившим широкую известность. Он предоставлял услуги как компилятора, так и компоновщика. По сути, А-0 представлял первое промышленное средство для создания других программ. Юнивак Грейс  Хоппер А-0 52 Автокод был первым полноценным транслятором (компилятором), т.е. он транслировал мнемоническую схему в машинные коды.  Марк-1 Гленн АВТОКОД 52 Первый ассемблер представлял из себя систему мнемонических обозначений, объединённую с библиотекой подпрограмм Эдсак Грейс  Хоппер Ассемблер 50 Заметки о языке ЭВМ Создатель Язык (идея) Год
Второе поколение ЭВМ ,[object Object]
Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год В 59 году в США появилась первая компания, занимающаяся созданием промышленных программ.     “ CSC” – первая компания по разработке ПО 59 Первая спецификация Алгола была рождена европейским международным комитетом.     ALGOL  – 58 58 Был первым языком программирования высокого уровня. Разрабатывался компанией IBM для её новой ЭВМ. Коллектив под руководством Бэкуса разработал не только спецификацию языка, но и создал компилятор для него. Это обеспечило достаточно быструю и широкую распространенность языка. Кроме того, Фортран был первым языком, для которого были разработаны компиляторы для разных ЭВМ (т.е. программа могла выполняться на различных ЭВМ). Лучше всего Фортран подходит для решения инженерных и расчетных задач. IBM-704 Бэкус FORTRAN 54
Языки программирования Язык для исследований в области искусственного интеллекта, предназначенный для работы со списками и лямбда – выражениями (был создан в МТИ).  Маккарти  Lisp 58 Заметки о языке ЭВМ Создатель Язык (идея) Год Стандарт языка, принятый для создания коммерческих приложений   CODASYL COBOL 59 ,[object Object],[object Object],[object Object],[object Object],  Бэкус ALGOL  – 60 60 Министерство обороны США создало организацию CODASYL, главным назначением которой было создание нового языка, ориентированного на бизнес – приложения.     CODASYL 59 Для описания спецификации Алгола Бэкус создал специальную систему – “нормальную форму”. Чуть позже эта система была уточнена Науром.   Бэкус, Наур БНФ 59
Лекция №2 Эволюция языков программирования (продолжение) Программирование на языке высокого уровня
Третье поколение ЭВМ ,[object Object]
Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год ,[object Object],[object Object],[object Object],[object Object],  Кемени, Курц БЭЙСИК 64 Универсальный язык программирования, разрабатывавшийся для системы System/360.  Учитывая количество средств, которые были вложены в разработку и пропаганду этого языка и конечный результат, можно сказать, что этот проект провалился. Язык имел плохой дизайн.    Рэдин (IBM) ПЛ/1 64
Языки программирования язык, который изначально разрабатывался учёными для обучения детей, чтобы изучать их психологию. Именно он служит первым претендентом на звание первого объектно-ориентированного (ОО) ЯП, так как вся последующая терминология ОО подхода пошла именно оттуда .  Smalltalk  72  72 Этот вариант Алгола очень не понравился Вирту. Он как и  PL/1  получился слишком большим. Кроме того имел очень сложное описание. Отсутствие реально работающих промышленных компиляторов для Алгола-68 только довершило ситуацию.      АЛГОЛ – 68 68 Заметки о языке ЭВМ Создатель Язык (идея) Год Новый стандарт языка, который был предложен Хоаром и Виртом как альтернатива существующей спецификации (буква W – от фамилии Вирт).   Хоар, Вирт АЛГОЛ – W 6 6 Создан на основе Алгола 60 для целей имитационного моделирования. В нём впервые появилось понятие «класса». Но этот язык был неэффективен.   Симула 67 67
Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год Самый компактный язык программирования. Обладает высокой степенью расширяемости. Первое промышленное применение – управление радиотелескопами.   Чарльз Мур  ФОРТ 71 Был разработан Виртом как противопоставление Алголу-68. Язык с высокой структурированностью. До сих пор – лучший язык для обучения программированию.   Никлаус  Вирт  ПАСКАЛЬ 70 Очень компактный универсальный язык программирования. Именно для этого языка была организация ACM открыла первую SIG(Software Interest Group).   Кеннет Айверсон (IBM) AПЛ 69 ,[object Object],[object Object],[object Object],[object Object],  Дейкстра Статья о структурном программировании 68
Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год Универсальный язык программирования, был разработан по заказу МО США.  После создания вышло требование переписать все существующие приложения на Аде.   Жан Ихбиа АДА 79 HOLWG – рабочая группа по управлением Уайтекера, была создана Пентагоном для получения языка, который мог бы использоваться на всех компьютерах министерства обороны США. Результатом в 79 году стал язык Ада.   Уайтекер HOLWG 75 Логический язык программирования, в котором описываются факты и отношения между ними.   Алан Колмери   ПРОЛОГ 72 Язык был разработан для написания операционной системы UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX’ом распространялся и С.  До сих пор С – один из лучших языков для системного программирования.   Керниган,  Ричи,  Bell Lab. С 72
Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год Универсальный язык программирования, был разработан по заказу МО США.  После создания вышло требование переписать все существующие приложения на Аде.   Жан Ихбиа АДА 79 HOLWG – рабочая группа по управлением Уайтекера, была создана Пентагоном для получения языка, который мог бы использоваться на всех компьютерах министерства обороны США. Результатом в 79 году стал язык Ада.   Уайтекер HOLWG 75 Логический язык программирования, в котором описываются факты и отношения между ними.   Алан Колмери   ПРОЛОГ 72 Язык был разработан для написания операционной системы UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX’ом распространялся и С.  До сих пор С – один из лучших языков для системного программирования.   Керниган,  Ричи,  Bell Lab. С 72
Четвертое поколение ЭВМ ,[object Object]
Языки программирования Оберон отличается от Модулы-2 отсутствием многих необязательных конструкций; добавлены же в язык средства объектно-ориентированного программирования -- расширяемые записи. Оберон -- это самый простой универсальный язык.  Никлаус  Вирт Oberon 87 Язык создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения нужной информации. Развился до мощного средства работы с текстами. Является интерпретируемым языком и реализован практически на всех существующих платформах. Применяется при обработке текстов, а также для динамической генерации веб-страниц на веб-серверах.  Ларри Уолл Perl 86 Объектно-ориентированное расширение языка С Бьярн Страуструп С++ 85 Заметки о языке ЭВМ Создатель Язык (идея) Год
Языки программирования Интерпретируемый объектно-ориентированный язык программирования. По структуре и области применения близок к Perl, однако менее распространен и более строг и логичен. Python 91 Расмус Лердорф PHP 95 Delphi 95 В 1992 году были приняты расширения языка Оберон, предложенные Ханспетером Мёссенбёком. Расширенный язык получил название Оберон-2. Основное нововведение -- связанные с типами процедуры. Сейчас Оберон-2 является фактическим стандартом языка Никлаус  Вирт Oberon-2 92 Заметки о языке ЭВМ Создатель Язык (идея) Год
Языки программирования C# 99 Наследует синтаксис C и C++ и избавлен от некоторых неприятных черт последнего. Отличительной особенностью языка является компиляция в код некоей абстрактной машины, для которой затем пишется эмулятор (Java Virtual Machine) для реальных систем. Кроме того, в Java нет указателей и множественного наследования, что сильно повышает надежность программирования.  Кен Арнольд, Джеймс Гослинг Java 96 Заметки о языке ЭВМ Создатель Язык (идея) Год
Пятое поколение ЭВМ ,[object Object]
Пятое поколение ЭВМ ,[object Object]
Языки искусственного интеллекта ,[object Object],[object Object],[object Object]
Лекция №3 Понятие алгоритма  Язык программирования  Turbo Pascal
Понятие алгоритма ,[object Object],[object Object],[object Object]
Свойства алгоритма ,[object Object],[object Object],[object Object],[object Object],[object Object]
Пример ,[object Object],[object Object],[object Object],[object Object]
Алгоритм ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Язык  Pascal ,[object Object],[object Object],[object Object]
Язык программирования ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Алфавит ,[object Object],[object Object],[object Object]
Лексемы ,[object Object]
Идентификаторы ,[object Object],[object Object],[object Object]
Правильные и неправильные идентификаторы ,[object Object],[object Object],[object Object],[object Object],[object Object]
Выражения ,[object Object],[object Object]
Правильные и неправильные выражения ,[object Object],[object Object],[object Object],[object Object]
Операторы ,[object Object]
Оператор присваивания ,[object Object],[object Object]
Структура программы ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Пример программы ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Лекция №4 Стандартные типы данных языка  Turbo Pascal
Тип данных ,[object Object]
Операции и их приоритет
Объявление переменных ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Стандартные типы данных
Порядковые типы данных
Порядковые типы ,[object Object]
Функция  ORD ( X ) ,[object Object]
Функции  PRED(X)  и  SUCC(X) ,[object Object],[object Object],[object Object],[object Object]
Пример ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Символьный тип ,[object Object]
Служебные коды (0..31)
Операции и функции ,[object Object],[object Object],[object Object]
Пример ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Целочисленные типы
Функции
Функции
Пример ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Целочисленное деление ,[object Object]
Лекция №5 Стандартные типы данных языка  Turbo Pascal ( продолжение)
Логический тип ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Логические операции True False False True Not A A
Логические операции True True True False False True False True False False False False A and B B A
Логические операции True True True True False True True True False False False False A or B B A
Логические операции False True True True False True True True False False False False A xor B B A
Логические операции ,[object Object],[object Object],[object Object],[object Object],[object Object]
Раздел описания типов ,[object Object],[object Object],[object Object],[object Object],[object Object]
Перечисляемый тип ,[object Object]
Пример ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Тип диапазон ,[object Object],[object Object],[object Object]
Пример ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Вещественные типы ,[object Object]
Представление вещественных чисел ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Вещественные типы -2 63 +1...+2 63 -1 19...20 Comp 8 -4951...+4932 19...20 Extended 10 -324...+308 15...16 Double 8 -39...+38 11...12 Real 6 -45...+38 7...8 Single 4 Диапазон десятичного порядка Мантисса Название типа Длина, байты
Вещественные типы Как видно из таблицы вещественное число  в Паскале занимает от 4-х до 10 смежных байт и имеет следующую структуру в памяти ПК. Здесь  s -знаковый разряд числа; е – экспоненциальная часть, содержит двоичный порядок ;  m - мантисса числа. M E S
Функции П  = 3.141592653... Real - Pi Логарифм натуральный “ “ Ln  ( x ) Целая часть числа “ “ Int  ( x ) Дробная часть числа “ “ Frac  ( x ) Экспонента “ “ Exp  ( x ) Косинус (радианы) “ “ Cos  ( x ) Арктангенс (радианы) Real Real ArcTan(x) Модуль аргумента Тип аргумента Real, integer Abs(x) Примечание Тип результата Тип параметра Обращение
Функции Корень квадратный Real real Sqrt (x) Квадрат аргумента Тип аргумента Real, integer Sqr(x) Синус (радианы) Real Real Sin(x) Инициация датчика случайных чисел - - Randomize Равномерное псевдослучайное целое число 0<= x < i Integer Integer Random(i) Равномерное псевдослучайное число 0<= x <1 Real - Random Примечание Тип результата Тип параметра Обращение
Пример var x, y: real; begin write(‘ Введите значение  x: ‘); readln(x); y:=(1+sin(2*x))/cos(2*x); writeln(‘ Результат= ’, y:10:3); end.
Лекция №5 Операторы языка  Turbo Pascal
Составной оператор ,[object Object]
Составной оператор ,[object Object],[object Object]
Пустой оператор ,[object Object]
Пустой оператор ,[object Object]
[object Object],[object Object],Условный оператор
Условный оператор if  <условие>  then   <оператор1>  [else   <оператор2> ] ; где  if ,  then ,  else  –  зарезервированные слова (если, то, иначе); <условие> – произвольное выражение логического типа; <оператор1>, <оператор2>, – любые операторы языка Турбо Паскаль.
Алгоритм работы Условный оператор работает по следующему алгоритму. Сначала вычисляется условное выражение <условие>. Если результат есть  true  (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть  false  (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>.
Пример var  x, y, max : real; ....... if x>y then max:=x else max:=y; При выполнении этого фрагмента переменная  max  получит значение переменной  x , если это значение больше чем значение  y , в противном случае  max  станет равным  y .
Пример Часть  else  <оператор2> условного оператора может быть опущена. Тогда при значении  true  условного выражения выполняется <оператор1>, в противном случае этот оператор пропускается: var  x, y, max : real; ....... if x>max then max:=x; y := x ;
Пример Поскольку любой из операторов <оператор1> и <оператор2> может быть любого типа, в том числе и условным, а в то же время не каждый из «вложенных» условных операторов может иметь часть  else  <оператор2>, то возникает неоднозначность трактовки условий, т.е. непонятно какой  else  к какому  if … then  относится. Эта неоднозначность в Турбо Паскале решается следующим образом: любая встретившаяся часть  else  соответствует ближайшей к ней «сверху» части  if … then  условного оператора.
Пример var  a, b, c, d : integer; … a:=1; b:=2; c:=3; d:=4; if a>b then if c<d then if c<0 then c:=0 else a:=b;  {a=1} if a>b then if c<d then if c<0 then c:=0 else else else a:=b;  {a=2}
Использование составного оператора ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Пример
Оператор выбора  Case ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Лекция №6 Операторы повтора (циклы)
Циклы ,[object Object],[object Object]
Цикл  while ( «Пока») ,[object Object],[object Object],[object Object],[object Object]
Алгоритм работы ,[object Object]
Использование составного оператора ,[object Object],[object Object],[object Object],[object Object],[object Object]
Цикл  repeat ( «Повторить») ,[object Object],[object Object],[object Object],[object Object]
Алгоритм работы ,[object Object]
Использование составного оператора ,[object Object]
Зацикливание ,[object Object],[object Object],[object Object]
Цикл  for  («С параметром») ,[object Object],[object Object],[object Object]
Алгоритм работы ,[object Object]
Шаг -1 ,[object Object],[object Object],[object Object],[object Object]
Примеры ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Поиск совершенных чисел ,[object Object]
Var I,sum,del1,n:word; Begin for i:=4 to 10000 do Begin sum:=1; n:= trunc(sqrt(i));   for del1:=2 to n do if I mod del1 =0 then  if del1<> I div del1   then begin  sum:=sum+del1+(I div del1); end else sum:=sum+del1; if sum=i then writeln(i); End; End.
Вычислить квадратный корень  ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Разбиение числа на цифры ,[object Object],[object Object],[object Object],[object Object],[object Object]
Вывод трехзначных чисел из неповторяющихся цифр ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Вывод чисел из нечетных цифр ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Лекция №7 Массивы
Структурированные типы данных ,[object Object]
Объявление переменной-массива ,[object Object],[object Object],[object Object]
[object Object]
Примеры объявлений ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Доступ к элементам массива ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Сумма элементов массива ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]
Произведение   элементов   массива  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Лекция №8 Многомерные массивы
Двумерные массивы ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Лекция №9 Процедуры и функции
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object]
[object Object]
[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]
Лекция №10 Строки
[object Object]
[object Object],[object Object],[object Object],[object Object]
[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object]
[object Object],[object Object]
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации
лекции презентации

Mais conteúdo relacionado

Semelhante a лекции презентации

История программного обеспечения и ИКТ
История  программного обеспечения и ИКТИстория  программного обеспечения и ИКТ
История программного обеспечения и ИКТmaxim1415
 
история развития операционных систем
история развития операционных системистория развития операционных систем
история развития операционных системNickEliot
 
история развития операционных систем
история развития операционных системистория развития операционных систем
история развития операционных системNickEliot
 
информатика
информатикаинформатика
информатикаNastyaLera
 
Программирование
ПрограммированиеПрограммирование
Программированиеalecsa
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power pointalouna88888
 
язык программирования
язык программированияязык программирования
язык программированияMihaNsx99
 
презентация1
презентация1презентация1
презентация1NikolNikol
 
музей информатики
музей информатикимузей информатики
музей информатикиKumar000789
 
Системы автоматического перевода
Системы автоматического переводаСистемы автоматического перевода
Системы автоматического переводаmitqa
 
ИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯ
ИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯ
ИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯGalinaKorolyova
 
презентация1
презентация1презентация1
презентация1ruslan_gorlov4
 
язык программирования
язык программированияязык программирования
язык программированияMihaNsx99
 
технологии 90 х
технологии 90 хтехнологии 90 х
технологии 90 хEgor4864
 
история программного обеспечения и икт
история программного обеспечения и иктистория программного обеспечения и икт
история программного обеспечения и иктmaxim1415
 
история развития эвм
история развития эвмистория развития эвм
история развития эвмnikap_talanova
 

Semelhante a лекции презентации (20)

история паскаль
история паскальистория паскаль
история паскаль
 
История программного обеспечения и ИКТ
История  программного обеспечения и ИКТИстория  программного обеспечения и ИКТ
История программного обеспечения и ИКТ
 
Niklaus virt by_toqrul_9r1
Niklaus virt by_toqrul_9r1Niklaus virt by_toqrul_9r1
Niklaus virt by_toqrul_9r1
 
история развития операционных систем
история развития операционных системистория развития операционных систем
история развития операционных систем
 
история развития операционных систем
история развития операционных системистория развития операционных систем
история развития операционных систем
 
информатика
информатикаинформатика
информатика
 
Программирование
ПрограммированиеПрограммирование
Программирование
 
презентация Microsoft office power point
презентация Microsoft office power pointпрезентация Microsoft office power point
презентация Microsoft office power point
 
язык программирования
язык программированияязык программирования
язык программирования
 
презентация1
презентация1презентация1
презентация1
 
музей информатики
музей информатикимузей информатики
музей информатики
 
Системы автоматического перевода
Системы автоматического переводаСистемы автоматического перевода
Системы автоматического перевода
 
ИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯ
ИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯ
ИСТОРИЯ РАЗВИТИЯ АППАРАТНОГО ОБЕСПЕЧЕНИЯ
 
презентация1
презентация1презентация1
презентация1
 
язык программирования
язык программированияязык программирования
язык программирования
 
технологии 90 х
технологии 90 хтехнологии 90 х
технологии 90 х
 
история программного обеспечения и икт
история программного обеспечения и иктистория программного обеспечения и икт
история программного обеспечения и икт
 
User Interface History
User Interface HistoryUser Interface History
User Interface History
 
история развития эвм
история развития эвмистория развития эвм
история развития эвм
 
80 е года
80 е года80 е года
80 е года
 

Mais de Zhanna Kazakova (20)

презентация диагностика
презентация диагностикапрезентация диагностика
презентация диагностика
 
лаб. работа №1
лаб. работа №1лаб. работа №1
лаб. работа №1
 
лекция 26
лекция 26лекция 26
лекция 26
 
лекция 25
лекция 25лекция 25
лекция 25
 
лекция 24
лекция 24лекция 24
лекция 24
 
лекция 23
лекция 23лекция 23
лекция 23
 
лекция 22
лекция 22лекция 22
лекция 22
 
лекция 22
лекция 22лекция 22
лекция 22
 
лекция 21
лекция 21лекция 21
лекция 21
 
лекция 20
лекция 20лекция 20
лекция 20
 
лекция 18
лекция 18лекция 18
лекция 18
 
лекция 19
лекция 19лекция 19
лекция 19
 
лекция 18
лекция 18лекция 18
лекция 18
 
лекция 17
лекция 17лекция 17
лекция 17
 
лекция 16
лекция 16лекция 16
лекция 16
 
лекция 15
лекция 15лекция 15
лекция 15
 
лекция 14
лекция 14лекция 14
лекция 14
 
лекция 13
лекция 13лекция 13
лекция 13
 
лекция 12
лекция 12лекция 12
лекция 12
 
лекция 11
лекция 11лекция 11
лекция 11
 

лекции презентации

  • 1. Лекция №1 Введение Эволюция языков программирования Программирование на языке высокого уровня
  • 2.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Языки программирования Программисты под руководством Хоппер впервые во всем мире реализовали идею подпрограмм как многократно используемую последовательность команд. Тогда они просто переписывали куски машинного кода друг у друга из блокнотов. Марк-1 Грейс Хоппер Идея подпрограммы 49 По своей сути, это была система обозначений для быстрого ввода в ЭВМ алгебраических выражений. &quot;Краткий код&quot; работал как примитивный интерпретатор. Юнивак Мочли &quot;Краткий код&quot; 49 Немецкий инженер Цузе разработал этот язык для ЭВМ Z4, но ни компилятора, ни интерпретатора для него написано не было (поскольку и язык, и ЭВМ он разрабатывал в одиночку). Z4 Цузе Плюнкалкюль 46 Заметки о языке ЭВМ Создатель Язык (идея) Год
  • 15. Языки программирования Хоппер создала первый ассемблер, который понимал мнемонические команды. Юнивак Грейс Хоппер B-0 56 А-0 был первым полноценным ассемблером, получившим широкую известность. Он предоставлял услуги как компилятора, так и компоновщика. По сути, А-0 представлял первое промышленное средство для создания других программ. Юнивак Грейс Хоппер А-0 52 Автокод был первым полноценным транслятором (компилятором), т.е. он транслировал мнемоническую схему в машинные коды. Марк-1 Гленн АВТОКОД 52 Первый ассемблер представлял из себя систему мнемонических обозначений, объединённую с библиотекой подпрограмм Эдсак Грейс Хоппер Ассемблер 50 Заметки о языке ЭВМ Создатель Язык (идея) Год
  • 16.
  • 17. Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год В 59 году в США появилась первая компания, занимающаяся созданием промышленных программ.     “ CSC” – первая компания по разработке ПО 59 Первая спецификация Алгола была рождена европейским международным комитетом.     ALGOL – 58 58 Был первым языком программирования высокого уровня. Разрабатывался компанией IBM для её новой ЭВМ. Коллектив под руководством Бэкуса разработал не только спецификацию языка, но и создал компилятор для него. Это обеспечило достаточно быструю и широкую распространенность языка. Кроме того, Фортран был первым языком, для которого были разработаны компиляторы для разных ЭВМ (т.е. программа могла выполняться на различных ЭВМ). Лучше всего Фортран подходит для решения инженерных и расчетных задач. IBM-704 Бэкус FORTRAN 54
  • 18.
  • 19. Лекция №2 Эволюция языков программирования (продолжение) Программирование на языке высокого уровня
  • 20.
  • 21.
  • 22. Языки программирования язык, который изначально разрабатывался учёными для обучения детей, чтобы изучать их психологию. Именно он служит первым претендентом на звание первого объектно-ориентированного (ОО) ЯП, так как вся последующая терминология ОО подхода пошла именно оттуда . Smalltalk 72 72 Этот вариант Алгола очень не понравился Вирту. Он как и PL/1 получился слишком большим. Кроме того имел очень сложное описание. Отсутствие реально работающих промышленных компиляторов для Алгола-68 только довершило ситуацию.     АЛГОЛ – 68 68 Заметки о языке ЭВМ Создатель Язык (идея) Год Новый стандарт языка, который был предложен Хоаром и Виртом как альтернатива существующей спецификации (буква W – от фамилии Вирт).   Хоар, Вирт АЛГОЛ – W 6 6 Создан на основе Алгола 60 для целей имитационного моделирования. В нём впервые появилось понятие «класса». Но этот язык был неэффективен. Симула 67 67
  • 23.
  • 24. Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год Универсальный язык программирования, был разработан по заказу МО США. После создания вышло требование переписать все существующие приложения на Аде.   Жан Ихбиа АДА 79 HOLWG – рабочая группа по управлением Уайтекера, была создана Пентагоном для получения языка, который мог бы использоваться на всех компьютерах министерства обороны США. Результатом в 79 году стал язык Ада.   Уайтекер HOLWG 75 Логический язык программирования, в котором описываются факты и отношения между ними.   Алан Колмери ПРОЛОГ 72 Язык был разработан для написания операционной системы UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX’ом распространялся и С. До сих пор С – один из лучших языков для системного программирования.   Керниган, Ричи, Bell Lab. С 72
  • 25. Языки программирования Заметки о языке ЭВМ Создатель Язык (идея) Год Универсальный язык программирования, был разработан по заказу МО США. После создания вышло требование переписать все существующие приложения на Аде.   Жан Ихбиа АДА 79 HOLWG – рабочая группа по управлением Уайтекера, была создана Пентагоном для получения языка, который мог бы использоваться на всех компьютерах министерства обороны США. Результатом в 79 году стал язык Ада.   Уайтекер HOLWG 75 Логический язык программирования, в котором описываются факты и отношения между ними.   Алан Колмери ПРОЛОГ 72 Язык был разработан для написания операционной системы UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX’ом распространялся и С. До сих пор С – один из лучших языков для системного программирования.   Керниган, Ричи, Bell Lab. С 72
  • 26.
  • 27. Языки программирования Оберон отличается от Модулы-2 отсутствием многих необязательных конструкций; добавлены же в язык средства объектно-ориентированного программирования -- расширяемые записи. Оберон -- это самый простой универсальный язык. Никлаус Вирт Oberon 87 Язык создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения нужной информации. Развился до мощного средства работы с текстами. Является интерпретируемым языком и реализован практически на всех существующих платформах. Применяется при обработке текстов, а также для динамической генерации веб-страниц на веб-серверах. Ларри Уолл Perl 86 Объектно-ориентированное расширение языка С Бьярн Страуструп С++ 85 Заметки о языке ЭВМ Создатель Язык (идея) Год
  • 28. Языки программирования Интерпретируемый объектно-ориентированный язык программирования. По структуре и области применения близок к Perl, однако менее распространен и более строг и логичен. Python 91 Расмус Лердорф PHP 95 Delphi 95 В 1992 году были приняты расширения языка Оберон, предложенные Ханспетером Мёссенбёком. Расширенный язык получил название Оберон-2. Основное нововведение -- связанные с типами процедуры. Сейчас Оберон-2 является фактическим стандартом языка Никлаус Вирт Oberon-2 92 Заметки о языке ЭВМ Создатель Язык (идея) Год
  • 29. Языки программирования C# 99 Наследует синтаксис C и C++ и избавлен от некоторых неприятных черт последнего. Отличительной особенностью языка является компиляция в код некоей абстрактной машины, для которой затем пишется эмулятор (Java Virtual Machine) для реальных систем. Кроме того, в Java нет указателей и множественного наследования, что сильно повышает надежность программирования. Кен Арнольд, Джеймс Гослинг Java 96 Заметки о языке ЭВМ Создатель Язык (идея) Год
  • 30.
  • 31.
  • 32.
  • 33. Лекция №3 Понятие алгоритма Язык программирования Turbo Pascal
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Лекция №4 Стандартные типы данных языка Turbo Pascal
  • 51.
  • 52. Операции и их приоритет
  • 53.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 62.
  • 63.
  • 67.
  • 68.
  • 69. Лекция №5 Стандартные типы данных языка Turbo Pascal ( продолжение)
  • 70.
  • 71. Логические операции True False False True Not A A
  • 72. Логические операции True True True False False True False True False False False False A and B B A
  • 73. Логические операции True True True True False True True True False False False False A or B B A
  • 74. Логические операции False True True True False True True True False False False False A xor B B A
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83. Вещественные типы -2 63 +1...+2 63 -1 19...20 Comp 8 -4951...+4932 19...20 Extended 10 -324...+308 15...16 Double 8 -39...+38 11...12 Real 6 -45...+38 7...8 Single 4 Диапазон десятичного порядка Мантисса Название типа Длина, байты
  • 84. Вещественные типы Как видно из таблицы вещественное число в Паскале занимает от 4-х до 10 смежных байт и имеет следующую структуру в памяти ПК. Здесь s -знаковый разряд числа; е – экспоненциальная часть, содержит двоичный порядок ; m - мантисса числа. M E S
  • 85. Функции П = 3.141592653... Real - Pi Логарифм натуральный “ “ Ln ( x ) Целая часть числа “ “ Int ( x ) Дробная часть числа “ “ Frac ( x ) Экспонента “ “ Exp ( x ) Косинус (радианы) “ “ Cos ( x ) Арктангенс (радианы) Real Real ArcTan(x) Модуль аргумента Тип аргумента Real, integer Abs(x) Примечание Тип результата Тип параметра Обращение
  • 86. Функции Корень квадратный Real real Sqrt (x) Квадрат аргумента Тип аргумента Real, integer Sqr(x) Синус (радианы) Real Real Sin(x) Инициация датчика случайных чисел - - Randomize Равномерное псевдослучайное целое число 0<= x < i Integer Integer Random(i) Равномерное псевдослучайное число 0<= x <1 Real - Random Примечание Тип результата Тип параметра Обращение
  • 87. Пример var x, y: real; begin write(‘ Введите значение x: ‘); readln(x); y:=(1+sin(2*x))/cos(2*x); writeln(‘ Результат= ’, y:10:3); end.
  • 88. Лекция №5 Операторы языка Turbo Pascal
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94. Условный оператор if <условие> then <оператор1> [else <оператор2> ] ; где if , then , else – зарезервированные слова (если, то, иначе); <условие> – произвольное выражение логического типа; <оператор1>, <оператор2>, – любые операторы языка Турбо Паскаль.
  • 95. Алгоритм работы Условный оператор работает по следующему алгоритму. Сначала вычисляется условное выражение <условие>. Если результат есть true (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть false (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>.
  • 96. Пример var x, y, max : real; ....... if x>y then max:=x else max:=y; При выполнении этого фрагмента переменная max получит значение переменной x , если это значение больше чем значение y , в противном случае max станет равным y .
  • 97. Пример Часть else <оператор2> условного оператора может быть опущена. Тогда при значении true условного выражения выполняется <оператор1>, в противном случае этот оператор пропускается: var x, y, max : real; ....... if x>max then max:=x; y := x ;
  • 98. Пример Поскольку любой из операторов <оператор1> и <оператор2> может быть любого типа, в том числе и условным, а в то же время не каждый из «вложенных» условных операторов может иметь часть else <оператор2>, то возникает неоднозначность трактовки условий, т.е. непонятно какой else к какому if … then относится. Эта неоднозначность в Турбо Паскале решается следующим образом: любая встретившаяся часть else соответствует ближайшей к ней «сверху» части if … then условного оператора.
  • 99. Пример var a, b, c, d : integer; … a:=1; b:=2; c:=3; d:=4; if a>b then if c<d then if c<0 then c:=0 else a:=b; {a=1} if a>b then if c<d then if c<0 then c:=0 else else else a:=b; {a=2}
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107. Лекция №6 Операторы повтора (циклы)
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121. Var I,sum,del1,n:word; Begin for i:=4 to 10000 do Begin sum:=1; n:= trunc(sqrt(i)); for del1:=2 to n do if I mod del1 =0 then if del1<> I div del1 then begin sum:=sum+del1+(I div del1); end else sum:=sum+del1; if sum=i then writeln(i); End; End.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.  
  • 144.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153.
  • 154.
  • 155.
  • 156.
  • 157.
  • 158.
  • 159.
  • 160.
  • 161.
  • 162.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.
  • 173.

Notas do Editor

  1. Он представлял собой дальнейшее развитие языка Би (B), который основывался на созданном в Кембриджском университете языке BCPL (от Basic Combined Programming Language- базовый комбинированный язык программирования), который в свою очередь был потомком Алгола-60.
  2. Он представлял собой дальнейшее развитие языка Би (B), который основывался на созданном в Кембриджском университете языке BCPL (от Basic Combined Programming Language- базовый комбинированный язык программирования), который в свою очередь был потомком Алгола-60.
  3. Вычислительный процесс здесь заключается в следующем: Вычисляется правая часть выражения, полученный результат присваивается переменной, стоящей в левой части. Дискретность, определить, результативность здесь очевидны. Массивность заключается в том, что значение выражения может быть найдено при любом X . При составлении алгоритма целесообразно стремиться к уменьшению числа шагов выполнения алгоритма. Если выражение
  4. 1) Служебные (зарезервированные) слова. Их смысл зафиксирован в языке, и поэтому служебные слова нельзя использовать в качестве имен, вводимых программистом. Полный список служебных слов приведен в приложении 1. 2) Имена. Они вводятся для обозначения в программе переменных, констант, типов, проедур и функций. Имена формируются из букв и цифр. Первым символом имени должна быть буква. Длина имени не должна превышать 63 символа. Заглавные и строчные буквы в именах не различаются. 3) Числа и символьные строки. 4) Знаки операций и разделители. Они формируются из одного или нескольких специальных символов. 5) Комментарии. Они представляют собой произвольную последовательность символов (не обязательно из алфавита языка, то есть допускаются и русские буквы), заключенную в фигурные скобки { }. Комментарии не изменяют смысл программы, не влияют на ее выполнение и предназначены для пояснений. Для отделения лексем друг от друга используются символы пробелов или же лексемы должны быть размещены на различных строках программы.
  5. 4110 лек 4
  6. Кол лекция 4
  7. Лек 5 ПЯВУ добавить таблицы лог операций, div, mod Кол лек 5
  8. Л
  9. 4112
  10. 4112
  11. Кит 18.11.09 ?\\, 4112 26.11.09
  12. Кит
  13. Кит
  14. Лек 6 4110,11
  15. Кит 25.11.09
  16. Кит
  17. 4110,11 26.11.09
  18. Кит
  19. Кит
  20. Кит
  21. Кит
  22. Кит
  23. Кит
  24. Кит
  25. Кит