Скачать презентацию Модуль 1 Основы программирования на языке высокого уровня Скачать презентацию Модуль 1 Основы программирования на языке высокого уровня

ЯП тема 01.ppt

  • Количество слайдов: 18

Модуль 1. Основы программирования на языке высокого уровня Рассматриваются критерии качества программ, этапы решения Модуль 1. Основы программирования на языке высокого уровня Рассматриваются критерии качества программ, этапы решения задач на компьютере, базовые понятия: из каких простейших «кирпичиков» состоят все тексты на языке программирования, что понимают под типом данных, какие встроенные типы данных есть в языке C++. 1

Критерии качества ПО Внешние характеристики n n n корректность практичность эффективность надежность целостность адаптируемость Критерии качества ПО Внешние характеристики n n n корректность практичность эффективность надежность целостность адаптируемость Внутренние характеристики n n n удобство сопровождения тестируемость удобочитаемость гибкость портируемость Основные - надежность, возможность точно планировать производство и сопровождение. Для этой цели программа должна иметь простую структуру, быть хорошо читаемой, быть легко модифицируемой 2

Парадигмы программирования n Парадигма — способ организации программы, то есть принцип ее построения. Наиболее Парадигмы программирования n Парадигма — способ организации программы, то есть принцип ее построения. Наиболее распространенными являются процедурная и объектно-ориентированная парадигмы. Они различаются способом декомпозиции, положенным в основу при создании программы. n Процедурная декомпозиция состоит в том, что задача, реализуемая программой, делится на подзадачи, а они, в свою очередь — на более мелкие этапы, то есть выполняется пошаговая детализация алгоритма решения задачи. n Объектно-ориентированная декомпозиция предполагает разбиение предметной области на объекты и реализацию этих объектов и их взаимосвязей в виде программы. n Кроме того, существуют функциональная и логическая парадигмы. 3

Этапы разработки программы v v v v v формулировка и постановка задачи; выбор метода Этапы разработки программы v v v v v формулировка и постановка задачи; выбор метода решения задачи; разработка алгоритма решения задачи; написание текста программы; набор текста программы и сохранение в электронном виде; трансляция программы; исправление ошибок; выполнение программы; анализ и документирование полученных результатов. 4

Запись алгоритмов v 1. 2. 3. 4. 5. v v словесная Алгоритм покупок на Запись алгоритмов v 1. 2. 3. 4. 5. v v словесная Алгоритм покупок на лимитированную сумму Сумма покупок равна нулю Если все нужные товары выбраны, перейти к пункту 5, иначе выбрать товар. Если цена товара, добавленная к сумме покупок, не превысит имеющийся лимит, положить товар в корзину, иначе товар оставить на полке и перейти к пункту 5. Перейти к пункту 2. Идти в кассу оплачивать товары. Графическая На алгоритмическом языке 5

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

Примеры блок-схем начало Ввод А, В Ввод Х начало Ввод Х если Х>0 Х=А-В Примеры блок-схем начало Ввод А, В Ввод Х начало Ввод Х если Х>0 Х=А-В Вывод Х Y=1 Y=0 нет Вывод Y конец Вывод Х конец Х=0? да конец 7

Пример структуры программы директивы препроцессора Описания данных и/или функции int main() { операторы и Пример структуры программы директивы препроцессора Описания данных и/или функции int main() { операторы и описания главной функции } Примеры директив препроцессора: 1) #define - указывает правила замены в тексте. #define ZERO 0 Означает , что каждое использование в программе имени ZERO будет заменяться на 0 2) Директива #include включает в текст программы содержимое указанного файла. Эта директива имеет две формы: #include " имя_файла " #include <имя_файла> 8

Формирование исполняемой программы Исходный текст программы *. сpp (*. c) Препроцессор Полный текст программы Формирование исполняемой программы Исходный текст программы *. сpp (*. c) Препроцессор Полный текст программы *. cpp Компилятор Объектный код *. obj Включаемые файлы (*. h) Компоновщик Исполняемая программа Библиотечные файлы *. lib 9

Состав языка программа операторы Примеры: a=b++; for (i=0; i<n; ++i) выражения лексемы символы a+b-t Состав языка программа операторы Примеры: a=b++; for (i=0; i

Список ключевых слов asm do if return typedef auto double inline short typeid bool Список ключевых слов asm do if return typedef auto double inline short typeid bool dynamic_cast int signed typename break else long case enum mutable static unsigned catch explicit namespace static_cast using char export new struct virtual class extern operator switch void const false private template volatile const_cast float protected this wchar_t continue for throw while default friend public register sizeof union true 11

Константы Вид Логическая Целые дес. Восьм. Шестн. Веществ. Вещ. с плав. т. Символьные Строковые Константы Вид Логическая Целые дес. Восьм. Шестн. Веществ. Вещ. с плав. т. Символьные Строковые Примеры true (истина) false (ложь) 8 0 199226 01 020 07155 0 x. A 0 x 1 B 8 0 X 00 FF 5. 7 . 001 35. 0. 2 E 6 . 11 e– 3 5 E 10 'A‘ 'ю‘ '*‘ 'db‘ '' 'n‘ '12‘ 'x 07' "Здесь был Vasia" " t. Значение r= x. F 5n" Явное указание типа констант: 0 X 22 UL, 05 Lu, 2 E+6 L, 1. 82 f 12

Управляющие последовательности a b f n r t v \ ' Управляющие последовательности a b f n r t v \ ' " ? ddd xdd 7 8 C A D 9 B 5 C 27 22 3 F dd Звуковой сигнал Возврат на шаг Перевод страницы (формата) Перевод строки Возврат каретки Горизонтальная табуляция Вертикальная табуляция Обратная косая черта Апостроф Кавычка Вопросительный знак Восьмеричный код символа Шестнадцатиричный код символа 13

Типы данных Тип данных определяет: lвнутреннее представление данных в памяти компьютера => множество значений, Типы данных Тип данных определяет: lвнутреннее представление данных в памяти компьютера => множество значений, которые могут принимать величины этого типа; lоперации и функции, которые можно применять к величинам этого типа. Типы в С++ делятся на основные (fundamental) и составные (compound). Тип может описывать объект, ссылку или функцию. 14

Основные (стандартные) типы данных int (целый); char (символьный); wchar_t (расширенный символьный); bool (логический); float Основные (стандартные) типы данных int (целый); char (символьный); wchar_t (расширенный символьный); bool (логический); float (вещественный); double (вещественный с двойной точностью). Спецификаторы: short (короткий); long (длинный); signed (знаковый); + void unsigned (беззнаковый). 15

Составные типы v Массивы; v Структуры; v Объединения; v Перечисления; v Ссылки; v Указатели Составные типы v Массивы; v Структуры; v Объединения; v Перечисления; v Ссылки; v Указатели v Классы 16

Диапазоны для IBM PC-совместимых Тип Диапазон значений bool signed char 1 unsigned char signed Диапазоны для IBM PC-совместимых Тип Диапазон значений bool signed char 1 unsigned char signed short int unsigned short int 2 signed long int unsigned long int float 4 Размер(байт) true и false – 128 … 127 1 0 … 255 – 32 768 … 32 767 0 … 65 535 1 2 – 2 147 483 648 … 2 147 483 647 4 0 … 4 294 967 295 4 3. 4 e– 38 … 3. 4 e+38 17

Диапазоны типов по стандарту v sizeof(float) ≤ sizeof(double) ≤ sizeof(long double) v sizeof(char) ≤ Диапазоны типов по стандарту v sizeof(float) ≤ sizeof(double) ≤ sizeof(long double) v sizeof(char) ≤ sizeof(short) ≤ sizeof(int) ≤ sizeof(long) v Минимальные и максимальные значения определены в файлах: v - целые v - вещественные 18