Помощь - Поиск - Пользователи - Календарь
Полная версия: Редактирование интеграла и символы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
}0pa
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
Цитата
Используя ЦЕПОЧКИ СИМВОЛОВ (не стринги)
Пример цепочек символов - в студию (лично мне это понятие не знакомо)...

Насчет функции - я бы сделал так:
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;


А вообще - не изобретай велосипедов: Вычисление определенного интеграла методом левых и правых прямоугольников с заданной точностью

P.S.
(Что ж ты в FAQ неоптимальный код запостил? dry.gif Доведи его до ума, потом посмотрим...)
Lapp
Цитата(}0pa @ 28.09.2006 23:47) *

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

Цитата с сервера А Л Г О Д Р О М - ОСНОВЫ ПРОГРАММИРОВАНИЯ на языке PASCAL
Цитата
Про величину, значением которой является последовательность (цепочка) символов, (т.е. элементов типа char) говорят, что она имеет строковый или литерный тип (тип string).

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

Код

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

Цитата
А разве простой пользователь может разместить свой пример в ФАКе?
Ну, ты же попытался, хотя написано, что тот раздел - на премодерации, и код будет тестироваться, прежде чем будет разрешен... А тут вдруг ты сам признаешь, что код неоптимальный... Зачем нам такой? Неоптимальных кодов знаешь, сколько по всему интернету раскидано?
}0pa
Цитата(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
Ну, кто-нить помогите м задачей wacko.gif
мисс_граффити
может, цепочка символов - это такой мини-список?
то есть у эл-та 2 поля: символ и указатель на следующий? (или еще и на предыдущий)?
}0pa
Цитата(мисс_граффити @ 1.10.2006 11:37) *

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

Я знаюб что такое динамические однонаправленные списки. Я же говорю, см. пример на один пост выше
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.