Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2011, 20:34   #1
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию интервал+ изменение. массив. как вывести на печать?

первая программа сделана, только как распечатать "у" распишите четко, ото в интернетах какаето фигня.
вторая задача, вот листинг:
program sem2;
var n:integer;
F,x:real;
begin
cls;
x:=-3;
while x<=3 do
begin
for n:=1 to 10 do
F:=f+exp(n*ln(x-1))/sqr(n);
writeln( f:4:4) ;
x:=x+0.1;
end;
end.
получается отрицательный логарифм, и пишет - "»*Ошибка: неверная вещественная операция (stm2.pas, строка 10)"
я думаю, всётаки я ошибаюсь, как исправить.
и возникли проблемы с созданием циклов для третей программы... как его реализовать.
Изображения
Тип файла: jpg Безымянный.jpg (40.9 Кб, 123 просмотров)
ayPinki вне форума Ответить с цитированием
Старый 26.11.2011, 20:41   #2
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
получается отрицательный логарифм, и пишет
а зачем его использовать то?
Код:
sl:=1;for i:=1 to 10 do
begin
sl:=sl*(x-1);
f:=f+sl/i/i;
end;
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»

Последний раз редактировалось IT-man; 26.11.2011 в 22:09.
IT-man вне форума Ответить с цитированием
Старый 26.11.2011, 21:45   #3
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию

там же в n-ной степени. вы всётаки правы?) вы задание смотрели?
ayPinki вне форума Ответить с цитированием
Старый 26.11.2011, 21:49   #4
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
там же в n-ной степени
а подумать?
Цитата:
n=1 sl=(x-1);
n=2 sl=sl*(x-1)=(x-1)*(x-1);
n=3 sl=sl*(x-1)=(x-1)*(x-1)*(x-1);
дальше продолжать?
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 26.11.2011, 21:59   #5
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию

program sem2;
var n,i:integer;
F,x,sl:real;
begin
cls;
x:=-3;
while x<=3 do
begin
for n:=1 to 10 do

for i:=1 to n do
begin
sl:=1;
sl:=sl*(x-1);
F:=f+sl/(n*n);
writeln('Ïðè x=',x:4:2, ',n=', n, ' f=',f:2:2 );
end;
x:=x+0.1;
end;

end.

вот что получилось, он выдаёт много строк... - но это правильно?

Последний раз редактировалось ayPinki; 26.11.2011 в 22:04.
ayPinki вне форума Ответить с цитированием
Старый 26.11.2011, 22:01   #6
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
но почему то F всегда 0 ...
внимательно смотрим
у меня
Код:
sl:=1;
у тебя sl вообще не проинициализировано)
у меня
Код:
for i:=1 to 10 do
у тебя
Код:
for n:=1 to 10 do
for i:=1 to n do
Рабочая прога
Код:
program sem2;
var n,i:integer;
f,x,sl:real;
begin
cls;
x:=-3;
while x<=3.1 do
begin
sl:=1;
F:=0;
for i:=1 to 10 do
begin
sl:=sl*(x-1);
f:=f+sl/(i*i);
end;
writeln(' x=',x:4:1,' f=',f:4:2);
x:=x+0.1;
end;
end.
результат
Цитата:
x=-3.0 f=8020.75
x=-2.9 f=6189.12
x=-2.8 f=4743.04
x=-2.7 f=3608.55
x=-2.6 f=2724.44
....
x= 3.0 f=31.12
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»

Последний раз редактировалось IT-man; 26.11.2011 в 22:13.
IT-man вне форума Ответить с цитированием
Старый 26.11.2011, 22:06   #7
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию

спс. буду разбираться. завтра как наработки появятся, мб поможете с массивом. )

Последний раз редактировалось ayPinki; 26.11.2011 в 22:14.
ayPinki вне форума Ответить с цитированием
Старый 26.11.2011, 22:13   #8
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
извините , всё разобрал уже правки 20 раз делал
Пост N6 глянь) там рабочая прога и результат
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 27.11.2011, 13:27   #9
ayPinki
Пользователь
 
Регистрация: 11.12.2009
Сообщений: 97
По умолчанию

Program massive;
Var i,n,k,max:integer;
A : array [1..90] of integer;

begin
cls;
writeLn('Ââåäèòå ðàçìåðíîñòü ìàññèâà =');
readLn(n);
for I:=1 to n do
begin Write('A[',I:2,']=');
Readln(A[I])
End;
For k:=1 to n do
if a[k]>max then
begin
max:=a[k]; i:=k;
end;
writeln('Ìàêñèìàëüíûé ýëåìåíò ìàññèâà A[',i,']=',max);

for I:=i to n do /выводит после максимума. он сохраняет i- позицию именно Максимума, т.к. мы сверху сделали i:=k правильно?
begin
Writeln('A[',I:2,']=' ,a[i]);
end;

end.

вот что смог сделать насчет третей задачи, осталось только отсортировать от A[i]=max до n по возростанию, но как это сделать...подскажите(

Последний раз редактировалось ayPinki; 27.11.2011 в 13:31.
ayPinki вне форума Ответить с цитированием
Старый 27.11.2011, 13:59   #10
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Держи, и не мучайся =) Но вот ответ тоже частичный) т.к. упорядочивает не после мах элема, а во общем варианте ( ну а с условием я думаю подумать будет не сложно )

Код:
Program massive;
Uses crt;
type 
    Massiv = Array [1..90] Of integer;
Var A ,az:  Massiv;
   Buffer, imax, max: integer;
   i, j, n: Integer;
Begin
clrscr;
Write ('Vveditb razmernost masuva ( no ,bolshe 4em 90) : ');
ReadLn (n);
for I:=1 to n do begin
    Write('A[',I:2,']=');
    Readln(A[I])
End;
max:=a[1];imax:=1;
if a[i]>max then begin
  max:=a[i];
  imax:=i;
end;
writeln('max elem ',max:3,' ','index ',imax);
     for i:=1 to n do az[I]:=a[I];
     for i:=1 to n do
         for j:=i to n do Begin
             If az[i]>az[j] Then Begin
                Buffer:=az[j];
                aZ[j]:=az[i];
                aZ[i]:=Buffer;
             End;
         End;
     WriteLn ('Упорядочен по возрастанию:');
     for I:=1 to n Do Begin
         Write (az[I]:4,' ');
     end;
readln;
end.
переделал, теперь помозгуй как отсортировать от max элемента.
Люблю на ты.Я человек простой

Последний раз редактировалось Leshii; 27.11.2011 в 14:18.
Leshii вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в си++ вывести массив в виде таблицы? Великолепная Помощь студентам 2 17.12.2010 00:45
как вывести БД потключённую к Delphi на печать sid1868 Помощь студентам 1 02.11.2010 12:37
как присвоить все три значения вектору В и вывести его как массив столбец при вызове функции Tomoa Microsoft Office Excel 8 08.03.2010 20:42
Как вывести на печать документ Word prizzrak Microsoft Office Excel 10 01.10.2009 20:36
Как вывести таблицу StringGrid на печать? graphoman Компоненты Delphi 1 07.01.2008 22:19