Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Редактирование интеграла и символы

Автор: }0pa 29.09.2006 2:47

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

Код
function prav(a,b:real;n:integer):real;
var
  s,x:real;
  dx:real;
  xb:real;
  i:integer;
begin
dx:=(b-a)/n; s:=0; xb:=b;
   for i:=1 to n do
     begin
       x:=xb-i*dx;
       s:=s+f(x)*dx;
     end;
  prav:=s;
end;


---------------------------------------------------------------------
2.Используя ЦЕПОЧКИ СИМВОЛОВ (не стринги), вывести все слова начинающие на "М". Слова разделены пробелами. Стринги не использовать, т.к. сам уже сделал

Автор: volvo 29.09.2006 2:52

Цитата
Используя ЦЕПОЧКИ СИМВОЛОВ (не стринги)
Пример цепочек символов - в студию (лично мне это понятие не знакомо)...

Насчет функции - я бы сделал так:
begin
dx:=(b-a)/n; s:=0; x := b;
for i:=1 to n do begin
x := x - dx;
s:=s+f(x)*dx;
end;
prav:=s;
end;


А вообще - не изобретай велосипедов: http://soft32.ru/delphi.shtml?topic=syntax&title=calc_integral2

P.S.
(Что ж ты в FAQ неоптимальный код запостил? dry.gif Доведи его до ума, потом посмотрим...)

Автор: lapp 29.09.2006 5:56

Цитата(}0pa @ 28.09.2006 23:47) *

Используя ЦЕПОЧКИ СИМВОЛОВ (не стринги)

Цитата с сервера http://www.vzmakh.ru/info/pascal/modules/page6.html
Цитата
Про величину, значением которой является последовательность (цепочка) символов, (т.е. элементов типа char) говорят, что она имеет строковый или литерный тип (тип string).

Непонятно, что ты имел в виду. Просто массив of char? Строку, заканчивающуюся нулем (как в С)?

Автор: }0pa 29.09.2006 14:20

Цитата
Пример цепочек символов - в студию (лично мне это понятие не знакомо)...

Код

var
c:Char;
i:integer;
begin

for i:=1 to 10 do
  begin
   read(c);
   write(c);
end;

end.

В общем, когда заранее известно длина строки.

Цитата
А вообще - не изобретай велосипедов

Я стараюсь задачи сам решать, просто я только начинаю изучать паскаль, поэтому мне нужны некоторые советы.

Цитата
(Что ж ты в FAQ неоптимальный код запостил? Доведи его до ума, потом посмотрим...)

А разве простой пользователь может разместить свой пример в ФАКе? А вообще, по-моему, этот код годится для FAQa, может только методы прямоугольников подредактировать

Цитата(volvo @ 28.09.2006 22:52) *

Насчет функции - я бы сделал так:

Большое спасибо!

Я думаю теперь код годиться для фака. Теперь можно опубликовать?

Автор: volvo 29.09.2006 14:48

В-общем, это у тебя не цепочка символов, а просто символ. Один... В FAQ-е разговор не про это, а про PChar, который, к сожалению, является Null-Terminated String, а ты просил String-и не предлагать...

Цитата
А разве простой пользователь может разместить свой пример в ФАКе?
Ну, ты же попытался, хотя написано, что тот раздел - на премодерации, и код будет тестироваться, прежде чем будет разрешен... А тут вдруг ты сам признаешь, что код неоптимальный... Зачем нам такой? Неоптимальных кодов знаешь, сколько по всему интернету раскидано?

Автор: }0pa 29.09.2006 16:43

Цитата(volvo @ 29.09.2006 10:48) *

А тут вдруг ты сам признаешь, что код неоптимальный... Зачем нам такой? Неоптимальных кодов знаешь, сколько по всему интернету раскидано?

Ну, теперь-то он оптимальный. rolleyes.gif

В принципе, задача решенная что-то вроде по ниженаписанному примеру, тоже подойдет.
"Слова разделены пробелом, вывести все слова на букву "М""....
Код
var  
s:string;  
f:Char  
i:byte;
begin  
  readln(s);  
   for i:=1 to Length(s) div 2 do begin    
    f:=s[i];  
     s[i]:=s[Length(s)-i+1];    
      s[Length(s)-i+1]:=f;  
      end;  
writeln(s);
end.



P.S. из FAQ-a

Автор: }0pa 30.09.2006 19:21

Ну, кто-нить помогите м задачей wacko.gif

Автор: мисс_граффити 1.10.2006 15:37

может, цепочка символов - это такой мини-список?
то есть у эл-та 2 поля: символ и указатель на следующий? (или еще и на предыдущий)?

Автор: }0pa 2.10.2006 1:10

Цитата(мисс_граффити @ 1.10.2006 11:37) *

может, цепочка символов - это такой мини-список?
то есть у эл-та 2 поля: символ и указатель на следующий? (или еще и на предыдущий)?

Я знаюб что такое динамические однонаправленные списки. Я же говорю, см. пример на один пост выше