Нельзя преобразовать тип string к real как исправить

Объяснение:

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

1. Ошибка: «Нельзя преобразовать тип string к real».

D := (‘b*b-4*a*c’);

Вы пытаетесь присвоить переменной D строку, хотя она является переменной типа Real . Это абсолютно два разных типа переменных.

Real — вещественный тип, т.е. поддерживает числа с запятой и принимает на ввод такие числа, как «2.534» или «3.0»; никаких букв быть не может;

String — строковый тип, т.е. поддерживает строки, где значение заключается в одинарные кавычки, например ‘Мама мыла раму’; также можно ввести цифры, например ‘4,096’, но учтите, что строки не могу принимать участие в арифметических операциях (есть конечно процедуры перевода из строки в число, но, насколько я поняла, вы только начинаете программировать и пока что нужно понять азы программирования).

Нельзя присвоить вещественному типу строку и наоборот, что вы и делаете в 11 строке.

А теперь перейдем к моментам, в которых не совсем понятно, что хотите сделать.

Возьмем 11 и 12 строки:

<em>D := (‘b*b-4*a*c’);
</em>

<em>readln(‘дискримінант’,D);</em>

Что вам нужно?:

а) Посчитать и вывести чему будет равен D:

Для этого нужно убрать одинарные кавычки в 11 строке и вместо «ReadLn» написать «WriteLn». Строки будут иметь следующий вид:

<em>D:=b*b-4*a*c;</em>

<em>Writeln(‘дискримінант ‘,D);</em>

<em></em>

б) Вывести строку как считается дискриминант и попросить пользователя ввести данное число:

В этом случае, в 11 строке пишем WriteLn, а в 12 строке убираем <em>’дискримінант'</em>. Строки будут иметь следующий вид:

<em>writeln(‘D:=(b*b-4*a*c). ‘, ‘дискримінант’);
</em>

<em>readln(d);</em>

<em />

Та же история и со строками 13-14, 15-16.

2. У вас не объявлены переменные «x1», «x2». Для того, чтобы программа работала, добавляем их в «var»:

<em>var</em>

<em>a, b, c, d, x1, x2: real;</em>

0 / 0 / 0

Регистрация: 25.11.2016

Сообщений: 1

1

25.11.2016, 21:58. Показов 19667. Ответов 2


Студворк — интернет-сервис помощи студентам

В общем: мне нужно перевести из величины string в величину real (НЕ INTEGER), мне нужна команда, вроде strtoint(a,b), только strtoreal(a,b), только она, скорее всего по-другому как-то пишется. Помогите)



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

25.11.2016, 21:58

Ответы с готовыми решениями:

Нельзя преобразовать тип function(x: real): real к real
var
g,s,s1,s2,fi,h:real;
label k;
begin
write(‘Vvedite visotu’);
readln(h);k:
write(‘Vvedite…

Как определить, к какому типу данных (integer, real, string, char и т.д) относится число или слово
Всем привет! Такой вопрос. Пользователь вводит с клавиатуры значение переменной с помощью…

Нельзя преобразовать тип array [1..100] of real к real
Помогите в чем здесь ошибка.
Выводить ошибку:
Program4.pas(10) : Нельзя преобразовать тип array …

Перевод из string в longint
есть задача дана строка с символами и числами, надо убрать все символы и оставить одни числа из…

2

1642 / 1091 / 487

Регистрация: 17.07.2012

Сообщений: 5,345

26.11.2016, 02:16

2

StrToFloat



0



Cyborg Drone

Модератор

9593 / 4912 / 3245

Регистрация: 17.08.2012

Сообщений: 15,346

27.11.2016, 14:50

3

Лучший ответ Сообщение было отмечено vova_dragun как решение

Решение

Цитата
Сообщение от vova_dragun
Посмотреть сообщение

strtoint(a,b)

Перечитайте описание функции. У данной функции всего один аргумент, и правильно будет, например,

Pascal
1
b := StrToInt(a); //или, если аргумент типа real, b := StrToFloat(a);

Кроме функции StrToFloat, которая есть не во всех диалектах паскаля, можно применить процедуру val.



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

27.11.2016, 14:50

Помогаю со студенческими работами здесь

Ошибка: Нельзя преобразовать тип function x real real к real
Здравствуйте, не могу понять как исправить ошибку (строка 32)

var
a,b,e,h,xi,fi,ln1,ln2:real;…

String в real
Можете подсказать, как преобразовать string в real? Ситуация примерно такая:
1. Вводятся число№1 и…

Нельзя преобразовать тип function(x: real): real к real
Здравствуйте! Не могу написать формулу. Ошибка:Нельзя преобразовать тип function(x: real): real к…

Нельзя преобразовать тип function(x: real): real к real
Ничего не понимаю, почему нельзя? Помогите пожалуйста найти ошибку в коде.
uses CRT;
type

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

3

SofaRoz

SofaRoz

+18

Решено

6 лет назад

Информатика

5 — 9 классы

pascal abc
var
a,c,d: real;
b:char;
begin
…..
if b=’+’ then
d:=a+b;
…..

выдает ошибку «нельзя преобразовать тип string к real»

что делать?

Смотреть ответ

1

Комментарии

AnonimusPro

конечно нельзя, a — число типа real; b — string; строку с числом напрямую сложить нельзя, надо либо число в строку перевести или строку в число

Ответ

0
(0 оценок)

0

marfa2001

marfa2001
6 лет назад

Светило науки — 2 ответа — 0 раз оказано помощи

что означают твои многоточия ? 

(0 оценок)

https://vashotvet.com/task/11837971

quloucou628

quloucou628

Вопрос по информатике:

Pascal abc
var
a,c,d: real;
b:char;
begin
…..
if b=’+’ then
d:=a+b;
…..

выдает ошибку «нельзя преобразовать тип string к real»

что делать?

Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?

Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок — бесплатно!

Ответы и объяснения 1

jondeiorost789

jondeiorost789

Что означают твои многоточия ? 

Знаете ответ? Поделитесь им!

Гость

Гость ?

Как написать хороший ответ?

Как написать хороший ответ?

Чтобы добавить хороший ответ необходимо:

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

Этого делать не стоит:

  • Копировать ответы со сторонних ресурсов. Хорошо ценятся
    уникальные и личные объяснения;
  • Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не
    знаю» и так далее;
  • Использовать мат — это неуважительно по отношению к
    пользователям;
  • Писать в ВЕРХНЕМ РЕГИСТРЕ.

Есть сомнения?

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

Трудности с домашними заданиями? Не стесняйтесь попросить о помощи —
смело задавайте вопросы!

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

  floatToStr(c);
  StrToInt(c);
  writeln(c);

Компилятор указывает на вторую строку и выдаёт : нельзя преобразовать тип real к string
Мне необходимо перевести real в integer, а с на начале имеет тип real

задан 2 мар 2019 в 9:36

Дмитрий's user avatar

1

Для того, чтобы перевести real в Integer, можно использовать функцию Round (также см. Floor, Ceil)

Между прочим, floatToStr и StrToInt — функции, они возвращают результат, а не изменяют аргумент.

ответ дан 2 мар 2019 в 11:01

MBo's user avatar

MBoMBo

48k1 золотой знак17 серебряных знаков40 бронзовых знаков

Понравилась статья? Поделить с друзьями:
  • Как найти двойника по фото бесплатно онлайн
  • Как составить алгоритм для робота в кумире
  • Магазин очков стим как найти игру
  • Как найти память устройства моего телефона
  • Как найти нод 210 135