Преобразование типа из real в integer

Попытка присвоить переменной типа integer выражение типа real
Здравствуйте форумчане. Написала программу для замены элементов массива после максимального.
Попытка присвоить переменной типа integer выражение типа real
Здравствуйте! Моя задача: Найти сумму всех n-значных чисел, кратных k (1 ≤ п ≤ 4). Я.
преобразование integer в real
Ребята есть элементарная задачка (надо для девушки моей решить, а я Паскаль уже не помню :((.
Метод Симпсона — попытка присвоить значение integer переменной типа real
Как исправить ошибку? В строке N2:= n/2; пишет попытка присвоить значение integer переменной типа.
Как преобразовать real в integer pascal
Пользователь
Регистрация: 09.03.2007
Сообщений: 34
как перевести из integer в real(и обратно), и из real в string(и обратно)
как перевести из integer в real(и обратно), и из real в string(и обратно)
добрый няша
Регистрация: 29.10.2006
Сообщений: 4,804
var i:integer; r:real; s:string; r:=int(i); i:=round(r); s:=floattostr(r);
[Программирование на ассемблере на платформе x86-64]
Администратор
Регистрация: 28.10.2006
Сообщений: 17,663
| Похожие темы | ||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Пребразовать string-строку в число и обратно. — Как? | Avaj | C++ Builder | 16 | 03.02.2011 19:03 |
| real to string | terminadoor | Помощь студентам | 6 | 28.07.2008 09:27 |
| как узнать string или Real | Влажимир | Общие вопросы Delphi | 2 | 11.04.2008 17:06 |
| перевести число, находящееся в string, в integer? | andrey4623 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 23.06.2007 00:32 |
| Конвертация real > integer | Viteef | Общие вопросы Delphi | 2 | 03.05.2007 18:45 |
Нельзя преобразовать тип real к integer
Задача такая, что если число чётное, то его нужно разделить на два, а если нет, то умножить на 3, прибавить 1 и разделить на два. И делать так, пока в итоге не получится 1. В 5 строчке пишет: нельзя преобразовать тип real к integer. Я не пойму где тут real. Помогите пожалуйста.
Отслеживать
user176262
задан 9 янв 2020 в 15:11
3 1 1 серебряный знак 2 2 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
В результате операции n / 2 получается значение типа real, т.к. / — обычное не целочисленное деление, результат которого может быть нецелым числом. Вы же записываете результат этой операции в переменную n , которая имеет тип integer. Из-за несоответствия типов возникает ошибка.
Вам нужно использовать целочисленное деление, которое отбрасывает остаток и даёт в результате целое число:
n := n div 2
Отслеживать
ответ дан 9 янв 2020 в 15:20
Кирилл Малышев Кирилл Малышев
10.8k 1 1 золотой знак 18 18 серебряных знаков 34 34 бронзовых знака
Я новичок и поэтому не знал в чём ошибка, но ваш совет помог! Спасибо большое)
9 янв 2020 в 16:54
Во-первых, форматируйте ваш код! Во-вторых, ваша проблема в использовании оператора / вместо DIV . Вот так:
PROGRAM main; VAR n, i: Integer; BEGIN Write('Введите число: '); Read(n); WHILE n <> 1 DO IF n MOD 2 = 0 THEN n := n DIV 2 ELSE n := (n * 3 + 1) DIV 2; END.
Отслеживать
ответ дан 9 янв 2020 в 15:24
16k 3 3 золотых знака 25 25 серебряных знаков 41 41 бронзовый знак
Спасибо большое)
9 янв 2020 в 16:54
@Вадим Пожалуйста. Не забывайте, что наиболее подходящий ответ надо выделять как верный, нажав галочку рядом с голосами.
Как преобразовать real в integer?
Что я делаю не так? Еще пробовал для этих переменных задавать тип integer сразу, но не помогло.
Program asdasdas; uses GraphABC; begin; var wWidth, wHeight: integer; writeln('Введите размер окна'); writeln('Ширину:'); readln(wWidth); writeln('Высоту:'); readln(wHeight); SetWindowSize(wWidth, wHeight); var figureWidth, figureHeight: integer; writeln('Введите размер фигуры'); writeln('Ширину:'); readln(figureWidth); writeln('Высоту:'); readln(figureHeight); //Options SetPenWidth(3); //Write center lines var centerLineWidth, centerLineStartPoint: real; centerLineWidth:= int(wWidth/100 * 57.14); centerLineStartPoint:= int(wWidth/100 * 21.43); Line(centerLineStartPoint, 0, centerLineStartPoint + centerLineWidth, 0); end.
- Вопрос задан более трёх лет назад
- 439 просмотров
Комментировать
Решения вопроса 1

var i: integer; . i := round(floatVar);
Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Pascal
Как работает WriteLn в PascalAbc?
- 1 подписчик
- 14 сент.
- 59 просмотров

- Pascal
Как в Pascal Abc использовать функцию дополнения кода (чтобы команда дописывалась)?
- 1 подписчик
- 07 сент.
- 36 просмотров