1.Вводная лекция

Содержание

Слайд 2

Современное общество невозможно представить без компьюте­ра. Они настолько широко и глубоко внедрились

Современное общество невозможно представить без компьюте­ра. Они настолько широко и глубоко внедрились
в нашу жизнь, что очень трудно назвать какую-либо сферу деятельности человека, где бы они не использовались
В связи с этим серьезные требования предъявляются и к аппаратной части современных компьютеров, и к используемому программному обеспечению
В основном именно программное обеспечение, программные про­дукты, обеспечивают возможность широкого использования ком­пьютеров

Слайд 3

ПРОГРАММА – ЭТО…

Программа – это набор последовательных команд (алгоритм) для определенного объекта

ПРОГРАММА – ЭТО… Программа – это набор последовательных команд (алгоритм) для определенного
(исполнителя), который должен их выполнить для достижения той или иной цели.

Инструкция для техника «Как собрать компьютер»
Инструкция для решения квадратного уравнения

ПРИМЕРЫ ПРОГРАММЫ

Слайд 4

ОСНОВНЫЕ ПОНЯТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Возможности компьютера как технической основы системы обработки данных связаны

ОСНОВНЫЕ ПОНЯТИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Возможности компьютера как технической основы системы обработки данных
с используемым программным обеспечением (программами).
Программа (program, routine) - упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение (sowtware) - совокупность программ обработки данных и необходимых для их эксплуатации документов.
Задача (problem, task) - проблема, подлежащая решению. Приложение (application) - программная реализация на компьютере решения задачи.

Слайд 5

ПРЕДМЕТНАЯ (ПРИКЛАДНАЯ) ОБЛАСТЬ (APPLICATION DOMAIN)

совокупность связанных между собой функций, задач управления,

ПРЕДМЕТНАЯ (ПРИКЛАДНАЯ) ОБЛАСТЬ (APPLICATION DOMAIN) совокупность связанных между собой функций, задач управления,
с помощью которых достигается выполнение поставленных целей.

Слайд 6

К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ ОТНОСИТСЯ ОБЛАСТЬ ДЕЯТЕЛЬНОСТИ ПО ЕГО ПРОЕКТИРОВАНИЮ И РАЗРАБОТКЕ:

Технология проектирования

К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ ОТНОСИТСЯ ОБЛАСТЬ ДЕЯТЕЛЬНОСТИ ПО ЕГО ПРОЕКТИРОВАНИЮ И РАЗРАБОТКЕ: Технология
программ (например, структурное, объектно-ориентированное);
Методы тестирования программ;
Методы доказательства правильности программ;
Анализ качества разработки программ;
Документирование программ;
Разработка и использование программных средств, облегчающих процесс проектирования ПО.

Слайд 7

ПРОГРАММИРОВАНИЕ (PROGRAMMING)

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

ПРОГРАММИРОВАНИЕ (PROGRAMMING) Теоретическая и практическая деятельность, связанная с созданием программ. Программирование является
понятием и может рассматриваться и наука, и как искусство, на этом основан научно-практический подход к разработке программ.
Программа - результат интеллектуального труда, для которого характерно творчество, а оно, как известно, не имеет четких границ.

Слайд 8

КАТЕГОРИИ СПЕЦИАЛИСТОВ, ЗАНЯТЫХ РАЗРАБОТКОЙ И ЭКСПЛУАТАЦИЕЙ ПРОГРАММ

Системный программист (system / software programmer,

КАТЕГОРИИ СПЕЦИАЛИСТОВ, ЗАНЯТЫХ РАЗРАБОТКОЙ И ЭКСПЛУАТАЦИЕЙ ПРОГРАММ Системный программист (system / software
toolsmilh) занимается разработкой, эксплуатацией и сопровождением системного программного обеспечения, поддерживающего работоспособность компьютера и создающего среду для выполнения программ, обеспечивающих реализацию функциональных задач.
Прикладной программист (application programmer) осуществляет разработку и отладку программ для решения функциональных задач.
Программист-аналитик (programmer-analyst), который анализирует и проектирует комплекс взаимосвязанных программ для реализации функций предметной области.
Большинство информационных систем основано на работе с базами данных (БД). Если база данных является интегрированной, обеспечивающей работу с данными многих приложений, возникает проблема организационной поддержки базы данных, которая выполняется администратором базы данных

Слайд 9

ВЗАИМОДЕЙСТВИЕ СПЕЦИАЛИСТОВ РАЗЛИЧНОГО ВИДА, УЧАСТВУЮЩИХ В РАЗРАБОТКЕ И ЭКСПЛУАТАЦИИ ПРОГРАММ

ВЗАИМОДЕЙСТВИЕ СПЕЦИАЛИСТОВ РАЗЛИЧНОГО ВИДА, УЧАСТВУЮЩИХ В РАЗРАБОТКЕ И ЭКСПЛУАТАЦИИ ПРОГРАММ

Слайд 10

ЯЗЫКИ ПРОГРАММИРОВАНИЯ …

Язык программи́рования (ВИКИПЕДИЯ) — формальный язык, предназначенный для записи компьютерных

ЯЗЫКИ ПРОГРАММИРОВАНИЯ … Язык программи́рования (ВИКИПЕДИЯ) — формальный язык, предназначенный для записи
программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

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

ХАРАКТЕРИСТИКИ ЯЗЫКОВ

Слайд 11

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Язык программи́рования (ВИКИПЕДИЯ) — формальный язык, предназначенный для записи компьютерных программ.

ЯЗЫКИ ПРОГРАММИРОВАНИЯ Язык программи́рования (ВИКИПЕДИЯ) — формальный язык, предназначенный для записи компьютерных

Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

Слайд 12

HTTPS://WWW.TIOBE.COM/TIOBE-INDEX/

Java
C
Python
C++
C#
Visual Basic .NET
JavaScript
PHP
SQL
Objective-C

HTTPS://WWW.TIOBE.COM/TIOBE-INDEX/ Java C Python C++ C# Visual Basic .NET JavaScript PHP SQL Objective-C

Слайд 13

HTTPS://GITHUB.COM/

JavaScript
Java
Python
PHP
C++
C#
TypeScript
Shell
C
Ruby

Большое влияние на рейтинг GitHub оказывает продуктивность разработчиков

HTTPS://GITHUB.COM/ JavaScript Java Python PHP C++ C# TypeScript Shell C Ruby Большое

Слайд 14

ЭТАПЫ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

ЭТАПЫ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Слайд 15

ЭТАПЫ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

ЭТАПЫ РАЗВИТИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Слайд 16

1. МАШИННЫЙ ЯЗЫК

Машинный язык — это единственный способ взаимодействия с электронно-вычислительными машинами.
Каждую

1. МАШИННЫЙ ЯЗЫК Машинный язык — это единственный способ взаимодействия с электронно-вычислительными
команду выполняет ЭВМ
Данные записываются в цифровом виде (в 16-й или 2-й системах счисления)
Сложен для понимания
У каждой ЭВМ свой ЯЗЫК

Слайд 17

2. АССЕМБЛЕРЫ

Ассе́мблер (от англ. assembler — сборщик) — транслятор исходного текста программы,

2. АССЕМБЛЕРЫ Ассе́мблер (от англ. assembler — сборщик) — транслятор исходного текста
написанной на языке ассемблера, в программу на машинном языке

Специфичны для конкретной архитектуры машины, для ОС и варианта синтаксиса языка
Вместо чисел используются буквенный команды

Слайд 18

ТРАНСЛЯТОРЫ

ТРАНСЛЯТОРЫ

Слайд 19

ТРАНСЛЯЦИЯ ПРОГРАММ

Транслятор —специальная программа, преобразующая программный код с того или иного языка

ТРАНСЛЯЦИЯ ПРОГРАММ Транслятор —специальная программа, преобразующая программный код с того или иного
программирования в машинный код

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

Слайд 20

3. ЯЗЫКИ ВЫСОКОГО УРОВНЯ

Высокоуровневый язык программирования (ВИКИПЕДИЯ) — язык программирования, разработанный для

3. ЯЗЫКИ ВЫСОКОГО УРОВНЯ Высокоуровневый язык программирования (ВИКИПЕДИЯ) — язык программирования, разработанный
быстроты и удобства использования программистом.
Основная черта высокоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.

Слайд 21

3. ЯЗЫКИ ВЫСОКОГО УРОВНЯ

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

3. ЯЗЫКИ ВЫСОКОГО УРОВНЯ Программные коды, написанные на языках высокого уровня, обладают
структурой. Это облегчает разработку программы и ее отладку.
В отличие от ассемблеров, которые все еще остаются привязанными к своим типам машин, языки высоко уровня обладают переносимостью. Т.е., написав один раз программу, программист может выполнить ее на любой машине.

Слайд 22

ТРАНСЛЯЦИЯ

Механизм перевода весьма сложен, выделяют два основных способа трансляции — это компиляция

ТРАНСЛЯЦИЯ Механизм перевода весьма сложен, выделяют два основных способа трансляции — это
программы или ее интерпретация.
При компиляции исходный программный код сразу целиком переводится в машинный. Создается исполняемый файл, который уже никак не связан с исходным кодом. Выполнение исполняемого файла обеспечивается операционной системой самостоятельно.
При интерпретации выполнение кода происходит построчно. Интерпретатор, выполняя программу, напрямую взаимодействует с операционной системой.
Выполнение откомпилированной программы происходит быстрее, т.к. она представляет собой готовый машинный код. Однако на современных компьютерах снижение скорости выполнения при интерпретации обычно не заметна.

Для перевода кода с одного языка программирования (например, высокого уровня) на другой (например, машинный язык) требуется специальная программа — транслятор.

Слайд 23

4. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ

Отличие от языков высокого уровня заключается в возможности отстранения от

4. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ Отличие от языков высокого уровня заключается в возможности отстранения
алгоритма выполнения программы.
С помощью таких языков разработчик как бы оперирует виртуальными объектами.
На сегодняшний день, реализация больших и сложных проектов осуществляется в основном с помощью ООП

Слайд 24

ООП

Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в виде

ООП Объе́ктно-ориенти́рованное программи́рование (ООП) — методология программирования, основанная на представлении программы в
совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования
Понятие объектно-ориентированного программирования – программный модуль, объединяющий в единое целое данные и программы, манипулирующие данными. Объект характеризуется свойствами, которые являются параметрами объекта и методами, которые позволяют воздействовать на объект и его свойства.

Слайд 25

НЕКОТОРЫЕ ОПРЕДЕЛЕНИЯ

Метод – действие в виде процедуры, которое выполняет объект (иногда говорят

НЕКОТОРЫЕ ОПРЕДЕЛЕНИЯ Метод – действие в виде процедуры, которое выполняет объект (иногда
– выполняется над объектом).
Идентификатор — символическое имя объекта, переменной или подпрограммы, которые однозначно идентифицируют их в программе.
Выражение — конструкция на языке программирования, предназначенная для выполнения вычислений.
Операнд — константа, переменная, функция, выражение или другой объект языка программирования, над которым производятся операции.
Операция - конструкция в языках программирования, аналогичная по записи математическим операциям, то есть специальный способ записи некоторых действий
Присваивание - операция записи значения в переменную.

Слайд 26

ПРИМЕРЫ ЯЗЫКОВ ВЫСОКОГО УРОВНЯ И ООП

C, C++, C#, Delphi, Fortran, Java,

ПРИМЕРЫ ЯЗЫКОВ ВЫСОКОГО УРОВНЯ И ООП C, C++, C#, Delphi, Fortran, Java,
JavaScript, Лисп, Паскаль, PHP.
Языкам высокого уровня свойственно
умение работать с комплексными структурами данных
в большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.

Слайд 27

ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ

Императивное программирование - это парадигма программирования, которая описывает процесс вычисления в

ПАРАДИГМЫ ПРОГРАММИРОВАНИЯ Императивное программирование - это парадигма программирования, которая описывает процесс вычисления
виде инструкций, изменяющих состояние данных.
структурное и объектно-ориентированное
Декларативное программирование это парадигма программирования, вместо пошагового алгоритма решения задачи задаётся спецификация решения задачи, т.е. описывается, что собой представляет проблема и что требуется получить в качестве результата.
функциональное программирование
Визуальное программирование способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста
Мультипарадигмальное программирование - допускают использование различных парадигм

Слайд 28

Визуальное программирование способ создания программы для ЭВМ путём манипулирования графическими объектами вместо

Визуальное программирование способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста
написания её текста