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

Форум программистов: 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 ] 


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

Зарегистрированные пользователи: Google [Bot]


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

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