You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
На прошлом уроке мы уже знакомились с булевым типом данных.
5
+
Результат работы программиста - программный код, текст. Код состоит из инструкций компьютеру, что, как и в какой последовательности выполнить. Все эти инструкции следуют определенной цели, которую видит программист. Начальные, промежуточные и конечные данные каждого действия или комплекса действий сохраняют в переменных, у которых есть определенный тип данных. Для того, чтобы понимать весь этот процесс, мы наше знакомство с программированием начнем с нескольких терминов:
6
+
7
+
**Переменная** - данные, которые хранятся в оперативной памяти и имеют имя и тип. Проще ассоциировать с подписанным контейнером, в котором что-то лежит.
8
+
9
+
**Тип данных** - характеристика набора данных, которая определяет возможные значения этого набора, ряд допустимых операций, которые можно предпринимать с этими данными, и способ хранения этих данных в памяти.
10
+
11
+
*Пример из реальной жизни:*
12
+
>Коробки с фруктами, на которых написано "Фрукты". Они занимают определенное место, у нее есть название и все примерно ориентируются, что можно сделать с содержимым этой коробки. Коробки с фруктами содержат фрукты. Их можно открыть, фрукт можно съесть, можно разрезать, можно почистить, можно приготовить салат и так далее.
13
+
>Ящик с надписью "Посуда" при переезде. Ясно, что внутри хрупкое и бьющееся, ясно, как это транспортировать и когда распаковывать.
14
+
15
+
В программировании типов данных много, и в различных языках они различаются. Тем не менее, рассмотрим их общие виды и характеристики. Разобравшись с этим, мы сможем классифицировать любой незнакомый нам тип данных.
16
+
17
+

18
+
19
+
20
+
**Примитивами** называют типы данных, которые состоят из одного элемента. Синонимы к этому определению - **скалярные**.
21
+
22
+
**Структурными** можно назвать типы данных, которые состоят из элементов других типов данных. Название - синоним: нескалярные, аггрегатные.
23
+
24
+
Говоря проще, примитивы - простейшие типы данных, которые неделимы, тогда как структурные состоят из набора структурных или примитивных типов.
25
+
26
+
### Скалярные типы данных или примитивы.
27
+
28
+
Во многих, если не во всех языках программирования высокого уровня встречаются следующие примитивы:
29
+
30
+
-**Булевы или логические данные.** Переменная этого типа может иметь только два значения - Правда и Ложь (**True, False**). Часто эти параметры интерпретируются соответственно как 1 и 0. Используется повсеместно для получения ответов на различные вопросы и дальнейшего выбора варианта действий.
31
+
-**Целые числа.** Переменные такого типа содержат целое число. В зависимости от языка программирования и выбранного подтипа целочисленных данных различаются диапазоном значений и воможностью работы с отрицательными числами.
32
+
-**Числа с плавающей точкой** или вещественные числа. Сюда входят как целые числа, у которых дробная часть есть, но считается пустой, так и дробные. В программном виде чаще всего такие числа записываются как `x = a * 10^b`, т.е. через дробное десятичное число **a**, умноженное на 10 в степени **b**. В математике это выглядит как `1.2*10^3`, в программировании степень числа 10 пишется через экспоненту, т.е. `1.2e3`. Например, расстояние от Земли до Солнца составляет 1.496 · 10 11 , или 1.496e11.
33
+
-**Комплексные числа** - числа вида `x + iy`, где `i` - корень из минус единицы. Необходимо для ряда математических действий и изысканий, обычному программисту может быть нужно довольно редко.
34
+
-**Отсутствие значения и типа** - особый тип данных, который означает ничего, пустое место. Отличается от нуля, пустой строки или пустого массива. В разных языках называется по-разному, например **null, none, nan**.
35
+
-**Строки** - Строки принято относить к примитивам, хотя они и состоят из символов.
36
+
37
+
### Структурные типы данных.
38
+
39
+
Структурные типы данных, которые можно встретить в различных языках:
40
+
41
+
- Массивы
42
+
- Кортежи
43
+
- Словари
44
+
- Множества
45
+
- Функциональные типы данных
46
+
- Записи
47
+
48
+
Эти типы данных мы расмотрим позже более подробно.
49
+
50
+
### Мутабельность (mutable)
51
+
52
+
Так же типы данных могут быть изменяемыми или **мутабельными**, и неизменяемыми (**иммутабельными**). Знакомясь с новыми типами данных конкретного языка разумно было бы выяснять, можно ли его менять, или он иммутабелен, т.е. значение его останется тем же, каким было создано, и можно либо работать с тем значением, что есть, либо создавать новое значение для него.
53
+
54
+
Те же строки, к примеру, могут быть неизменяемыми. Это значит, что в переменную можно записать строку, но изменить ее после этого будет невозможно. Однако, будет возможность записать в эту переменную другую строку, в том числе и измененную исходную строку.
55
+
56
+
### Булевы переменные
5
57
6
58
Переменная типа `bool` может содержать только два значения: **True** или **False**, при чем это не строки, не числа, а именно понятия ложь и истина.
7
59
8
60
Для работы с булевыми переменными существует булева алгебра.
[Решания задач при помощи кругов Эйлера](https://sibac.info/shcoolconf/science/xvii/42485)
160
219
161
-
162
220
[Тест на логическое мышление](http://testoteka.narod.ru/pozn/1/10-on.html)
163
221
164
-
165
222
[Онлайн создание диаграмм](https://creately.com/ru/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80-%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC-%D0%92%D0%B5%D0%BD%D0%BD%D0%B0-%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD)
Задача исследовательская: найти и текстом описать преподавателю, какие есть операторы условия и дополнительные операторы сравнения в языке PHP.
4
5
5
-
##### 1. Разместить в кругах:
6
-
- Числа целые
7
-
- Числа положительные
8
-
- Числа отрицательные
9
-
- Числа простые
10
-
##### 2. Нарисовать круги для заварного кофе:
11
-
• эспрессо
12
-
• американо
13
-
• каппучино
14
-
• латте
15
-
• доппио
16
6
17
7
**Уровень 2:**
8
+
Задача исследовательская среднего уровня: дополнить результаты прошлой задачи исследованиями про другие языки: python, perl, еще один язык по вашему выбору.
18
9
19
-
##### 3. Решить задачу:
20
-
Все женщины - дочки, но не все женщины матери. Некоторые матери - бабушки. Нарисуйте внучек!
Выяснить, какие есть типы данных в PHP, какие из них мутабельные, какие нет, какие можно отнести к скалярным, и какие к составным, результат прислать ссылкой на google таблицу.
0 commit comments