Какой тип имеет переменная f если
Перейти к содержимому

Какой тип имеет переменная f если

  • автор:

Задание 6 Параграф 3.2 ГДЗ Босова 8 класс (Информатика)

Изображение 6. Какой тип имеет переменная f, если после выполнения оператора write (f) на экран было выведено следующее число?а) 125б).

6. Какой тип имеет переменная f, если после выполнения оператора write (f) на экран было выведено следующее число?

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

*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением

Похожие решебники
Популярные решебники 8 класс Все решебники

Сивоглазов
Сивоглазов, Каменский, Сарычева
Баранова, Афанасьева, Михеева
Михеева, Афанасьева

Изображение учебника

§3.1. Общиие сведения.
§3.2. Организация вво.
§3.3. Программировани.

©Reshak.ru — сборник решебников для учеников старших и средних классов. Здесь можно найти решебники, ГДЗ, переводы текстов по школьной программе. Практически весь материал, собранный на сайте — авторский с подробными пояснениями профильными специалистами. Вы сможете скачать гдз, решебники, улучшить школьные оценки, повысить знания, получить намного больше свободного времени.

Главная задача сайта: помогать школьникам и родителям в решении домашнего задания. Кроме того, весь материал совершенствуется, добавляются новые сборники решений.

C++: Типы данных с плавающей точкой

Целочисленные типы отлично подходят для подсчета целых чисел, но иногда нам нужно хранить очень большие числа или числа с дробной частью. Переменная типа с плавающей точкой – это переменная, которая может содержать действительное число, например 4320,0, -3,33 или 0,01226. Название плавающая точка указывает на то, что десятичная точка может плавать, то есть она может поддерживать переменное количество цифр до и после себя.

Существует три разных типа данных с плавающей точкой: float , double и long double . Как и в случае с целыми числами, C++ не определяет фактические размеры этих типов, но гарантирует минимальные размеры:

  • float – должен иметь как минимум 32-бита и гарантировать минимум 6 значащих цифр
  • double – 48-бит и быть не меньше float. Гарантирует 15 значащих цифр
  • long double – как минимум 80 битов и 18-значащих цифр

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

Ниже представлены примеры определения переменных с плавающей точкой:

float f_num; double d_num; long double ld_num; 

Вы могли заметить, что в имени переменной используется префикс — это делать не обязательно, но это помогает понять переменная кого типа сейчас используется.

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

double d_num < 5.0 >; float f_num < 5.0f >; 

По умолчанию литералы с плавающей точкой имеют тип double . Суффикс f используется для обозначения литерала типа float .

Вы могли заметить, что в коде выше инициализация производится не через оператор присваивания = , а с помощью нотации < 5.0 >. Это списковая инициализация, она пришла в язык с 11 стандарта и она имеет одно преимущество:

int num; num = 3.14; std::cout 3 

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

Если применить списковую инициализацию, получим ошибку компиляции:

int num < 3.14 >; // ошибка int count; count = < 3.14 >; // ошибка 

Рассмотрим такую программу:

int main() < float f_num = < 10.0 / 3.0 >; double d_num = < 10.0 / 3.0 >; std::cout
3.33333 3.33333

Обратите внимание, что каждое из напечатанных значений имеет только 6 значащих цифр. Это стандартное поведение объекта cout , но мы можем переопределить это поведение и повысить точность:

#include #include // для увеличения точности int main() < std::cout ; double d_num = < 10.0 / 3.0 >; std::cout
3.333333253860474 3.333333333333333

Видно, что число float определено не точно и содержит ошибки, поскольку тип float гарантирует нам только шесть значащих цифр.

Существует две особые категории чисел с плавающей точкой. Первая – Inf , которая представляет бесконечность. Inf может быть положительной или отрицательной. Вторая – NaN , что означает Not a Number — не число. Существует несколько различных типов NaN . NaN и Inf доступны только в том случае, если компилятор для чисел с плавающей точкой использует определенный формат. Если используется другой формат, следующий код приводит к неопределенному поведению.

#include int main() < double zero < 0.0 >; double pos_inf < 5.0 / zero >; // положительная бесконечность std::cout ; // отрицательная бесконечность std::cout ; // не число (математически неверно) std::cout
inf -inf nan

Задание

Напишите программу, которая рассчитывает сколько километров проедет автомобиль на полном баке. Пусть объем бака будет 43 литра, а расход 8.8 л на 10 км. Результат выведите на экран.

Упражнение не проходит проверку — что делать? ��

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

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

В моей среде код работает, а здесь нет ��

Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.

Мой код отличается от решения учителя ��

Это нормально ��, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно ��

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

Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.

Как в Си определить тип переменной? [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 8 лет назад .
А именно, число или нет?
Отслеживать
задан 17 сен 2011 в 20:31
318 2 2 золотых знака 5 5 серебряных знаков 17 17 бронзовых знаков
В каком контексте это нужно?
17 сен 2011 в 20:37

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

typeid возвращает объект типа typeinfo из которого можно извлечь информацию о типе, но это C++.

Отслеживать
ответ дан 17 сен 2011 в 20:45
AlexDenisov AlexDenisov
6,442 1 1 золотой знак 21 21 серебряный знак 29 29 бронзовых знаков

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

В более сложных случаях требуются дополнительные меры по хранению типа. Например, есть функция

void func(void *p)

Загодя сказать, на какую переменную указывает p не получится, она может быть какой угодно, например, double:

double d; func((void *)&d); 

Поэтому при необходимости заводят структуру

struct Z < // тип // переменная >

и работают с ней.

Отслеживать
ответ дан 17 сен 2011 в 20:52
34.5k 27 27 золотых знаков 98 98 серебряных знаков 214 214 бронзовых знаков

Проблема вот в чём: Пользователь вводит информацию через scanf() Если там 0, проверку сделать можно, а вот если там не число, Это я не знаю как сделать.

17 сен 2011 в 20:54

Создаешь переменную типа char, затем используй функцию atoi для перевода в целое (если там оно вообще есть).

17 сен 2011 в 20:59

Пользователь вводит информацию через scanf() Если там 0, проверку сделать можно, а вот если там не число, Очень просто. Сначала считываете строку. Затем разбираете ее вручную. Можно ф-цией sscanf , а можно atoi . Еще обратите внимание, что scanf и его производные возвращают кол-во успешно преобразованных элементов.

17 сен 2011 в 21:08

To @byte : Ваш первый пример кода на Си выдает warning (а собственно Вы действительно хотели извлечь младший байт указателя ?). Второй пример кода — error — ну, в самом деле, как преобразовать 64-х разрядное число в формате с плавающей точкой в машинный адрес . Обычно у компилятора нет телепатических способностей и понять, что на самом деле хотел программист он не может.

Переменная

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

«IT-специалист с нуля» наш лучший курс для старта в IT

Как работают переменные

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

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

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

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

Таким образом, переменные характеризуются следующими атрибутами:

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

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

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

Профессия / 8 месяцев
IT-специалист с нуля

Попробуйте 9 профессий за 2 месяца и выберите подходящую вам

vsrat_7 1 (1)

Типы переменных

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

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

Курс для новичков «IT-специалист
с нуля» – разберемся, какая профессия вам подходит, и поможем вам ее освоить

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

  • локальными — задействуются только конкретной подпрограммой (фрагментом кода);
  • глобальными — используются всей программой.

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

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

  • целые числа с отрицательным или положительным знаком — например, 0, 1, –1, 234, –234 и т. д.;
  • числа с плавающей запятой — компьютерная форма записи дробных действительных чисел;
  • логические выражения — например, часто встречающееся в программировании true/false;
  • строки (символы) — последовательности букв, чисел, знаков препинания, пробелов и т. д. (используются для записи текстовых данных);
  • списки — структуры данных, представляющих собой упорядоченные последовательности значений;
  • диапазоны — перечень значений стандартного дискретного типа, например, 1…100;
  • массивы — фиксированное и структурированное количество однотипных данных;
  • записи — совокупность связанных данных различного типа;
  • файлы — однотипные данные, сохраненные на внешнем носителе информации.

В языках программирования со строгой (статической) типизацией тип переменных задается программистом заранее при их объявлении и не может быть изменен в дальнейшем. Более того, в этом случае в них нельзя добавить данные других типов. В частности в Java целочисленные переменные не могут содержать слова, строки или логические выражения. Напротив, в языках с динамической типизацией (например, Python) тип данных определяется программой автоматически при обращении к переменной, исходя из характера содержащихся в ней значений.

В зависимости от типа данных в переменной она может быть:

  • Простой — используется для хранения данных, не имеющих структуры, таких как целые числа, символы, логические выражения true/false, отдельные значения из конечных множеств;
  • Сложной — в такой переменной хранятся данные с внутренней структурой, наиболее показательными примерами которых являются массивы, деревья и записи.

Также в некоторых языках программирования предусмотрена возможность создания пустых переменных. Они имеют идентификатор (имя), но им не присвоено конкретных значений. Например, в JavaScript два типа таких переменных:

  • Undefined (неопределенные). Это переменные, у которых не указан тип и значения. Иначе говоря, компьютер просто знает, что она есть, но не понимает, что в ней находится, какой объем памяти под нее выделить и как с ней потом работать. Чаще всего неопределенные переменные используются для отладки кода, определения данных, поступающих в программу, и поиска ошибок.
  • Null (пустые). Такие переменные имеют определенный тип, но им не заданы конкретные значения. При этом компьютер понимает, какие данные в них положить, сколько им нужно памяти и как потом с ними работать. В отличие от undefined, null является конкретным значением переменной, означающим отсутствие данных.

От этих двух типов следует отличать переменную 0 (ноль), которая содержит конкретное целочисленное значение.

Использование переменных

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

  • Сначала ставится ключевое слово или знак, обозначающий новую переменную (например, var от английского «variation» или $);
  • Далее указывается имя переменной. Как правило, оно записывается латинскими буквами и кратко описывает, какие данные будут использоваться (например, для переменной, содержащей имя человека, можно использовать слово name).
  • После имени переменной указывается тип содержащихся в ней данных. Например, для каких-либо слов, имен, фраз это будет указатель string или char.

В некоторых языках порядок этих элементов в структуре объявления переменной может быть другим. Например, в ранних версиях Java отсутствовало ключевое слово var, которое указывает на создание новой переменной. Но в целом логика этого процесса везде примерно одинакова: нужно указать имя переменной и тип сохраняемых в ней данных.

На этом этапе заканчивается непосредственно объявление переменной. Но чтобы программа могла ее использовать, ей нужно присвоить определенное значение. Эта операция называется «присваиванием» и выражается с помощью математического символа «=», который называется оператором присваивания. После него указывается конкретное значение переменной, которое будет использоваться программой.

Шаблон объявления переменной и присваивания типа и значения

Хотя порядок объявления переменных может отличаться в зависимости от языка, существует несколько общих правил для корректного осуществления этой процедуры:

  • Идентификаторы (имена) переменных могут содержать в себе буквы, цифры, знак нижнего подчеркивания, при этом оно обязательно не должно начинаться с цифры.
  • Имя переменной лучше подбирать таким образом, чтобы было понятно, какие данные в ней сохраняются. Например, если это значения скорости персонажа в компьютерной игре, то подойдет идентификатор «speed».
  • Следует избегать очень коротких (например, одно- или двухбуквенных) или слишком длинных имен переменных: первые неинформативны и затрудняют понимание, вторые делают код тяжеловесным и сложным для восприятия.
  • Идентификаторы лучше писать английскими словами (например, price вместо stoimost), чтобы они были понятны другим людям, особенно при работе над иностранными или международными проектами.
  • Первое слово в сложных именах рекомендуется записывать со строчной буквы, а каждое последующее — с заглавной (например, carsCount).
  • Большинство современных языков программирования чувствительны к регистру имен переменных, что также необходимо учитывать при их написании.

В некоторых ЯП эти требования необязательны и просто рекомендуются как способы упростить написание и понимание кода. В других языках программирования они могут носить обязательный характер: несоблюдение правил их синтаксиса приводит к ошибкам и неисполнениям со стороны программы.

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

IT-специалист с нуля

Наш лучший курс для старта в IT. За 2 месяца вы пробуете себя в девяти разных профессиях: мобильной и веб-разработке, тестировании, аналитике и даже Data Science — выберите подходящую и сразу освойте ее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *