Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 357
от 30.04.2007, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 244, Экспертов: 69
В номере:Вопросов: 1, Ответов: 2


Вопрос № 84066: Эх хорошо что отвечают на вопросы хоть по 2 эксперта)) а то прошлый раз ошибочка у одного была, не скажу у кого ;) И так подойдем ближе к делу. Помогите пожалуйста;) ЗАдали очередную лабораторную и как всегда 2 задачки, которые я даж понятия не и...

Вопрос № 84.066
Эх хорошо что отвечают на вопросы хоть по 2 эксперта)) а то прошлый раз ошибочка у одного была, не скажу у кого ;)
И так подойдем ближе к делу. Помогите пожалуйста;) ЗАдали очередную лабораторную и как всегда 2 задачки, которые я даж понятия не имею, как делать(((...

№1
Посчитать периметр треугольников, которые заданные координатами их вершин в массивах
XA[3], XB[3], XC[3]
YA[3], YB[3], YC[3]
Длину сторон треугольника высчитать с помошью функции.

{Здесь просто,я вообще ничего не понял...}

№2
Высчитать значение уравнения А=В+С+D, используя процедуру складывания матриц, если В,С,D - матрицы 3*5. Выходные значения вводить с клавиатуры.
{мне здесь не понятно зачем вводить "Выходные" значения и вообще как это... может "очапятка)" может имели в виду "Ввод с клавиатуры... в общем не знаю я " ?(( }

Помогите нюбу... выросту буду Вам помогать)))
Заранее всем Спасибо, ведь Вы же поможете мне... правда? ;)
Отправлен: 25.04.2007, 01:14
Вопрос задал: Grizlik (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Verena
Здравствуйте, Grizlik!
В первой задаче смущает способ ввода координат - вводить 6 массивов не слишком рационально... Логичней было бы ввести максимум две или даже одну матрицу, но раз в задании указано так, менять не буду:

const n=3;
var xa, xb, xc, ya, yb, yc: array [1..n] of integer;
i: integer;

function Dlina (x, y, x1, y1: integer): real;
var
begin
Dlina := sqrt (sqr(x1-x)+sqr(y1-y)); {формула вычисления длины отрезка по координатам концов}
end;

function Perimetr (ac, bc, ab: real): real;
begin
Perimetr:= ac+bc+ab;
end;

begin
..... {ввод массивов кооринат}
for i:=1 to n do {в цикле вычисляем периметр для каждого из треугольников}
writeln ('Периметр ', i, '-го: ', Perimetr (Dlina(xa[i], ya[i], xc[i], yc[i]), Dlina(xb[i], yb[i], xc[i], yc[i]), Dlina(xa[i], ya[i], xb[i], yb[i]))); {выводим на экран}
end.

Вторая задача - сложно ответить, если даже Вы не уверены в условии. Если надо просто посчитать матрицу-сумму трёх введённых матриц, то это делать так:

const m=3;
const n=5;
type matr = array [1..m, 1..n] of integer;
var a, b, c, d: matr;
i, j: integer;
procedure Sum (var a, b, s: matr);
var i, j: integer;
begin
for i:=1 to m do
for j:=1 to n do
s[i,j]:= a[i,j]+b[i,j]; {считаем поэлементную сумму}
end;

begin
.....{ввод матриц}

Sum (b, c, a);
Sum (a, d, a);
for i:=1 to m do
begin
for j:=1 to n do
write (a[i, j];
writeln;
end;
end.

Если что не так - пишите)

---------
Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: 10-ый класс)
Ответ отправлен: 25.04.2007, 01:47

Отвечает: Mailusr
Здравствуйте, Grizlik!
на 1 вопрос:
длина отрезка, соединяющего две точки равна квадратному корню из суммы квадратов разности координат
Посчитать три длины и сложить - периметр
т.е. см. приложение
и по аналогии для треугольников b,c

Приложение:

Ответ отправил: Mailusr (статус: 2-ой класс)
Ответ отправлен: 25.04.2007, 14:09


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.51 (beta) от 27.04.2007
Яндекс Rambler's Top100

В избранное