ПРОГРАМИРОВАНИЕ- лекция для програмистов

MarianaManoeva1 0 views 26 slides Sep 04, 2025
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

лекция для програмистов , основи програмирования


Slide Content

Рейн Т.С.
ПРОГРАММИРОВАНИЕ
Программирование – это то, чем
занимаются программисты
(фольклор)
Программирование как и «любовь» -
одно слово, за которым скрывается
бесконечное множество понятий
(Вейнберг)

Основные понятия
Информатика - это наука, изучающая
законы и методы накопления, передачи и
обработки информации с помощью
компьютера
Программирование – это раздел
информатики, изучающий описание
процессов обработки данных

Основные понятия
Йодан:
Программа – «... не поддающееся строгому
определению произведение искусства,
порожденное не без колдовства и черной
магии»
Программа – это последовательность команд,
которая в сочетании с соответствующими
данными и управляющей информацией
обеспечивает реализацию некоторого
корректно определенного алгоритма.

Основные понятия
Брукс:
Программа – завершенный продукт, пригодный
для запуска своим автором на системе, на
которой он был разработан
Программный продукт – это программа,
которую любой человек может запустить,
тестировать, исправить, развивать. Такая
программа должна быть написана в обобщенном
стиле, тщательно протестирована и
сопровождена подробной документацией

Основные понятия
Алгоритм - это точное и конечное описание
того или иного общего метода, основанного на
применении исполнимых элементарных тактов
обработки

Свойства алгоритма
Конечность
Определенность
Наличие входных данных
Наличие выходных данных
Эффективность

Языки и системы
программирования

Примеры
/С/
#include <stdio.h>
int main()
{ printf(“Hello, student”);
return(0);
}
/Pascal/
Program First;
begin
writeln (“Hello,
student”);
end;
 /Java/
Public class Student
{public static void main(string[] args)
{ System.out.println(“Hello, student”);
}}

Программа должна удовлетворять
требованиям:
Быть однозначно понятной для человека
Удовлетворять точно определенным правилам
построения (формальному синтаксису языка)
Понятна для исполнителя (абстрактного или
конкретного)


Лексемой называется минимальная
осмысленная для исполнителя
последовательность символов
Например:
‘ABC’ – лексема
‘ABC – не является лексемой
х=х1
лексемане лексема (только ее часть)
Определения

Минимальная последовательность лексем,
способная вызвать действия исполнителя,
называется конструкцией языка

Среди конструкций языка выделяют
операторы,
например:
y=sin(x) - оператор
Определения

Реализация языка – комплект программ, с
помощью которого обеспечиваются:
Поддержка операций с исходной программой
(ввод, редактирование, сохранение текста, анализ
синтаксических ошибок)
Подготовка синтаксически правильной
программы к исполнению на конкретном
исполнителе
Определения

Файловую систему
 Редактор для ввода текстов
Транслятор для преобразования текстов
программ к виду, в котором она может
исполняться, или указания ошибок, если
преобразование не удается
Библиотеки периода трансляции
Библиотеки периода исполнения
Отладчик
Пользовательские библиотеки
Средства поддержки разработки программ
Система программирования
включает:

Каждый язык программирования определяет
свою модель вычислений, которая зависит от
Способов представления данных
Способов вызова процедур и т.д.

Методологии
программирования

Методология программирования
- совокупность методов, применяемых
при разработке программ и
объединенным единым философским
подходом

Основные ядра методологий:
Методология императивного программирования
Методология объектно-ориентированного
программирования
Методология логического программирования
Методология функционального
программирования
Методология программирования в ограничениях

Методология императивного
программирования:
Подход, характеризующийся принципом
последовательного изменения
состояния вычислителя пошаговым
образом.
Управление изменениями полностью
определено и полностью контролируемо

Вычислительная модель
Для ПК
Состояние – значение всех ячеек памяти,
состояние процессора и всех сопряженных
устройств
Единственная структура данных –
последовательность ячеек (пар «адрес-> значение»)
с линейно упорядоченными адресами
Математическая модель – машина Тьюринга-
Поста (абстрактное вычислительное устройство для
описания алгоритмов)

Синтаксис и семантика

Оператор- основное синтаксическое понятие
Атомарный оператор – оператор, у которых
никакая его часть не является самостоятельным
оператором
Структурные операторы – операторы,
объединяющие другие операторы в новый, более
крупный оператор

Средство структурирования - подпрограммы

Языки программирования
Fortran (1954)
Algol (1960)
Pascal (1970)
C (1972)
Sql, Pl/sql
Java
Prolog
Lisp
VBA
Xml, Html

Области применения языков
программирования
В настоящее время языки программирования
применяются в самых различных областях
человеческой деятельности, таких как:
научные вычисления (языки C++, FORTRAN, Java);
системное программирование (языки C++, Java);
обработка информации (языки C++, COBOL, Java);
искусственный интеллект (LISP, Prolog);
издательская деятельность (Postscript, TeX);
удаленная обработка информации (Perl, PHP, Java, C+
+);
описание документов (HTML, XML).

Парадигмы
программирования
Синтаксис языка описывает систему правил написания различных языковых
конструкций, а семантика языка программирования определяет смысл этих
конструкций. Синтаксис языка программирования может быть описан с
помощью НБФ-нотаций. Семантика языка взаимосвязана с используемой
вычислительной моделью.
Процедурные языки , которые представляют собой последовательность
выполняемых операторов. К процедурным языкам относятся FORTRAN, C,
Ada, Pascal и некоторые другие. Процедурные языки иногда также
называются императивными языками. Код программы на процедурном
языке может быть записан следующим образом:
оperator1; operator2; operator3;
Аппликативные языки , в основу которых положен функциональный
подход. Язык рассматривается с точки зрения нахождения функции,
необходимой для перевода памяти ПК из одного состояния в другое.
Программа представляет собой набор функций, применяемых к начальным
данным, позволяющий получить требуемый результат. К аппликативным
языкам относится язык LISP. Код программы на аппликативном языке
может быть записан следующим образом:
function1(function2( function3(beginning_date)));

Языки системы правил , называемые также языками
логического программирования, основываются на
определении набора правил, при выполнении которых
возможно выполнение определенных действий. Правила
могут задаваться в виде утверждений и в виде таблиц
решений. К языкам логического программирования
относится язык Prolog. Код программы на языке системы
правил может быть записан следующим образом: if
condition1 then operator1; if condition2 then operator2; if
condition3 then operator3;
Объектно-ориентированные языки , основанные на
построении объектов как набора данных и операций над
ними. Объектно-ориентированные языки объединяют и
расширяют возможности, присущие процедурным и
аппликативным языкам. К объектно-ориентированным
языкам относятся C++, Object Pascal, Java.
Парадигмы
программирования

Стандартизация языков
программирования
Американский национальный
институт стандартов ANSI
(American National Standards
Institute) - стандарт ISO

Модели трансляции
Программа, написанная на языке высокого
уровня, перед исполнением должна быть
преобразована в программу на "машинном
языке". Такой процесс называется
трансляцией, или компиляцией. По типу
выходных данных различают два основных
вида трансляторов:
компилирующие окончательный выполнимый код;
компилирующие интерпретируемый код, для
выполнения которого требуется дополнительное
программное обеспечение.
Tags