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

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


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

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

Выпуск № 450
от 26.09.2007, 13:05

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


Вопрос № 102875: Помогите пожалуйста решить эти задачки 1. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: текст является записью десятичного числа, кратного 6 2. Дана точка М(x, y). Присво...

Вопрос № 102.875
Помогите пожалуйста решить эти задачки

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

2. Дана точка М(x, y). Присвоить z = 1, если точка внутри эллипса (x*x)/(a*a)+(y*y)/(b*b)=1 и z = 0, если точка вне эллипса

3. Четыре точки заданы своими координатами X(x1, x2, x3), Y(y1, y2, y3), Z(z1, z2, z3), T(t1, t2, t3).Выяснить, какие из них находятся на минимальном расстоянии друг от друга и вывести на печать значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде процедуры.

4. Даны m векторов x1=(x11, x21, x31), ..., xm=(x1m, x2m, x3m). Написать программу нахождения суммы этих векторов.

5. Дана действительная квадратная матрица порядка n. Вычислить сумму тех ее элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше нее нет элементов с указанным свойством, то ответом должно служить сообщение об этом.

Отправлен: 21.09.2007, 12:40
Вопрос задал: Audiz (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Coupler
Здравствуйте, Audiz!
По поводу задач 3 и 5: их решение Вы найдете в ответах на вопросы 89467 и 90051, а также в приложении.

Приложение:

Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 21.09.2007, 12:52
Оценка за ответ: 5
Комментарий оценки:
В ответе очень хорошо разьяснен принцып решения задачи. Спасибо!

Отвечает: kopfschwarz
Здравствуйте, Audiz!
1)
sum:=0;
t:=true; //предположим, что в тексте только число
for i:=1 to Length(s) do
begin
if s[i] in ['0'..'9'] then
sum:=sum+ord(s[i])-30 //код 0 - 30, 1 - 31 и т.д., поэтому вычетаем 30.
else
begin
t:=false; // встретилась буква, значит не число.
break //выходим из цикла
//делимость на 6 означает делимость на 3 (если сумма цифр делится на 3) и на 2 (если число оканчивается на четную цифру).
if (t)and(sum mod 3 = 0)and(ord(s[Length(s)]) nod 2 = 0) then
writeln('Число кратно 6'),
else
writeln('Текст не удовлетворяет свойству')
end;

2) все точки можно хранить в массиве m из четырех элементов.
type point = record x,y,z:real; end;
procedure Distance(A,B:point; out d:real);
begin
d:=sqrt(sqr(A.x-B.x)+sqr(A.y-B.y)+sqr(A.z-B.z));
end;

begin
d:=Distance(m[1],m[2]);
for i:=1 to 4 do
for j:=i+1 to 4 do
begin
Distance(m[i],m[j],d);
if d<min then min:=d;
end;
writeln(d);
end;
4) векторы будем хранить в массиве vect.
type point = record x,y,z:real; end;

var vect = array [1..m] of point

begin
res.x:=0;
res.y:=0;
rez.z:=0;
for i:=1 to m do
begin
res.x:=res.x+vect[i].x;
res.y:=res.y+vect[i].y;
res.z:=res.z+vect[i].z;
end;
end;
---------
Please, don't say you're sorry & Express yourself, don't repress yourself!
Ответ отправил: kopfschwarz (статус: Студент)
Ответ отправлен: 21.09.2007, 14:52
Оценка за ответ: 5
Комментарий оценки:
без коментариев, все просто и ясно


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.60 от 22.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное