Алгоритмы, языки, типы данных, ввод-вывод. Лекция 1 по алгоритмизации и программированию

Содержание

Слайд 2

Лекции – 28 часов Лабораторные -14 часов Контрольные мероприятия -2 Итоговое контрольное мероприятие - экзамен

Лекции – 28 часов
Лабораторные -14 часов
Контрольные мероприятия -2
Итоговое контрольное мероприятие -

экзамен
Слайд 3

Слайд 4

Слайд 5

Слайд 6

Слайд 7

Лекция 1 Введение в понятие алгоритма. Свойства алгоритма. Этапы решения задачи

Лекция 1

Введение в понятие алгоритма. Свойства алгоритма.
Этапы решения задачи с

использованием компьютера.
Языки программирования . Способы описания зыков программирования.
Структура программы на языке С++.
Скалярные типы данных.
Организация ввода-вывода.
Слайд 8

Введение в понятие алгоритма. Свойства алгоритма. Обработка информации Входные данные Результат АЛГОРИТМ

Введение в понятие алгоритма. Свойства алгоритма.

Обработка информации
Входные данные Результат

АЛГОРИТМ

Слайд 9

Понятие алгоритма Алгоритм (по Колмогорову) – это всякая система вычислений, выполняемых

Понятие алгоритма

Алгоритм (по Колмогорову) – это всякая система вычислений, выполняемых

по строго определенным правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.
Алгоритм (по Маркову) – это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату.
Алгоритм – это понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.
Слайд 10

Исполнитель алгоритма Исполняет алгоритм формально Исполняет только команды Не задумывается о том какую задачу решает

Исполнитель алгоритма

Исполняет алгоритм формально
Исполняет только команды
Не задумывается о том какую задачу

решает
Слайд 11

Свойства алгоритма 1. Дискретность 2. Элементарность шагов 3. Определенность (детерминированность) 4.

Свойства алгоритма

1. Дискретность
2. Элементарность шагов
3. Определенность (детерминированность)
4. Конечность (финитивность)
5. Массовость
6. Понятность

Слайд 12

Дискретность означает, что алгоритм состоит из отдельных шагов и эти шаги

Дискретность означает, что алгоритм состоит из отдельных шагов и эти шаги

выполняются в дискретном времени, т.е. любые два последовательных шага разделены при исполнении конечным, ненулевым отрезком времени.
Элементарность шагов означает, что объем работы, выполняемой на отдельном шаге, ограничивается некоторой константой, зависящей от характеристик исполнителя алгоритма и не зависящей от входных данных и промежуточных значений. Для численных алгоритмов такими элементарными шагами могут быть, например, сложение, вычитание, умножение, деление, сравнение двух 32-х разрядных чисел, пересылка одного числа из некоторого места памяти в другое. К элементарным шагам не относится, например, сравнение двух файлов, так как время сравнения зависит от длины файлов, то есть от входных данных.
Детерминированность (определенность, точность) алгоритма означает, что для каждого шага по набору исходных данных могут быть однозначно вычислены результаты выполнения шага, и эти результаты не зависят ни от каких случайных факторов.
Слайд 13

Конечность (финитивность, результативность) алгоритма означает, что для получения результата нужно выполнить

Конечность (финитивность, результативность) алгоритма означает, что для получения результата нужно выполнить

конечное число шагов, т.е. исполнитель в некоторый момент времени должен остановиться.
Массовость алгоритма означает, что входные данные для алгоритма могут быть выбраны из некоторого множества значений. Если же входные данные уникальны, то алгоритм в силу свойства определенности (детерминированности) всегда будет давать один и тот же результат и само построение алгоритма теряет смысл.
Понятность алгоритма означает, что алгоритм должен быль записан с помощью команд, входящих в Систему команд исполнителя (СКИ). Чтобы исполнитель мог достичь поставленной цели, пользуясь алгоритмом, он должен уметь выполнять каждое его указание, т. е. понимать каждую из команд, из которых состоит алгоритм.
Слайд 14

Данные Данные – это информация, представленная в виде, пригодном для ее

Данные

Данные – это информация, представленная в виде, пригодном для ее передачи

и обработки автоматическими средствами (в том числе компьютером).
Слайд 15

Способы записи алгоритмов Естественный язык Язык блок-схем Язык исполнителя (алгоритмический язык)

Способы записи алгоритмов

Естественный язык
Язык блок-схем
Язык исполнителя (алгоритмический язык)

Слайд 16

Основные управляющие структуры

Основные управляющие структуры

Слайд 17

ЦИКЛЫ

ЦИКЛЫ

Слайд 18

Слайд 19

Слайд 20

Компьютер – универсальный исполнитель алгоритмов Обрабатывает все виды информации: Числовую Текстовую Графическую Звуковую

Компьютер – универсальный исполнитель алгоритмов
Обрабатывает все виды информации:
Числовую
Текстовую
Графическую
Звуковую

Слайд 21

Этапы решения задач на компьютере Постановка задачи (определение требований к системе):

Этапы решения задач на компьютере

Постановка задачи (определение требований к системе):
выясняется конечная

цель
вырабатывается общий подход к решению задачи
проверяется, являются ли исходные данные полными, т.е. содержат ли они информацию, необходимую и достаточную для решения задачи
определяются тип и структура данных
определяются ограничения, накладываемые на значения.
Формализация (математическая постановка). Строится математическая модель.
Модель - это упрощенное представление о реальном объекте, процессе или явлении.
Слайд 22

Этапы решения задач на компьютере Выбор метода решения Разработка алгоритма Составление

Этапы решения задач на компьютере

Выбор метода решения
Разработка алгоритма
Составление программы
Тестирование

и Отладка (тестирование)
Тестирование – это выполнение программы с целью обнаружения факта наличия в программе ошибки.
Отладка – определение места ошибки и внесение исправлений в программу.
Эксплуатация программы (вычисление и обработка результатов)
Слайд 23

Описание языков программирования Язык программирования — набор лексических, синтаксических и семантических

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

Язык программирования — набор лексических, синтаксических и семантических правил,

задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
· машинные;
· машинно-оpиентиpованные (ассемблеры);
· машинно-независимые (языки высокого уровня)
СРС : выписать характеристики каждого уровня ЯП, привести приеры названия ЯП каждого уровня
Слайд 24

Языки высокого уровня делятся на: · процедурные (императивные); · логические; · объектно-ориентированные.

Языки высокого уровня делятся на:
· процедурные (императивные);
· логические;
· объектно-ориентированные.

Слайд 25

Транслятор - это программа, которая переводит входную программу на входном языке

Транслятор - это программа, которая переводит входную программу на входном языке

в эквивалентную ей выходную программу на результирующем (выходном) языке.

По способу трансляции языки делятся на:
· компиляторы
· интерпретаторы

Слайд 26

В компиляторах перевод всего текста программы в код осуществляется сразу, и

В компиляторах перевод всего текста программы в код осуществляется сразу, и

создаются исполняемый файл (обычно он имеет расширение .exe), который затем можно неоднократно запускать. Исполняемый файл может запускаться на любом компьютере, даже при отсутствии самой программы-компилятора.
Слайд 27

В интерпретаторах при запуске программы каждая ее строчка последовательно переводится в

В интерпретаторах при запуске программы каждая ее строчка последовательно переводится в

код и выполняется; затем переводится в код и выполняется другая строчка, и так далее. Исполняемого файла при этом не создается. Достоинство интерпретатора — отсутствие промежуточных действий для трансляции. Это упрощает реализацию интерпретатора и делает его удобнее в использовании, в том числе в диалоговом режиме. Недостаток этого метода заключается в том, что интерпретатор должен быть в наличии на целевой машине, где должна исполняться программа.
Слайд 28

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

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

алфавит
синтаксис
семантика
прагматика

Слайд 29

Алфавит — это фиксированный для данного языка набор основных символов, т.е.

Алфавит — это фиксированный для данного языка набор основных символов, т.е.

"букв алфавита", из которых должен состоять любой текст на этом языке.
Синтаксис — это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза.
Семантика определяет смысловое значение предложений языка.
Прагматика определяет смысл конструкций языка.
Слайд 30

Метаязык – позволяет описывать любые конструкции любого языка. Терминальные символы –

Метаязык – позволяет описывать любые конструкции любого языка.

Терминальные символы – это

символы, из которых строится текст программы. Например, для языка Паскаль терминальными будут символы begin, end, integer.
Нетерминальные символы – это символы, которые относятся к описанию языка программирования, а не к самому языку. Например, идентификатор, двоичная цифра.
Слайд 31

Метасимволы БНФ: 1) В БНФ знак «::=» (читается «это есть») –

Метасимволы БНФ:

1) В БНФ знак «::=» (читается «это есть») – разделяет

левую и правую часть правил.
2) Знак «|» (читается «или») – разделяет возможные альтернативы в правой части правила.
3) Квадратные скобки «[]» (читается «может быть») выделяют подцепочку, которая может присутствовать или отсутствовать в описываемой конструкции.
4) Фигурные скобки означают возможный повтор заключенной в них подцепочки нуль или более раз. Повтор 0 – это просто отсутствие подцепочки.
Слайд 32

Формулы Бэкуса-Наура используют следующие обозначения: • любое понятие берется в угловые

Формулы Бэкуса-Наура используют следующие обозначения:
• любое понятие берется в угловые скобки.
Например,

<двоичная цифра>;
• это есть: ::=;
• 0|1; (это ноль или единица).
<двоичная цифра>::=0|1
Слайд 33

::= | ::=if then [else ]; ::= { | }

<двоичный код>::=<двоичная цифра>|<двоичный код><двоичная цифра>
<условный оператор>::=if <условие> then<оператор> [else <оператор>];
<идентификатор>::=<буква>{<буква>|<цифра>}

Слайд 34

Синтаксические диаграммы Вирта. На синтаксических диаграммах используются два вида четырехугольников –

Синтаксические диаграммы Вирта.

На синтаксических диаграммах используются два вида четырехугольников –

с прямыми и скругленными углами (иногда их заменяют кружками или овалами).
В прямоугольники заключаются элементы языка, значение которых должно быть определено (нетерминальные символы).
В четырехугольниках со скругленными углами (или кружках, овалах) размещаются терминальные (базовые) символы, или иероглифы языка, значение которых в определении не нуждается.
Направление движения по диаграмме при раскрытии структуры понятия, записанного при входе в диаграмму, указывают стрелки.
Слайд 35

Примеры ::=0|1; :::= | ;

Примеры

<двоичная цифра>::=0|1;
<двоичный код>:::=<двоичная цифра>|<двоичный код>;

Слайд 36

Принципы тестирования программ Ошибки в программе есть Тест – это совокупность

Принципы тестирования программ

Ошибки в программе есть
Тест – это совокупность исходных

данных и ожидаемых результатов. Тест должен быть разработан заранее.
Тестовые данные должны быть достаточно просты для проверки.
Первые тесты разрабатываются после получения задания на разработку программы до написания программного кода. Цель ранней разработки тестов – уточнить постановку задачи, выявить «тонкие» места.
Перед началом тестирования следует сформулировать цели, которые должны быть достигнуты в ходе тестирования. В частности, набор тестов должен быть полон с точки зрения выбранных критериев полноты тестирования.
Слайд 37

Принципы тестирования программ В процессе тестирования необходимо фиксировать выполненные тесты и

Принципы тестирования программ

В процессе тестирования необходимо фиксировать выполненные тесты и реально

полученные результаты. Это нужно для того, чтобы уметь отделять проверенные участки в программе от непроверенных.
Тесты должны быть одинаково тщательны как для правильных, так и для неправильных входных данных.
Необходимо проверить два момента: программа делает то, что должна делать; программа не делает того, чего делать не должна.
Результаты необходимо изучать досконально и объяснять полностью.
Недопустимо ради упрощения тестирования изменять программу.
Слайд 38

Принципы тестирования программ После исправления программы необходимо повторное тестирование. «Вероятность внесения

Принципы тестирования программ

После исправления программы необходимо повторное тестирование. «Вероятность внесения новой

ошибки при исправлении старой оценивается в 20-25%. Для особо сложных систем эта вероятность может быть значительно выше.
Чем больше ошибок в модуле, тем больше вероятность, что там есть еще.
13) Окончательное тестирование программы лучше проводить не ее автору, а другому человеку.
Слайд 39

Критерий «черного ящика». Описывают тестирование с точки зрения поставленной задачи без

Критерий «черного ящика». Описывают тестирование с точки зрения поставленной задачи без

учета внутреннего устройства программы.
Термин «черный ящик» позаимствован из кибернетики. В кибернетике представление системы в виде черного ящика означает описание ее входов и выходов, а также связей между входными воздействиями и результатами работы системы. При этом структура системы, ее внутреннее устройство никак не затрагиваются и считаются неизвестными. В качестве примера описания систем в виде черных ящиков могут служить инструкции по использованию бытовой техники
Слайд 40

Критерии «белого ящика». Учитывают структуру программы. При проектировании тестов следует начинать

Критерии «белого ящика». Учитывают структуру программы.
При проектировании тестов следует начинать с

критериев «черного ящика». Собственно, это единственно возможный способ, если вы начинаете придумывать тесты до того, как написали программу. После подготовки текста программы тесты, разработанные исходя из критериев «черного ящика», примеряются на структуру программы. Если их оказывается недостаточно, они дополняются тестами, разработанными исходя из критериев «белого ящика».
Слайд 41

Логическая структура программы Логически программа на С++ представляет собой набор функций,

Логическая структура программы

Логически программа на С++ представляет собой набор функций, каждая

функция должна реализовывать какое-то логически законченное действие. Функции вызываются либо из других функций, либо из главной функции с именем main().

void main ()
{
….
}

void f1 ()
{….}

void fn ()
{….}

Слайд 42

Физическая структура программы Физически программа на С++ представляет собой один или

Физическая структура программы

Физически программа на С++ представляет собой один или несколько

файлов.
Главная функция main()находится в файле с расширением .cpp и произвольным именем.
Другие файлы обычно содержат функции, вызываемые в main(), они оформляются в виде специальных заголовочных файлов и имеют расширение .h.

//файл с расширением .cpp
#include <имя_файла.h>
…………
#include <имя_файла.h>
void main()
{……}

//файл с расширением .h

//файл с расширением .h

Слайд 43

Физическая структура программы Физически программа на С++ представляет собой один или

Физическая структура программы

Физически программа на С++ представляет собой один или несколько

файлов.
Главная функция main()находится в файле с расширением .cpp и произвольными именем.
Другие файлы обычно содержат функции, вызываемые в main(), они оформляются в виде специальных заголовочных файлов и имеют расширение .h.

//файл с расширением .cpp
#include <имя_файла.h>
…………
#include <имя_файла.h>
void main()
{……}

//файл с расширением .h

//файл с расширением .h

Слайд 44

Пример программы #include #include using namespace std; void main() { int

Пример программы

#include
#include <сmath>
using namespace std;
void main()
{
int a,n,i,k=0;
double s=0;
cout<<"\nEnter n";
сin>>n;
for(i=1;i<=n;i++)
{


cout<<"\nEnter a";
cin>>a;
s+=a;
k++;
}
s=s/k;
cout<<"\ns="<}
Слайд 45

Обработка С++ программы

Обработка С++ программы

Слайд 46

Объектный модуль (объектный файл) — файл с промежуточным представлением отдельного модуля

Объектный модуль (объектный файл) — файл с промежуточным представлением отдельного модуля

программы, полученный в результате обработки исходного кода компилятором.
Компоновщик, или редактор связей, формирует исполняемый модуль программы, подключая к объектному модулю другие объектные модули, в том числе содержащие функции библиотек, обращение к которым содержится в любой программе (например, для осуществления вывода на экран).
Слайд 47

Слайд 48

Директивы препроцессора Задача препроцессора – преобразование текста программы до ее компиляции.

Директивы препроцессора

Задача препроцессора – преобразование текста программы до ее компиляции.
Правила

препроцессорной обработки определяет программист с помощью директив препроцессора.
Директива начинается с #.
Слайд 49

#define - указывает правила замены в тексте. #define ZERO 0.0 #include

#define - указывает правила замены в тексте.
#define ZERO 0.0

#include <имя заголовочного

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

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

Слайд 50

Основной стандартной библиотекой языка Си является библиотека stdio.h Она содержит основные

Основной стандартной библиотекой языка Си является библиотека stdio.h Она содержит основные

функции для организации ввода-вывода, для работы с файлами, а также ряд некоторых стандартных констант. В языке С++ для организации ввода-вывода используется библиотека iostream Однако в С++ можно использовать также функции из стандартных библиотек языка Си.
Слайд 51

Элементы языка С++ Естественный язык: символы, слова, словосочетания, предложения. Язык программирования: символы, лексемы, выражения, операторы.

Элементы языка С++

Естественный язык: символы, слова, словосочетания, предложения.
Язык программирования: символы, лексемы,

выражения, операторы.
Слайд 52

1. Алфавит языка (символы) прописные и строчные латинские буквы и знак

1. Алфавит языка (символы)

прописные и строчные латинские буквы и знак подчеркивания;
арабские

цифры от 0 до 9;
специальные знаки “{},| []()+-/%*.\’:;&?<>=!#^
пробельные символы (пробел, символ табуляции, символы перехода на новую строку).
Слайд 53

2. Лексемы языка Идентификаторы – имена объектов C/C++ -программ. могут быть

2. Лексемы языка

Идентификаторы – имена объектов C/C++ -программ.
могут быть использованы

латинские буквы, цифры и знак подчеркивания.
Прописные и строчные буквы различаются, например, PROG1, prog1 и Prog1 – три различных идентификатора.
Первым символом должна быть буква или знак подчеркивания (но не цифра).
Пробелы в идентификаторах не допускаются.
Слайд 54

Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для

Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для

компилятора. Их можно использовать только в том смысле, в котором они определены. Список ключевых слов – стр.19 учебника [1].
Комментарии предназначены для записи пояснений к программе и формирования документации. Компилятор комментарии игнорирует. Внутри комментария можно использовать любые символы. В C++ есть два вида комментариев: однострочные и многострочные.
Однострочный комментарий начинается с двух символов прямой косой черты (//) и заканчивается символом перехода на новую строку, многострочный заключается между символами-скобками /* и */ и может занимать часть строки, целую строку или несколько строк.
Слайд 55

Знаки операций – это один или несколько символов, определяющих действие над

Знаки операций – это один или несколько символов, определяющих действие над

операндами. Операции делятся на
унарные,
бинарные,
тернарную.
Константы – это неизменяемые величины.
целые,
вещественные,
перечисляемые,
символьные,
Строковые.
Компилятор выделяет константу в качестве лексемы (элементарной конструкции) и относит ее к одному из типов по ее внешнему виду.
Разделители – скобки, точка, запятая пробельные символы.
Слайд 56

Константы Константа – это лексема, представляющая изображение фиксированного числового, строкового или

Константы

Константа – это лексема, представляющая изображение фиксированного числового, строкового или символьного

значения. Константы делятся на 5 групп:
целые;
вещественные (с плавающей точкой);
перечислимые;
символьные;
строковые
Слайд 57

Целые константы Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными. Десятичная

Целые константы

Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными.
Десятичная константа определяется

как последовательность десятичных цифр, начинающаяся не с 0, если это число не 0 (8, 0, 192345).
Восьмеричная константа – это константа , которая всегда начинается с 0 (ноль). За 0 следуют восьмеричные цифры (016, 01).
Шестнадцатеричные константы – последовательность шестнадцатеричных цифр, которым предшествуют символы 0х или 0Х (0хА, 0Х00F).
Слайд 58

Вещественные константы Компилятор распознает вещественные константы по их виду. Вещественные константы

Вещественные константы

Компилятор распознает вещественные константы по их виду.
Вещественные константы могут

иметь две формы представления:
с фиксированной точкой
и с плавающей точкой.
Вид константы с фиксированной точкой: [цифры].[цифры] (5.7, .0001, 41.).
Вид константы с плавающей точкой:
[цифры][.][цифры]E|e[+|-][цифры] (0.5е5, .11е-5, 5Е3).
В записи вещественных констант может опускаться либо целая, либо дробная части, либо десятичная точка, либо признак экспоненты с показателем степени.
Слайд 59

Перечислимые константы Перечислимые константы - это обычные целые константы, которым приписаны

Перечислимые константы

Перечислимые константы - это обычные целые константы, которым приписаны

уникальные и удобные для использования обозначения.
enum {one=1, two=2, three=3, four=4};
enum {zero,one,two,three};
enum {ten=10, three=3, four, five, six};
enum {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
Слайд 60

Символьные константы Символьные константы – это один или два символа, заключенные

Символьные константы

Символьные константы – это один или два символа, заключенные в

апострофы.
Символьные константы, состоящие из одного символа, имеют тип char и занимают в памяти один байт, символьные константы, состоящие из двух символов, имеют целый тип и занимают два байта.
Слайд 61

Последовательности, начинающиеся со знака \, называются управляющими, они используются: для представления

Последовательности, начинающиеся со знака \, называются управляющими, они используются:
для представления символов,

не имеющих графического отображения, например:
\a – звуковой сигнал,
\b – возврат на один шаг,
\n – перевод строки,
\t – горизонтальная табуляция;
для представления символов: \ , ’ , ? , ” ( \\, \’ ,\? ,\” );
для представления символов с помощью шестнадцатеричных или восьмеричных кодов (\073, \0хF5);
Слайд 62

Строковая константа Строковая константа – это последовательность символов, заключенная в кавычки.

Строковая константа

Строковая константа – это последовательность символов, заключенная в кавычки.
Внутри

строк могут использоваться управляющие символы.
”\nНовая строка”,
”\n\”Алгоритмические языки программирования””.
Слайд 63

Переменные Переменная в C++ – именованная область памяти, в которой хранятся

Переменные

Переменная в C++ – именованная область памяти,
в которой хранятся данные

определенного типа.

int x=10

10

4 байта

х

Номер первого байта ячейки в памяти – адрес

&x

Слайд 64

Типы данных С/С++ целочисленные int (целый) char (символьный) wchar_t (расширенный символьный)

Типы данных С/С++

целочисленные
int (целый)
char (символьный)
wchar_t (расширенный символьный) (C++)
bool (логический) (C++)
с плавающей

точкой
float (вещественный)
double (вещественный с двойной точностью)
Слайд 65

Спецификатры short (короткий) long (длинный) signed (знаковый) unsigned (беззнаковый

Спецификатры

short (короткий)
long (длинный)
signed (знаковый)
unsigned (беззнаковый

Слайд 66

Тип int int - 4 байта (32-разрядный МП) / 2 байта(16-разрядный

Тип int

int - 4 байта (32-разрядный МП) / 2 байта(16-разрядный МП)
short

int – 2 байта, диапазон –32768 … +32767;
long int – 4 байта, диапазон –2 147 483 648 … +2 147 483 647;
unsigned short int – 2 байта, диапазон 0 … 65536;
unsigned long int – занимает 4 байта, диапазон 0 … +4 294 967 295.
Слайд 67

Тип char char – 1 байт signed char, диапазон от –128

Тип char

char – 1 байт
signed char, диапазон от –128 до

127.
unsigned char, диапазон от 0 до 255.
Для кодировки используется код ASCII (American Standard Code for International Interchange).
Величины типа char также применяются для хранения чисел из указанных диапазонов.
Слайд 68

Тип wchar_t Размер этого типа, как правило, соответствует типу short. Строковые

Тип wchar_t

Размер этого типа, как правило, соответствует типу short.
Строковые

константы такого типа записываются с префиксом L: L”String #1”.
Слайд 69

Тип bool true (истина) false (ложь) Внутренняя форма представления false –

Тип bool

true (истина)
false (ложь)
Внутренняя форма представления false – 0, любое другое

значение интерпретируется как true.
Слайд 70

Типы с плавающей точкой float - 4 байта, из которых один

Типы с плавающей точкой

float - 4 байта, из которых один

разряд отводится под знак мантиссы, 7 разрядов под порядок и 24 – под мантиссу.
double - 8 байтов, под порядок и мантиссу отводятся 12 (1+11) и 52 разряда соответственно.
long double - 10 байтов.
Длина мантиссы определяет точность числа, а длина порядка его диапазон.

ЧИСЛО=мантисса·10порядок
2100=2.1х103

Слайд 71

Тип void Множество значений этого типа – пусто.

Тип void

Множество значений этого типа – пусто.

Слайд 72

Ввод и вывод данных в стиле С Для ввода/вывода данных в

Ввод и вывод данных в стиле С

Для ввода/вывода данных в стиле

C используются функции, которые описываются в библиотечном файле stdio.h.(cstdio)
Вывод:
printf (форматная строка, список аргументов);
форматная строка – строка символов, заключенных в кавычки, которая показывает, как должны быть напечатаны аргументы.
printf (”Значение числа Пи равно %f\n”, pi);
Форматная строка может содержать:
печатаемые символы;
спецификации преобразования;
управляющие символы.
Слайд 73

Каждому аргументу соответствует своя спецификация преобразования: %d, %i – десятичное целое

Каждому аргументу соответствует своя спецификация преобразования:
%d, %i – десятичное целое число;
%f

– число с плавающей точкой;
%e,%E – число с плавающей точкой в экспоненциальной форме;
%u – десятичное число в беззнаковой форме;
%c – символ;
%s – строка.
В форматную строку также могут входить управляющие символы:
\n – управляющий символ новая строка;
\t – табуляция;
\a – звуковой сигнал и др.
Слайд 74

Модификаторы формата– это числа, которые указывают минимальное количество позиций для вывода

Модификаторы формата– это числа, которые указывают минимальное количество позиций для вывода

значения и количество позиций для вывода дробной части числа:
%[-]m[.p]C, где
– – задает выравнивание по левому краю,
m – минимальная ширина поля,
p – количество цифр после запятой для чисел с плавающей точкой и минимальное количество выводимых цифр для целых чисел (если цифр в числе меньше, чем значение р, то выводятся начальные нули),
С – спецификация формата вывода.
Слайд 75

#include using namespace std; void main() { printf("\nSpecificacii formata:\n%10.5d - int\n%10.5f

#include
using namespace std;
void main()
{
printf("\nSpecificacii formata:\n%10.5d - int\n%10.5f - float\n %10.5e

- exponential form\n%10s - string\n", 10, 10.0, 10.0, "10");
}
Слайд 76

Ввод: scanf (форматная строка, список аргументов); в качестве аргументов используются адреса переменных. scanf(“ %d%f ”, &x,&y);

Ввод:
scanf (форматная строка, список аргументов);
в качестве аргументов используются адреса переменных.
scanf(“

%d%f ”, &x,&y);
Слайд 77

Ввод и вывод данных в стиле С++ При использовании библиотеки классов

Ввод и вывод данных в стиле С++

При использовании библиотеки классов C++, используется

библиотечный файл iostream, в котором определены стандартные потоки ввода данных от клавиатуры cin и вывода данных на экран cout, а также соответствующие операции:
<< – операция записи данных в поток;
>> – операция чтения данных из потока.
Слайд 78

ПРОГРАММА #include … cout cin >> n; cout cin чтение из потока запись в поток

ПРОГРАММА

#include

cout << “\nВведите количество элементов: ”;
cin >> n;

cout

cin

чтение из потока

запись

в поток
Слайд 79

Библиотека iostream.h определяет стандартных потока: - cin стандартный входной поток cout

Библиотека iostream.h определяет стандартных потока:
- cin стандартный входной поток
cout стандартный

выходной поток
Для их использования в Microsoft Visual Studio обязательно необходимо прописать строку:
using namespace std;
Слайд 80

Примеры Ввод значения переменной: cin >> идентификатор; Возможно многократное назначение потоков:

Примеры

Ввод значения переменной:
cin >> идентификатор;
Возможно многократное назначение потоков:
cin >> переменная1 >>

переменная2 >>...>> переменная n;
Вывод информации:
cout << значение;
Возможно многократное назначение потоков:
cout <<значение1 <<значение2 << ... << значение n;
Слайд 81

Слайд 82

using namespace имя_пространства имен; Пространство имен - это группа имен, в

using namespace имя_пространства имен;
Пространство имен - это группа имен, в которой

имена не совпадают.
Эта инструкция заставляет компилятор признавать все члены одного пространства имен без дополнительного определения имени этого пространства.
Функции SetConsoleCP(1251) и SetConsoleOutputCP(1251) позволяют использовать русский шрифт при выводе сообщений. Для их использования необходимо подключить библиотеку windows.h
Слайд 83

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

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

iomanip.
Основные стандартные манипуляторы:
endl Вывод символа новой строки (переход в новую строку)
setprecision(int p) Устанавливает число цифр после запятой при выводе
setw(int w) Устанавливает ширину поля равной w
fixed Вывод числа в форме с фиксированной точкой
scientific Вывод числа в экспоненциальной форме
Слайд 84

Подробнее про манипуляторы и флаги ввода-вывода можно прочитать здесь - http://kvodo.ru/urok-10-formatirovannyiy-vvod-vyivod-v-c.html

Подробнее про манипуляторы и флаги ввода-вывода можно прочитать здесь - http://kvodo.ru/urok-10-formatirovannyiy-vvod-vyivod-v-c.html

Слайд 85

Слайд 86

Операторы С++ Оператор «выражение» i++; a+=2; x=a+b; ;

Операторы С++

Оператор «выражение»

i++;
a+=2;
x=a+b;
;