→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Ошибка 
Автор Сообщение
Начинающий

Регистрация: 29.12.2009
Сообщения: 2
Языки:
Специальность:

Репутация: 0 [ ? ]
 Ошибка
Вот мне надо написать программу которая вычисляет корень квадратный суммы трёх вещественных чисел, введённых с клавиатуры.Результат округленный до ближайшого целого выводится на монитор.
Ну я вот написал
Program mm;
var
a: integer;
b: integer;
c: integer;
d: integer;
e: integer;
f: integer;
begin
Write ('Введите первое число: ');
Readln (a);
Write ('Введите второе число: ');
Readln (b);
Write ('Введите третье число: ');
Readln (c);
d:=a+b+c;
e:=sqrt(d) <<<<<===== Тут я хочу взять корень из числа d
f:=Round (e); <<<<==== округлить хочу число е
Writeln (f);
Readln;
end.
Но ни корень ни округление не делаеться, ошибку кидает, стёр я округление просто оставил корень, то всё равно не делает, ошибка, попробовал взять sqr то нормально, и еще ошибка какаято у меня тоесть я запускаю F5 а оно тупо ничего не пишет, потом нажимаю F4 начинает работать помогите разобраться с задачей!
P.S дайте нормальный TP русский
P.S и литературу
Заранее благодарен!


29.12.2009 13:11
Профиль Отправить email
Мастер

Регистрация: 26.12.2009
Сообщения: 154
Откуда: Kiev
Языки:
Специальность:

Репутация: 7 [ ? ]
 Re: Ошибка
Program mm;
var
a: integer;
b: integer;
c: integer;
d: integer;
e: real;
f: integer;
begin
Write ('Введите первое число: ');
Readln (a);
Write ('Введите второе число: ');
Readln (b);
Write ('Введите третье число: ');
Readln (c);
d:=a+b+c;
e:=sqrt(d) <<<<<===== Тут я хочу взять корень из числа d
f:=Round (e); <<<<==== округлить хочу число е
Writeln (f);
Readln;
end.

_________________
yaroslav91@gmail.com


29.12.2009 20:26
Профиль Отправить email ICQ
Мастер

Регистрация: 26.12.2009
Сообщения: 154
Откуда: Kiev
Языки:
Специальность:

Репутация: 7 [ ? ]
Сообщение Re: Ошибка
корень записывается в целое число... Паскаль такое не пропускает в отличии от С++

_________________
yaroslav91@gmail.com


29.12.2009 20:26
Профиль Отправить email ICQ
Мастер

Регистрация: 26.12.2009
Сообщения: 154
Откуда: Kiev
Языки:
Специальность:

Репутация: 7 [ ? ]
 Re: Ошибка
real действиетльнрое
http://ru.wikipedia.org/wiki/%D0%94%D0% ... 0%BB%D0%BE

_________________
yaroslav91@gmail.com


29.12.2009 20:27
Профиль Отправить email ICQ
Начинающий

Регистрация: 29.12.2009
Сообщения: 2
Языки:
Специальность:

Репутация: 0 [ ? ]
Сообщение Re: Ошибка
Спасибо всем!


29.12.2009 21:24
Профиль Отправить email
Начинающий

Регистрация: 02.06.2010
Сообщения: 1
Языки:

Репутация: 0 [ ? ]
 Re: Ошибка
помогите найти ошибки:задача:1. Образовать массив x, упорядоченный по неубыванию, и массив y, упорядоченный по невозрастанию, используя фрагмент программы:
CONST
k = 50;
m = 20;
n = k + m;
VAR
x: array [1..k] of real;
y: array [1..m] of real;
z: array [1..n] of real;
Объединить элементы этих двух массивов в один массив z так, чтобы они оказались упорядоченными по неубыванию.
программа:Program Ex1;
uses crt;
const
k = 50;
m = 20;
n = k + m;
var
x : array[1..k] of real;
y : array[1..m] of real;
z : array[1..n] of real;
i,j: integer;
d: real;
maxi, mini : integer;

begin
d:=1.2;

for i:=1 to k do
begin
x[i]:=i+d;
end;

//Вывод первого массива X.
writeln('Массив X: ');
for i:=1 to k do
begin
write(x[i], ' ');
end;


for i:=m downto 1 do
begin
y[i]:=i-d;
end;

//Вывод второго массива Y.
writeln;
writeln('Массив Y: ');
for i:=m downto 1 do
begin
write(y[i], ' ');
end;


//Заполнение третьего массива Z. Сначала элементами X.
for i:=1 to k do
begin
z[i]:=x[i];
end;

//Заполнение третьего массива Z. Теперь элементами Y.
for i:=n downto k+1 do
begin
z[i]:=y[i-50];
end;

//Сортировка массива по неубыванию.
mini := 1;
for i:=1 to n-1 do
begin
for j:= i+1 to n do if (z[j] < z[mini]) then
mini := j;
d := z[i];
z[i] := z[mini];
z[mini]:= d;
end;

writeln;
writeln('Массив Z: ');
for i:=1 to k+m do
begin
write(z[i], ' ');
end;


end.
задача2:2. Определить симметричность элементов каждой строки образованной случайной вещественной матрицы А (20х40 ) посредством функции, проверяющей симметричность числа.
программа:Program CheckForSimmetry;
uses crt;

const
w = 20;
h = 40;
var
a: array[1..w,1..h] of real;
i,j: integer;
totalSimm: boolean;

function checkSimmetry(x: real): boolean;
var
temp,str: string;
len: integer;
dk,k,n: integer;
isSimmetryc: boolean;
begin
isSimmetryc := true;
str:=FloatToStr(x);
if (pos('.',str) <> 0) then
begin
temp:=copy(str,1,(pos('.',str)-1));
temp:=temp+copy(str,(pos('.',str)+1),length(str));
end
else temp:=str;
if (StrToInt(temp[1]) = 0) then temp := copy(temp,2,length(temp));
n:=length(temp);
for k:=1 to n do
begin
dk := StrToInt(temp[k]);
if not (dk = StrToInt(temp[n - k + 1])) then isSimmetryc := false;
end;
result:=isSimmetryc;
end;
begin
randomize;
totalSimm := false;
for i:=1 to h do
begin
for j:=1 to w do a[j,i]:= (random(99900)*1.12345);
end;
//раскоментировать нижню строчку для проверки на симметричность.
//a[1,3]:=54345;


for i:=1 to h do
begin
for j:=1 to w do if (checkSimmetry(a[j,i])) then
begin
writeln('Симметрично: ',a[j,i]);
totalSimm := true;
end;
end;
if not(totalSimm) then writeln('Ни одно число не симметрично!');
end.


10.06.2010 15:57
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»