Простейшие и составные стандартные типы данных

Стандартным простым типом данных называют типы данных, которые встроены на большинстве вычислительных машин (целые числа, вещественные числа, логические значения и множество символов).

Целые числа (integer): Это числа без десятичных знаков. Диапазон этих чисел зависит от количества бит, выделенных под их хранение. Если используется n бит, то диапазон будет от −2^(n−1) до 2^(n−1)−1. Операции над данными этого типа точны и следуют арифметическим правилам. Если результат выходит за допустимые пределы, происходит переполнение и вычисления останавливаются.

Вещественные числа (Real): Это числа с десятичной частью. Они используются для представления дробных значений, но при этом могут иметь ошибки округления.

Логический тип (boolean): Имеет только два значения - True (истина) и False (ложь). Используется для логических операций.

Символьный тип (char): Представляет собой одиночные символы. Стандарт ASCII был принят для кодировки этих символов, но сейчас часто используются utf-8, utf-16, utf-64.

Ограниченные типы данных: Это типы данных с определенным диапазоном значений. Например, TYPE T = [MIN, MAX].

Массивы: Это структура данных, которая содержит элементы одного типа. Каждый элемент можно получить по его индексу. Например, TYPE T = ARRAY[N] OF REAL.

Записи (RECORD): Это составные типы данных, которые могут содержать элементы различных типов.

Множества (SET): Это тип данных, который может содержать уникальные элементы определенного типа. Например, TYPE T = SET OF T0.

Последовательности (sequence): Это тип данных, который содержит упорядоченный набор элементов.

Строки (string): Это последовательности символов. Например, Type T = String(T0).

Лига программистов

2K постов11.8K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

0
Автор поста оценил этот комментарий

А что значит "массив с диапазоном чисел"? Там индексы лежат в некоем диапазоне или значения в этом массиве? А можно ли таким образом создать последовательность отрицательных значений? Это будут отрицательные индексы в массиве? Или что?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

В контексте PHP, когда мы говорим о “массиве с диапазоном чисел”, мы обычно имеем в виду массив, значения которого представляют собой последовательность чисел в определенном диапазоне.

Например, функция range(1, 5) в PHP вернет массив (1, 2, 3, 4, 5). Здесь индексы массива будут от 0 до 4, а значения - от 1 до 5. Таким образом, “диапазон чисел” относится к значениям массива, а не к его индексам.

Что касается создания последовательности отрицательных значений, то это тоже возможно. Например, range(-5, -1) вернет массив (-5, -4, -3, -2, -1). Здесь, как и в предыдущем примере, индексы будут положительными числами (от 0 до 4), а значения - отрицательными.

В PHP индексы массива могут быть только целыми числами или строками. Отрицательные индексы в массиве не допускаются. Если вы попытаетесь использовать отрицательное число в качестве индекса, PHP автоматически преобразует его в положительное число. Например, если вы попытаетесь установить $array[-1] = 'value', PHP преобразует это в $array['-1'] = 'value', где ‘-1’ теперь является строкой, а не числом. Это отличает PHP от некоторых других языков программирования, где отрицательные индексы могут использоваться для обращения к элементам массива с конца.

2
Автор поста оценил этот комментарий
Ctrl C, Ctrl V
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Буду благодарен, если вы воспользуетесь сочетанием клавиш Alt + F4.

0
Автор поста оценил этот комментарий
Комментарий удален. Причина: Провокации и грубое общение
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: Оскорбления пользователей
показать ответы
2
Автор поста оценил этот комментарий

Шляпа это, а не статья

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Аргументы в студию
показать ответы
1
Автор поста оценил этот комментарий

господи боже )))

$sequence = range(0, 10); // Создает массив от 0 до 10

тип данных в пхп будет массив, а не последовательность

Такими темпами можно обозвать любой тип данных нужным, а че ну данных же кучкой? Кучкой - значит последовательность.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

В PHP термин “последовательность” обычно не используется как тип данных. Вместо этого, как вы правильно заметили, используется тип “массив”. Функция range в PHP создаёт массив с диапазоном чисел, который технически является упорядоченной последовательностью элементов, но в контексте PHP это всё равно массив.

показать ответы
2
Автор поста оценил этот комментарий

Автор, научи пожалуйста, как мне в с# опередить record или как в php сделать sequence


Подобные "типы" данных применимы к конкретному языку, ты вот какой язык описал?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Описание типов данных, которое вы предоставили, является общим и может быть применимо к многим языкам программирования, так как большинство из них поддерживает эти базовые концепции. Однако, если говорить о конкретных языках, то: C#:

Записи (record): В C# записи - это способ определения типа данных, который может быть использован для моделирования неизменяемых объектов. Вы можете определить запись с помощью следующего синтаксиса:

C#

public record Person(string FirstName, string LastName); Это определит запись Person с двумя свойствами: FirstName и LastName.

PHP:

Последовательности (sequence): В PHP последовательности могут быть представлены массивами. Для создания последовательности чисел можно использовать функцию range:

PHP

$sequence = range(0, 10); // Создает массив от 0 до 10

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

показать ответы
0
Автор поста оценил этот комментарий

Скорее, болтун это ты. Подрастешь, и, если не бросишь программирование, очень скоро тебе будет стыдно и за эту "статью", и за глупость твою

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

пока мне стыдно только за тебя

1
Автор поста оценил этот комментарий

Да конечно, не хочешь же ты сказать, что там сидя только лохи малолетние, не знающие базовых основ?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: Провокации и грубое общение
показать ответы
0
Автор поста оценил этот комментарий
Комментарий удален. Причина: Провокации и грубое общение
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

кидай свой профиль гит

показать ответы
0
Автор поста оценил этот комментарий

Вам уже расписали. Ну вот string, например, вовсе не простейший тип данных. Да и реализации его в разных яп разные и работают совершенно по разному. Также как и record. Set (множество) так вообще крайне редко бывает стандартным типом, и уж тем более "простейший". Напомни, когда он в питоне появился? А в C++?

"Простейший тип" применительно к архитектуре вычислительной системы или конкретного языка программирования? Как быть с C, например, в котором нет множеств и string? Как быть с прологом и лиспом?

Определение массива неверное, точнее, неполное. С точки зрения доступа к памяти важно, что массив в классических яп хранится в последовательной области памяти, что делает доступ к элементам массива максимально быстрым. И еще десяток косяков

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Ну во первых статья называется простейшие и составные типы данных и я не писал конкретно, что string - простейший тип данных. Во вторых причём тут реализация этих типов данных на разных ЯП? Я писал пример реализации на псевдокоде. В третьих, если какие-нибудь типы данных редко используют, то это не значит что они вовсе не нужны. Если в самом языке программирования нет реализации типов данных, то его в большинстве случаев можно написать самому (к примеру string - массив символов)
показать ответы
0
Автор поста оценил этот комментарий
Комментарий удален. Причина: Провокации и грубое общение
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

дааа, у тебя есть опыт в product? Тогда зачем ты сидишь на Пикубу, а не на Хабре или в гитхабе?

показать ответы
0
Автор поста оценил этот комментарий
Про целые числа не совсем верно. Есть еще беззнаковые.
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Вы абсолютно правы. В дополнение к знаковым целым числам (signed integers), существуют также беззнаковые целые числа (unsigned integers), которые представляют только неотрицательные значения. Для беззнаковых целых чисел, использующих ( n ) бит, диапазон будет от ( 0 ) до ( 2^n - 1 ). Это расширяет количество представимых положительных чисел, поскольку отрицательные значения не используются. Спасибо за ваш комментарий, это важное уточнение.

0
Автор поста оценил этот комментарий

Ну и прощай

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

давай п***уй отсюда

показать ответы
0
Автор поста оценил этот комментарий

А кто сказал, что меня там нет?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Ну во первых, душные деды, как ты, там не сидят.

показать ответы
2
Автор поста оценил этот комментарий

Нет, дружок, запахло университетским высшим образованием по специальности 2204 "Программное обеспечение вычислительной техники и автоматизированных систем" и "Почётным дипломом", а не выжимками из видосиков

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: Провокации и грубое общение
показать ответы
1
Автор поста оценил этот комментарий

А еще можно сову на глобус натянуть, но не нужно.

А если составные, то где словари, списки всех видов и мастей, кортежи, объекты, деревья? Они еще какие составные.

Что такое string? Где указано что это составной тип?

Поэтому я и говорю, что статья шляпа

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Запахло духотой
показать ответы
3
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: Провокации и грубое общение
раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: Провокации и грубое общение
4
DELETED
Автор поста оценил этот комментарий

Что ты несешь. В архитектуру машин встроены целые и плавающие числа, и все. Все остальное - обвязка сделанная по разному в разных яп

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

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

Языки программирования создают эти абстракции, чтобы упростить процесс разработки программ, позволяя разработчикам использовать более высокоуровневые конструкции, которые лучше соответствуют решаемым задачам и моделям данных. Например, логический тип данных (boolean) в языках высокого уровня представляет собой абстракцию, которая может быть реализована на аппаратном уровне с использованием всего одного бита, но в языке программирования он представлен как тип с двумя возможными значениями: True и False.

Таким образом, “обвязка”, о которой вы говорите, это слой абстракции, который обеспечивает более удобный и понятный интерфейс для работы с данными, скрывая сложность низкоуровневых операций и предоставляя разработчикам инструменты, более приближенные к человеческому мышлению и общепринятым концепциям. Это позволяет разработчикам сосредоточиться на логике приложения, а не на деталях реализации на уровне машинного кода.

показать ответы
2
Автор поста оценил этот комментарий

String, set, диапазон. Вы книжку по турбопаскалю, что ли, откопали?

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
Нее, Я просто откопал ещё одну душнилу в комментариях
7
DELETED
Автор поста оценил этот комментарий

О бля, чатжпт подтянулся

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий

Буду признателен, если вы воздержитесь от комментариев без фактической основы. Авторство статьи принадлежит мне.

показать ответы