20.09.2017, 21:16 [+3 UTC]
в нашей команде: 2 124 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
20.09.2017, 12:49

Последний вопрос:
19.09.2017, 11:37

Последний ответ:
20.09.2017, 15:48

Последняя рассылка:
20.09.2017, 16:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
23.01.2011, 15:24 »
lamed
Большое спасибо, Андрей Владимирович! Удачной недели! [вопрос № 181957, ответ № 265557]
04.09.2011, 02:33 »
Ольга Андреева
Спасибо! [вопрос № 183955, ответ № 268145]
01.01.2017, 01:24 »
svrvsvrv
Огромное спасибо за такой обстоятельный ответ. [вопрос № 190361, ответ № 274499]

РАЗДЕЛ • Pascal / Delphi / Lazarus

Создание программ на языках Pascal, Delphi и Lazarus.

[администратор рассылки: Зенченко Константин Николаевич (Модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 249
Вадим Исаев ака sir Henry
Статус: Старший модератор
Рейтинг: 48
Асмик Гаряка
Статус: Советник
Рейтинг: 0

Перейти к консультации №:
 

Консультация онлайн # 63702
Раздел: • Pascal / Delphi / Lazarus
Автор вопроса: Das_Kain
Отправлена: 22.11.2006, 12:37
Поступило ответов: 2

Помогите решить задачу. При решениии выдается сообщение 'type mismatch'. Текст задачи:
Составьте программу, проверяющую является ли последовательность из 10 чисел вводимых с клавиатуры :
1)арифметической;
2)геометрической.
Когда я решал то разбил на 2 части. В первой проверял арифметическую прогрессию.Листинг:
program labrab4B;
const n=10;
var
A:array[1..10] of real;
s1,s2,i:byte;
begin
for i:=1 to 10 do
begin
writeln('BBegute 10 chisel');
readln(A[i]);
s1:=0;
for i:=1 to 10 do s1:=s1+a[i];
for i:=1 to n do s2:=(a[1]+a[n])*n/2;
writeln(s2);
if s1=s2 then
writeln('arifmeticheskay progressia')
else
writeln('ne arifmeticheskay progresia');
end.
Пожайлуста помогите.Прислать на kutcherkain@yandex.ru

Состояние: Консультация закрыта

Ответ # 127851 от Verena

Здравствуйте, Das_Kain!
Эта ошибка говорит о несочетаемости типов real и byte, причём по вашей задаче, даже если задать массив byte, то переменная s2 должна быть real, т.к. в неё присваиваеися значение, полученное делением. И ещё в первом цикле пропущен end, но это уже другая ошибка.


Консультировал: Verena
Дата отправки: 22.11.2006, 14:32

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 127886 от Юрий Викторович

Здравствуйте, Das_Kain!
for i:=1 to 10 do s1:=s1+a[i]; S1 - byte ему нельзя присваивать значение типа REAl
перед s1:=0 нужен end для предыдущего цикла.
Зачем введена константа n?


Консультировал: Юрий Викторович
Дата отправки: 22.11.2006, 18:04

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 63702

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 1

= общий = | 22.11.2006, 13:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Когда компилятор выдает ошибку 'type mismatch', он Вам указывает точное место в коде, где произошла ошибка и Вы сами можете ее поправить. Что Вам непонятно, поясните пожалуйста.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)


Посетитель

ID: 17049

# 2

= общий = | 22.11.2006, 13:21 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Вы суммируете элементы массива A[] и сохраняете в s1. Но массив у вас переменных с плавающей точкой (real), а пеерменные s1 и s2 — типа byte. Но вообще, действительно, учитесь читать, что вам говорит компилятор.


Посетитель

ID: 26904

# 3

= общий = | 22.11.2006, 16:57 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Пробовал различные типы не помогает.

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 4

= общий = | 22.11.2006, 17:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

To Das_Kain: Не надо пробовать различные типы, надо пробовать одинаковые типы, тогда обязательно поможет.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

 

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

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14521 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн