Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

KMA



Долгожитель


o KMA всё понятно, но программа всё равно выдаёт ошибку "division by zero" непонятно почему. Возможно это у меня тупит Паскаль? Но я пробовал и на других компах, тоже самое выдаёт


и будет выдавать =). У тебя же переполнение идет, ты чего не понимаешь, что определил i как integer, a значит пределы от -2^16 до 2^16-1. 128 в квадрате, как несложно догадаться есть 2^16, за пределы выходит, ноль в конце не скидывает =), вот и получается у тебя вместо твоих 32765 выходит 0. Поэтому замени тип у i на LongInt или word. И проблема решиться.


(Сообщение отредактировал KMA 25 дек. 2007 12:24)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 окт. 2007 23:54 | IP
Guest



Новичок

Есть x=sina. Известно значение x найти a.
Как можно найти а?

Всего сообщений: Нет | Присоединился: Never | Отправлено: 25 окт. 2007 17:49 | IP
Vetas


Новичок

Помогите исправить парочку програм пожалуйста, а то не пойму почему не пашет.

1)  Даны действительные числа a[1],a[2]...  Известно,  что a[1]>0 и
что среди  a[2],a[3],...  есть  хотя бы одно отрицательное число.
Пусть a[1],...a[n] - члены данной последовательности, предшеству-
ющие первому  отрицательному члену (n заранее неизвестно).  Полу-
чить a[1]+a[2]+...+a[n].

2)Даны натуральные числа n,  a[1],...,a[n].  Определить количество
членов a[k] последовательности a[1],...,a[n], являющихся нечетны-
ми числами.

3)Даны натуральное число n,  действительная матрица размера n x 9.
Найти среднее арифметическое каждого из столбцов.

3)
  const n=2;
Var
  i,j:integer;
  C:array[1..n,1..9] of real;
  s,Sar:real;
begin
    for j:=1 to 9 do
    if j mod 2=0 then
    begin
     s:=0;
     for i:=1 to n do
     s:=s+C[i,j];
     Sar:=s/n;
     writeln (Sar);
    end;
end.

2)
  const n=10;
Var
  i,k:integer;
  A:array[1..n] of integer;
begin
    k:=0;
    Writeln('Vvedite massiv');
    for i:=1 to n do
        readln(A[ i ]);
       for i:=1 to n do
    begin
       if (A[ i ] mod 3=0) and (A[ i ] mod 5<>0)
       then
       k:=k+1;
    end;
    Writeln('Koli4estvo=',k);
end.

1)   const n=10;
Var
  i:integer;
  A:array[1..n] of integer;
  p:real;
begin
    p:=1;
    Writeln('Vvedite massiv, na4inaya s pologitelnogo');
    begin
    for i:=1 to n do
    begin
         if a[ i ]>0 then break;
         p:=p*a[ i ];
    end;
End;
end.


(Сообщение отредактировал KMA 25 дек. 2007 12:27)

Всего сообщений: 5 | Присоединился: октябрь 2007 | Отправлено: 25 окт. 2007 19:25 | IP
KMA



Долгожитель


Есть x=sina. Известно значение x найти a.
Как можно найти а?



Вроде всегда был arcsin (x). В Pascal это функция x:=arsin (a)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:05 | IP
KMA



Долгожитель


1)  Даны действительные числа a[1],a[2]...  Известно,  что a[1]>0 и
что среди  a[2],a[3],...  есть  хотя бы одно отрицательное число.
Пусть a[1],...a[n] - члены данной последовательности, предшеству-
ющие первому  отрицательному члену (n заранее неизвестно).  Полу-
чить a[1]+a[2]+...+a[n].



Так давайте договоримся, если пишите i в скобках, значит пишите [ i ], С ПРОБЕЛАМИ, иначе это код, соответствующий курсиву.

Во первых, ты ищешь сумму, а не произведение, поэтому вместо произведения р надо найти сумму. а второе, наверное все-таки вывести результат. в итоге программа будет выглядеть так:

Code Sample:
 
Var
 i: byte;
 A:array[1..n] of integer;
 p: longInt;
BEGIN
   Writeln('Vvedite massiv, na4inaya s pologitelnogo');
   for i:=1 to n do
   begin
     write (i, ' элемент =');
     readLn (a[ i ]
   end;
   p:=0;
   for i:=1 to n do
    begin
     if a[ i ]<0
        then break;
     p:=p+a [ i ]
    end;  
   writeLn ('Otvet ', p)
END.







(Сообщение отредактировал KMA 25 окт. 2007 20:16)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:12 | IP
KMA



Долгожитель


3)Даны натуральное число n,  действительная матрица размера n x 9.
Найти среднее арифметическое каждого из столбцов.



Зачем проверять не принадлежность j к четности? просто убери строку if j mod 2=0 then  и все пойдет.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:41 | IP
Vetas


Новичок

Да с синусом притупил маленька))) , а так спасибо большое.

Всего сообщений: 5 | Присоединился: октябрь 2007 | Отправлено: 25 окт. 2007 20:51 | IP
KMA



Долгожитель


2)Даны натуральные числа n,  a[1],...,a[n].  Определить количество
членов a[k] последовательности a[1],...,a[n], являющихся нечетны-
ми числами.



Все хорошо, только условие у тебя не верное, поменяй его на:
if (A[ i ] mod 2=1)
  then {продолжаешь код}

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 25 окт. 2007 20:52 | IP
Vetas


Новичок

А вот ети можеш проверить заранее БОЛЬШОЕ СПАСИБО=)

1)100
Вычислить: S 1/i^2, где S - сумма.
i=1

const n=100;
var i:integer; s:real;
begin
write('s=');
readln(s);
s:=0;
for i:=1 to n do
s:=s+1/i*i;
writeln('s=',s);
end.
2)Дано натуральное n. Сколько цифр в числе n?

var
i,n:LongInt;
begin
Writeln('vvedite chislo');
ReadLn(n);
i:= 1;
while n>=10 do
begin
n:=n div 10;
Inc(i);
end;
Writeln('i=', i);
ReadLn;
end.
3)Даны натуральное число n, действительные числа a[1],...,a[n]. Вы-
числить a[1]+...+a[n].

var
N: integer;
A: array[1..1000] of real;
P: real;
I: integer;
K: real;
begin
Write('N=');
Readln(N);
P:=1;
for I:=1 to N do
begin
Write('Vvedite ',I,'-е chislo A[',I,']=');
Readln(A[ i ]);
P:=P+A[ i ];
end;
K:=Sqrt(Abs(P));
Writeln('K=',K);
ReadLn;
end.


(Сообщение отредактировал KMA 25 дек. 2007 12:29)

Всего сообщений: 5 | Присоединился: октябрь 2007 | Отправлено: 25 окт. 2007 23:22 | IP
KMA



Долгожитель


Вычислить: S 1/i^2, где S - сумма.
i=1



Вы чего, издеваетесь что ли? Ведь на предыдущей странице эта же задача, один в один. Ошибка есть, но не скажу какая, т. к. смотреть надо, а не просто тупо копировать. По двести раз одну и ту же задачу решать никто вам не будет.


2)Дано натуральное n. Сколько цифр в числе n?

После заверешния цикла еще 1 надо прибавить (скорей всего). И вообще давай договоримся, задачи ТЫ ПРОВЕРЯЕШЬ САМ, а сюда пишешь только то, что не получается.


3)Даны натуральное число n, действительные числа a[1],...,a[n]. Вы-
числить a[1]+...+a[n].

Ты что, программу угадываешь что-ли? Зачем тебе квадратный корень из суммы массива? Тем более когда считаешь сумму, переменную обнуляют, а не присваивают ей значение 1.

И вообще, для кого пишу красным? Чтобы вы обратили внимание. Еще раз так код скинешь, и при этом без отступов, вообще смотреть никто не будет, в том числе и я.


Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 26 окт. 2007 16:13 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com