 |
18.11.2011, 10:47
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 03.08.2011
 Сообщений: 29
 Популярность: 701
 Сказал(а) спасибо: 97
Поблагодарили 59 раз(а) в 42 сообщениях
|
програмиссты помогите паскль
Ребят нам задали такую вот задачку, я нифига не шарю в программировании ( а препод жесть) если не так трудно написать такую прогу напишите плиз оч прошу с меня пасибка
Составить программу вычисления длины ломаной линии,заданной координатами точек её начала изломов и конца. N-число точек, (x!;y1),(x2;y2),(xN;yN)-координаты точек излома и концов. Контрольный пример:N=5;(x,y)=[(0,0),(2,2),(4,0),(6,2),(8,4)]:L=11,313
Формула длины:L=корень из((x2-x1)В квадрате-(y2-y1)в квадрате)+корень из((x3-x2)В квадрате-(y3-y2)в квадрате)+...в зависимости от N
|
|
|
18.11.2011, 10:54
|
#2
|
|
|
|
Разведчик
|
 Регистрация: 12.11.2011
 Сообщений: 9
 Популярность: 29
 Сказал(а) спасибо: 1
Поблагодарили 6 раз(а) в 6 сообщениях
|
Re: програмиссты помогите паскль
а на кой тебе однокласники,однокурсники,собутыльники? про последних я пошутил
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). Моя основа в бане Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
18.11.2011, 11:01
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 03.08.2011
 Сообщений: 29
 Популярность: 701
 Сказал(а) спасибо: 97
Поблагодарили 59 раз(а) в 42 сообщениях
|
Re: програмиссты помогите паскль
|
|
|
18.11.2011, 12:38
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 20.10.2011
 Сообщений: 12
 Популярность: -28
 Сказал(а) спасибо: 19
Поблагодарили 5 раз(а) в 4 сообщениях
|
Re: програмиссты помогите паскль
грызи науку, студент. Всю жизнь на форумах не посидишь. Работать придется, бо жрать охота.
|
|
|
18.11.2011, 13:07
|
#5
|
|
|
|
Старший сержант
|
 Регистрация: 19.09.2010
 Сообщений: 193
 Популярность: 14834
 Сказал(а) спасибо: 101
Поблагодарили 227 раз(а) в 126 сообщениях
|
Re: програмиссты помогите паскль
|
|
|
18.11.2011, 13:39
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 20.09.2010
 Сообщений: 13
 Популярность: 304
 Сказал(а) спасибо: 0
Поблагодарили 19 раз(а) в 12 сообщениях
|
Re: програмиссты помогите паскль
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
Ребят нам задали такую вот задачку, я нифига не шарю в программировании ( а препод жесть) если не так трудно написать такую прогу напишите плиз оч прошу с меня пасибка
Составить программу вычисления длины ломаной линии,заданной координатами точек её начала изломов и конца. N-число точек, (x!;y1),(x2;y2),(xN;yN)-координаты точек излома и концов. Контрольный пример:N=5;(x,y)=[(0,0),(2,2),(4,0),(6,2),(8,4)]:L=11,313
Формула длины:L=корень из((x2-x1)В квадрате-(y2-y1)в квадрате)+корень из((x3-x2)В квадрате-(y3-y2)в квадрате)+...в зависимости от N
|
|
 |
|
 |
|
лучше бы конечно сам учил, а то дальше труба будет
но так и быть напишу
Program Dlinna;
Var i,n:integer; sum:real;
x:array[1..200] of integer;
y:array[1..200] of integer;
Begin
Writeln('Введите кол-во точек');
Readln(n);
For i:=1 to n-1 do
begin
Writeln('Введите координаты точки под номером',i);
Readln(y[i],x[i]);
end;
Sum:=0;
For i:=1 to i do
begin
Sum:=sum+sqrt(sqr(x[i+1])-sqr(x[i]))+sqrt(sqr(y[i+1])-sqr(y[i]));
end;
Writeln(Sum);
end.
Вроде как-то так
Последний раз редактировалось =nekros=; 18.11.2011 в 13:47.
|
|
|
Пользователь сказал cпасибо:
|
|
18.11.2011, 13:47
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 03.08.2011
 Сообщений: 29
 Популярность: 701
 Сказал(а) спасибо: 97
Поблагодарили 59 раз(а) в 42 сообщениях
|
Re: програмиссты помогите паскль
|
|
|
18.11.2011, 13:47
|
#8
|
|
|
|
Старший сержант
|
 Регистрация: 19.09.2010
 Сообщений: 193
 Популярность: 14834
 Сказал(а) спасибо: 101
Поблагодарили 227 раз(а) в 126 сообщениях
|
Re: програмиссты помогите паскль
2=nekros= Не совсем эффективно. А если у него будет не 200, а 201 точка. Что тогда?
|
|
|
18.11.2011, 13:50
|
#9
|
|
|
|
Разведчик
|
 Регистрация: 03.08.2011
 Сообщений: 29
 Популярность: 701
 Сказал(а) спасибо: 97
Поблагодарили 59 раз(а) в 42 сообщениях
|
Re: програмиссты помогите паскль
|
|
|
18.11.2011, 13:51
|
#10
|
|
|
|
Разведчик
|
 Регистрация: 20.09.2010
 Сообщений: 13
 Популярность: 304
 Сказал(а) спасибо: 0
Поблагодарили 19 раз(а) в 12 сообщениях
|
Re: програмиссты помогите паскль
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
2=nekros= Не совсем эффективно. А если у него будет не 200, а 201 точка. Что тогда?
|
|
 |
|
 |
|
ну 1000 поставь, я просто динамическими массивами не особо владею, если честно совсем не владею)))
нам говорили пока делайте так
а так.. не судьба значит))
|
|
|
Пользователь сказал cпасибо:
|
|
18.11.2011, 13:57
|
#11
|
|
|
|
Старший сержант
|
 Регистрация: 19.09.2010
 Сообщений: 193
 Популярность: 14834
 Сказал(а) спасибо: 101
Поблагодарили 227 раз(а) в 126 сообщениях
|
Re: програмиссты помогите паскль
Тогда уж лучше так. Сам определяет, сколько будет точек, а на резервирует память сразу под огромный массив.
Uses Crt;
Var
N, I : Integer;
X0, Y0, X, Y : Integer;
L : Real;
Begin
ClrScr;
L:=0;
Write('Число точек N= ');
ReadLn(N);
For I :=1 to N do
begin
Write('Введите X и Y ');
ReadLn(X,Y);
If I=1 then
begin
X0:=X;
Y0:=Y;
end;
L:=L+Sqrt(Sqr(X0-X)-Sqr(Y0-Y));
X0:=X;
Y0:=Y;
end;
Write('Длина L= ', L);
End.
Добавлено через 2 минуты
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
ну 1000 поставь, я просто динамическими массивами не особо владею, если честно совсем не владею)))
нам говорили пока делайте так
а так.. не судьба значит))
|
|
 |
|
 |
|
А в паскале его нет.
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
я в скайп стукнул
|
|
 |
|
 |
|
В скайпе не наблюдаю тебя. Вот мой скайп Ulala1377
Последний раз редактировалось Улала; 18.11.2011 в 13:59.
Причина: Добавлено сообщение
|
|
|
Пользователь сказал cпасибо:
|
|
18.11.2011, 14:03
|
#12
|
|
|
|
Разведчик
|
 Регистрация: 03.08.2011
 Сообщений: 29
 Популярность: 701
 Сказал(а) спасибо: 97
Поблагодарили 59 раз(а) в 42 сообщениях
|
Re: програмиссты помогите паскль
|
|
|
18.11.2011, 16:55
|
#13
|
|
|
|
Рыцарь-лейтенант
|
 Регистрация: 25.06.2010
 Сообщений: 449
 Популярность: 4780
 Сказал(а) спасибо: 66
Поблагодарили 610 раз(а) в 249 сообщениях
|
Re: програмиссты помогите паскль
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
2=nekros= Не совсем эффективно. А если у него будет не 200, а 201 точка. Что тогда?
|
|
 |
|
 |
|
хыхы...
тут чем проще, тем лучше... представь это тело, которое задавало вопрос(топикстартера), который начинает вещать про динамические массивы...
Тут лучше , даже с ошибками... препод посмотрит - и вдруг поверит, что решал сам...
А так - начнет задавать вопросы, на которые тело ответить не в состоянии...
Так что сложности с динамической фигней - тут излишни...
|
|
|
18.11.2011, 18:41
|
#14
|
|
|
|
Старший сержант
|
 Регистрация: 19.09.2010
 Сообщений: 193
 Популярность: 14834
 Сказал(а) спасибо: 101
Поблагодарили 227 раз(а) в 126 сообщениях
|
Re: програмиссты помогите паскль
|
|
|
19.11.2011, 00:29
|
#15
|
|
|
|
Сержант
|
 Регистрация: 13.03.2011
 Сообщений: 118
 Популярность: 1812
 Сказал(а) спасибо: 102
Поблагодарили 305 раз(а) в 76 сообщениях
|
Re: програмиссты помогите паскль
Мда, такой лёгкий пример и ни одного правильного ответа, ну что ж вот вам правильный ответ:
Код:
uses
crt;
var
x: array of real;
y: array of real;
n: integer;
i1: integer;
i2: integer;
i3: integer;
l: real;
begin
clrscr;
l:=0;
write('Введите количество точек n: ');
readln(n);
writeln('------------------------------');
setlength(x,n);
setlength(y,n);
for i1:=0 to n-1 do
begin
write('Координата* x ',i1+1,'-ой точки: ');
readln(x[i1]);
end;
writeln('------------------------------');
for i2:=0 to n-1 do
begin
write('Координата* y ',i2+1,'-ой точки: ');
readln(y[i2]);
end;
writeln('------------------------------');
for i3:=0 to n-2 do
begin
l:=l+sqrt(sqr(x[i3+1]-x[i3])+sqr(y[i3+1]-y[i3]));
end;
write('Ответ: l=',l);
readln;
end.
Кстати в следующий раз тему нужно создавать в соответствующем разделе, в разделе дарка ей явно не место.
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 06:32.
|
 |