НРТК
Обозначения и договоренности
C: Немного истории
С: Немного истории
С++: Продолжение С
Общая характеристика С
Общая характеристика С
Следующие темы
Что такое алгоритмический язык?
Что такое алгоритм?
Что такое алгоритм?
Что же такое алгоритм?
А это значит, что:
Схема универсального АЯ
Литература
Что такое программа для ЭВМ?
113.53K
Категория: ПрограммированиеПрограммирование

С и C++ — универсальные алгоритмические языки. С / С++. Тема 01

1. НРТК

С / С++
Тема 01. С и C++ — универсальные
алгоритмические языки
НРТК, 2022 г. 1
С и C++ — универсальные алгоритмические языки
Созонов А.А.

2. Обозначения и договоренности

Обычный текст
Определение
Текст программы или примера
Специфичная для Microsoft Visual Studio
информация
Устаревшие и не рекомендованные к
использованию возможности
НРТК, 2022 г. 2
С и C++ — универсальные алгоритмические языки
Созонов А.А.

3.

Немного истории
НРТК, 2022 г. 3
С и C++ — универсальные алгоритмические языки
Созонов А.А.

4. C: Немного истории

• 1970 г., Денис Ритчи, AT&T Bell Laboratories
• UNIX PDP-11: A (ассемблер) — B — C
– говорят, что авторы «улучшали» синтаксис, пока
не стало компилироваться:
#include <stdio.h>
main()
{
int R, e, C, *u;
for(;printf("\n"),R--; printf("|") )
for( e=C; e--;printf("_"+(*u++/8)%2))
printf("| "+(*u/4)%2);
}
НРТК, 2022 г. 4
С и C++ — универсальные алгоритмические языки
Созонов А.А.

5. С: Немного истории

• Первый продукт — компилятор
• 1976 г. – перенос Unix на Interdata 8/32
(затем и на другие платформы)
• 1978 г. — первая книга
• 1987 г. — стандарт ANSI C
• UNIX, OS IBM, MS DOS, Mac OS, …
• 1999 г. — стандарт ISO 9899:1999
Поробнее — см.
C/C++: http://www.helloworld.ru/texts/comp/lang/c/c8/index.htm
НРТК, 2022 г. 5
С и C++ — универсальные алгоритмические языки
Созонов А.А.

6. С++: Продолжение С


1980 г., Бьярн Страуструп AT&T Bell
Laboratories
– С++ почти включает С (но есть и
несовместимости)
– С++ расширяет С за счет ООП и строгой проверки
типов
Borland C++, Visual C++, Borland C++ Builder,
Microsoft Visual Studio C++ Compiler, Intel C++
Compiler, GNU C++ Compiler…
1998 г. — стандарт ISO 14882:1998
2003 г. — стандарт ISO 14882:2003
НРТК, 2022 г. 6
С и C++ — универсальные алгоритмические языки
Созонов А.А.

7.

Общая характеристика С
НРТК, 2022 г. 7
С и C++ — универсальные алгоритмические языки
Созонов А.А.

8. Общая характеристика С

• C — язык низкого уровня
– компьютерные (аппаратные) типы данных
– логические операции над битами, сдвиги, работа
с адресами и регистрами
• C — язык высокого уровня
– структуры данных и операторы структурного
программирования
– необычно большой набор операций
– указатели и функции
• Простой компилятор
– эффективность
– экономичность
– переносимость
НРТК, 2022 г. 8
С и C++ — универсальные алгоритмические языки
Созонов А.А.

9. Общая характеристика С

• Препроцессор
• Развитые библиотеки
– богатая стандартная библиотека
– большое число разнообразнейших библиотек
• Существенные недостатки
– трудность чтения низкоуровнего кода:
a++ << --b | 4
– «слабый» синтаксис
• ‘a’ + 28
• контроль параметров функций
НРТК, 2022 г. 9
С и C++ — универсальные алгоритмические языки
Созонов А.А.

10.

Алгоритмы и основы
алгоритмизации
НРТК, 2022 г. 10
С и C++ — универсальные алгоритмические языки
Созонов А.А.

11. Следующие темы


Что такое алгоритмический язык?
Что такое алгоритм?
Что такое программа?
Схема универсального алгоритмического
языка
НРТК, 2022 г. 11
С и C++ — универсальные алгоритмические языки
Созонов А.А.

12. Что такое алгоритмический язык?

• Это язык для записи программ для ЭВМ
• Программа — одна из форм представления
алгоритма
• Формы представления алгоритмов
– описательная (на естественном языке)
– графическая (блок-схемы)
– программой
• Алгоритмический язык — язык для записи
алгоритмов
• Что такое алгоритм?
НРТК, 2022 г. 12
С и C++ — универсальные алгоритмические языки
Созонов А.А.

13. Что такое алгоритм?

• Алгоритм это — последовательность
действий, которые надо выполнить для
достижения заданной цели
– инструкция по включению телевизора
– правила дорожного движения
– «где ты купила эту кофточку»?
• Исполнитель алгоритма — человек,
техническое устройство, и т. д.
НРТК, 2022 г. 13
С и C++ — универсальные алгоритмические языки
Созонов А.А.

14. Что такое алгоритм?

• Как вскипятить чайник?
– налейте в чайник воду
– включите газ на плите
– поставьте чайник на плиту
–…
• Как разогреть воды?
– вылить воду из чайника
– выполнить алгоритм «вскипятить чайник»
НРТК, 2022 г. 14
С и C++ — универсальные алгоритмические языки
Созонов А.А.

15. Что же такое алгоритм?

• Последовательность однозначно
понимаемых действий (операций) над
однозначно понимаемыми объектами
(данными)
• Определяющие свойства алгоритма
– исходные и результирующие данные
– начальное и конечное действие
– конечность (ограниченность) действий
– декомпозиция на составные части
(подалгоритмы)
– эффективность
НРТК, 2022 г. 15
С и C++ — универсальные алгоритмические языки
Созонов А.А.

16. А это значит, что:

• Алгоритмический язык должен
предоставить средства для
– описания объектов (данных) алгоритма
– описания действий (операций) алгоритма
– декомпозиции алгоритма на составные части
(подалгоритмы)
• Алгоритмические языки бывают
– универсальными
– специализированными
• И средства этих языков
– универсальные
– специализированные
НРТК, 2022 г. 16
С и C++ — универсальные алгоритмические языки
Созонов А.А.

17. Схема универсального АЯ

АЯ
Объекты (данные)
Действия
Прост. типы
Операции
Целое
+ - * /
Действительное

Строка

Операторы
Структуры
ввод / вывод
Массив
присваивания
Запись
ветвления

цикла
Декомпозиция
Процедуры и
функции
Раздельная
компиляция файлов
Библиотеки
переключатель

НРТК, 2022 г. 17
С и C++ — универсальные алгоритмические языки
Созонов А.А.

18. Литература


Страуструп Б. Язык программирования Си++.
Специальное издание. Пер. с англ. — М.: ООО «БиномПресс», 2004. — 1104 с.
Липпман С. Основы программирования на С++. Вводный
курс. Пер. с англ. — М.: Вильямс, 2002.
Лафоре Р. Объектно-ориентированное программирование
в C++. Пер. с англ. — СПб.: Питер, 2003. — 928 с.
Шилдт Г. Полный справочник по C++. Пер. с англ. — М.:
Вильямс, 2004. — 800 с.
Подбельский В. В. Язык Си++: Учебное пособие. — 5-е
изд., дораб. — М.: Финансы и статистика, 2006. — 560 с.
НРТК, 2022 г. 18
С и C++ — универсальные алгоритмические языки
Созонов А.А.

19. Что такое программа для ЭВМ?

• То, что ЭВМ может выполнять
• Последовательность команд (инструкций), которые может
выполнять (интерпретировать) ЭВМ
• Программа – форма представления алгоритма
• Формы представления алгоритма:
– Описательная (на естественном языке)
– Графическая (блок-схемы)
– Программа
Задача
НРТК, 2022 г. 19
Алгоритм
?
Алг. язык
Программа
Описание
Алг. язык 2
Программа 2
Блок-схема
Алг. язык 3
Программа 3
С и C++ — универсальные алгоритмические языки
Созонов А.А.
English     Русский Правила