Zheka
Новичок
|
to KMA: Ещё раз спасибо, всё оказалось просто, почему же я сам не додумался
|
Всего сообщений: 19 | Присоединился: октябрь 2007 | Отправлено: 19 окт. 2007 23:52 | IP
|
|
Zheka
Новичок
|
А вот ещё вопрос. Решил ооочень простое задание на Паскале, а при компиляции программы выдаёт ошибку деление на ноль, хотя в программе по сути его быть не может в любом случае. Показал преподавателю, он сказал, что всё верно и никакой ошибки нет. Но может мне всё-таки кто-то объяснит в чём причина невыполнения программы!? Вот она: program RGR6; var A:array[1..128]of integer; i:integer; S:real; begin for i:=1 to 128 do A[ i ]:=random(100); S:=0; for i:=1 to 128 do begin S:=1/sqr(2*i); S:=S+1; end; writeln('S=',S:5:2); end.
|
Всего сообщений: 19 | Присоединился: октябрь 2007 | Отправлено: 22 окт. 2007 3:57 | IP
|
|
KMA
Долгожитель
|
Может не по теме, но у меня тупой вопрос, ты сразу то не можешь написать writeLn ('S=', 1/sqr(128*2) + 1 : 5: 3); Зачем массив то задаешь, и цикл пробегаешь 128 раз? Когда конечное значение заранее известно? Судя по тому, что у тебя написано, ты либо неверно решил задачу, либо неправильно переписал листинг. Открой файл то блокнотом (если из под Винды, как я догадывюсь) и перекопируй сюда.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 22 окт. 2007 20:37 | IP
|
|
Zheka
Новичок
|
Можно было бы и так сделать, но суть задачи состоит в том, чтобы решить её с помощью массива. Какой именно файл, файл программы? (Сообщение отредактировал Zheka 23 окт. 2007 7:05)
|
Всего сообщений: 19 | Присоединился: октябрь 2007 | Отправлено: 23 окт. 2007 2:17 | IP
|
|
KMA
Долгожитель
|
Файл с расширением pas. Скажи, а при чем здесь массивы? Ты же их вообще не используешь, ты только что и делаешь, это присваиваешь его элементам случайные значения. В чем суть? Считай, это похоже на какой-то бред. Вначале создаешь массив, потом им вообще пользуешься, затем в цикле выполняешь 128 раз операции не пойми какие, которые сокращаются до 1 записи в строчку. Спрашивается только одно, кто вам такие задачи дает? Условие можешь привести... а то как-то соображать сложновато.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 23 окт. 2007 19:54 | IP
|
|
Zheka
Новичок
|
Вот задание: 128 Вычислить: S 1/(2i)^2, где S - сумма. i=1 program RGR6; var A:array[1..128]of integer; i:integer; S:real; begin S:=0; for i:=1 to 128 do begin S:=S+1/sqr(2*i); end; writeln('S=',S:5:2); end. Да, действительно рандом здесь не к чему (Сообщение отредактировал KMA 24 дек. 2007 18:06)
|
Всего сообщений: 19 | Присоединился: октябрь 2007 | Отправлено: 23 окт. 2007 22:14 | IP
|
|
KMA
Долгожитель
|
To Zheka, я же говорил, видишь, и код уже вполне понятный. Молодец. Только одна корректировачка. Массив объявлять не надо, он нигде не используется, в итоге твоя задача имеет решение:
Code Sample:
{Вычислить: 1/(2i)^2, где i=1..128} VAR i:integer; S:real; BEGIN S:=0; for i:=1 to 128 do begin S:=S+1/sqr(2*i); end; writeln('S=',S:5:2); END.
(Сообщение отредактировал KMA 24 окт. 2007 16:39)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 окт. 2007 16:37 | IP
|
|
KMA
Долгожитель
|
нужно упорядочить элементы массива между минимумом и максимумом
Уважаемый гость, я еще раз говорю и не устану повторять, здесь НЕ РЕШАЮТ, здесь ПОМОГАЮТ РЕШИТЬ. Это две большие разницы. Что у Вас не получается? Говорите конкретно. Если не понятно, как начать, то вот алгоритм: Ищем номер максимума и минимума: _nMax, _nMin; if _nMax>_nMin then {сортировка по возрастанию, от номера _nMin до_nMax } else {сортировка по убыванию, от _nMax до _nMin} Если заранее определено, что какой-то из номеров стоит левее, т. е. наперед задано, что, скажем, максимум правее, чем минимум, то под else необходимо вывести сообщение, что мол так и так, ошиблись вы товарищ при вводе. Теперь пробуй реализовать, что не получиться, там поможем.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 24 окт. 2007 16:46 | IP
|
|
Kitten
Новичок
|
Помогите решить... Меня попросили помочь перевести выражение из префиксной формы в инфиксную.Туплю капитально. Как сделать, чтобы выражение в скобках воспринималось как одна переменная? Переход в обратном направлении я реализовала, используя последовательную замену внешних скобок на фигурные и удаление внутренних скобок.
|
Всего сообщений: 12 | Присоединился: октябрь 2007 | Отправлено: 24 окт. 2007 18:47 | IP
|
|
Zheka
Новичок
|
to KMA всё понятно, но программа всё равно выдаёт ошибку "division by zero" непонятно почему. Возможно это у меня тупит Паскаль? Но я пробовал и на других компах, тоже самое выдаёт
|
Всего сообщений: 19 | Присоединился: октябрь 2007 | Отправлено: 24 окт. 2007 23:47 | IP
|
|
|