Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2010, 11:41   #1
Нубас
Новичок
Джуниор
 
Регистрация: 02.11.2010
Сообщений: 2
По умолчанию Задачи с алгоритмом

Здраствуйте, надо решить задачки алгоритмом, с помощью блок-схем, помогите пожалуйста завтра надо сдать((
1.Даны три числа.Если они могут быть длинами сторон треугольника, определите его вид(прямоугольный, тупоугольный, остроугольный). Вычислите длины его медиан и напечатайте их в порядке убывания.
2.Пусть дано целое k, 1<или=k<или=180. Определить, какая цифра находиться в k-ой позиции последовательности, в которой подряд записаны все двузначные целые числа: 101112131415...9898.
Заранее спасибо.
Нубас вне форума Ответить с цитированием
Старый 02.11.2010, 13:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
1.Даны три числа.Если они могут быть длинами сторон треугольника, определите его вид(прямоугольный, тупоугольный, остроугольный).
Вычислите длины его медиан
Могу предложить такое:

Код:
MODULE Треугольник;
IMPORT StdLog,Math;
VAR a,b,c:INTEGER;
 alfa,beta,gamma,Радиус:REAL;

PROCEDURE ТреугольникЛи():BOOLEAN;
BEGIN
 IF (a<(b+c))&(b<(c+a))&(c<(a+b)) THEN
   RETURN TRUE
 ELSE
   RETURN FALSE
 END;
END ТреугольникЛи;

PROCEDURE МедианаC(a,b,c:INTEGER):REAL;
VAR m:REAL;
BEGIN
 RETURN Math.Sqrt((2*a*a+2*b*b-c)/4);
END МедианаC;

PROCEDURE Медианы;
VAR m:REAL;
BEGIN 
 StdLog.Ln;
 StdLog.String('Медиана А=');
  StdLog.Tab;StdLog.Real(МедианаC(a,b,c));
  StdLog.Ln;

 StdLog.String('Медиана B=');
  StdLog.Tab;StdLog.Real(МедианаC(a,c,b));
  StdLog.Ln;

 StdLog.String('Медиана C=');
  StdLog.Tab;StdLog.Real(МедианаC(c,b,a));
  StdLog.Ln;

END Медианы;


PROCEDURE Тип;
VAR a,b,c:INTEGER;
BEGIN
a:=SHORT(ENTIER(alfa));
b:=SHORT(ENTIER(beta));
c:=SHORT(ENTIER(gamma));

 IF (a=90)OR(b=90)OR(c=90) THEN
  StdLog.String('Прямоугольный');
  RETURN;
 END; 

 IF (a>90)OR(b>90)OR(c>90) THEN
  StdLog.String('Тупой');
  RETURN;
 END; 

 IF (a<90)&(b<90)&(c<90) THEN
  StdLog.String('Острый');
  RETURN;
 END; 

END Тип;

PROCEDURE ПолучитьУглы;
VAR cosy,sina,cosb:REAL;
BEGIN
 cosy:=(a*a+b*b-c*c)/(2*a*b);
 gamma:=Math.ArcCos(cosy)*180/3.14; 
 Радиус:=c/Math.Sin(gamma)/2;
 sina:= 1/(2*Радиус/a);
 cosb:= 1/(2*Радиус/b);
 alfa:=Math.ArcSin(sina);
 beta:=Math.ArcSin(cosb);

 StdLog.String('Радиус = ');StdLog.Tab;
  StdLog.Real(Радиус);StdLog.Ln;
 StdLog.String('Альфа = ');StdLog.Tab;
  StdLog.Real(alfa);StdLog.Ln;
 StdLog.String('Бета = ');StdLog.Tab;
  StdLog.Real(beta);StdLog.Ln;
 StdLog.String('Гамма = ');StdLog.Tab;
  StdLog.Real(gamma);StdLog.Ln;
END ПолучитьУглы;

PROCEDURE Определить*();
BEGIN
 a:=3;
 b:=4;
 c:=5;
 StdLog.Clear;
 IF ТреугольникЛи() THEN
  StdLog.String('Это треугольник');StdLog.Ln;
  ПолучитьУглы();
  Тип;
  Медианы;
 ELSE
  StdLog.String('Это не треугольник');
 END; 
END Определить;


END Треугольник.
Треугольник.Определить;
I'm learning to live...

Последний раз редактировалось Stilet; 02.11.2010 в 13:55.
Stilet вне форума Ответить с цитированием
Старый 02.11.2010, 13:52   #3
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Не понял тебе что блок-схема или программа всё-таки нужна? или и то и другое?
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 02.11.2010, 13:55   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Стилет, что за язык? За Аду взялся что-ли ?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 02.11.2010, 13:57   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
За Аду взялся что-ли
Неа. Ада устарела. Оберон рулит
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2010, 14:09   #6
Нубас
Новичок
Джуниор
 
Регистрация: 02.11.2010
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Могу предложить такое:

Код:
MODULE Треугольник;
IMPORT StdLog,Math;
VAR a,b,c:INTEGER;
 alfa,beta,gamma,Радиус:REAL;

PROCEDURE ТреугольникЛи():BOOLEAN;
BEGIN
 IF (a<(b+c))&(b<(c+a))&(c<(a+b)) THEN
   RETURN TRUE
 ELSE
   RETURN FALSE
 END;
END ТреугольникЛи;

PROCEDURE МедианаC(a,b,c:INTEGER):REAL;
VAR m:REAL;
BEGIN
 RETURN Math.Sqrt((2*a*a+2*b*b-c)/4);
END МедианаC;

PROCEDURE Медианы;
VAR m:REAL;
BEGIN 
 StdLog.Ln;
 StdLog.String('Медиана А=');
  StdLog.Tab;StdLog.Real(МедианаC(a,b,c));
  StdLog.Ln;

 StdLog.String('Медиана B=');
  StdLog.Tab;StdLog.Real(МедианаC(a,c,b));
  StdLog.Ln;

 StdLog.String('Медиана C=');
  StdLog.Tab;StdLog.Real(МедианаC(c,b,a));
  StdLog.Ln;

END Медианы;


PROCEDURE Тип;
VAR a,b,c:INTEGER;
BEGIN
a:=SHORT(ENTIER(alfa));
b:=SHORT(ENTIER(beta));
c:=SHORT(ENTIER(gamma));

 IF (a=90)OR(b=90)OR(c=90) THEN
  StdLog.String('Прямоугольный');
  RETURN;
 END; 

 IF (a>90)OR(b>90)OR(c>90) THEN
  StdLog.String('Тупой');
  RETURN;
 END; 

 IF (a<90)&(b<90)&(c<90) THEN
  StdLog.String('Острый');
  RETURN;
 END; 

END Тип;

PROCEDURE ПолучитьУглы;
VAR cosy,sina,cosb:REAL;
BEGIN
 cosy:=(a*a+b*b-c*c)/(2*a*b);
 gamma:=Math.ArcCos(cosy)*180/3.14; 
 Радиус:=c/Math.Sin(gamma)/2;
 sina:= 1/(2*Радиус/a);
 cosb:= 1/(2*Радиус/b);
 alfa:=Math.ArcSin(sina);
 beta:=Math.ArcSin(cosb);

 StdLog.String('Радиус = ');StdLog.Tab;
  StdLog.Real(Радиус);StdLog.Ln;
 StdLog.String('Альфа = ');StdLog.Tab;
  StdLog.Real(alfa);StdLog.Ln;
 StdLog.String('Бета = ');StdLog.Tab;
  StdLog.Real(beta);StdLog.Ln;
 StdLog.String('Гамма = ');StdLog.Tab;
  StdLog.Real(gamma);StdLog.Ln;
END ПолучитьУглы;

PROCEDURE Определить*();
BEGIN
 a:=3;
 b:=4;
 c:=5;
 StdLog.Clear;
 IF ТреугольникЛи() THEN
  StdLog.String('Это треугольник');StdLog.Ln;
  ПолучитьУглы();
  Тип;
  Медианы;
 ELSE
  StdLog.String('Это не треугольник');
 END; 
END Определить;


END Треугольник.
Треугольник.Определить;
Спасибо за ответ, но мне нужно не программу а саму блок-схему, вот пример
Нубас вне форума Ответить с цитированием
Старый 02.11.2010, 14:12   #7
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

На паскаля, но код не проверял
Код:
var s:string;
r,ch,k:integer;
begin
r:=round(k/2);
ch:=10+r-1;
str(ch,s) 
if s mod 2=0 then writeln(copy(s,2,1)) else writeln(copy(s,1,1))
end.
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 02.11.2010 в 14:14.
Niro вне форума Ответить с цитированием
Старый 02.11.2010, 14:59   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Пожалуйста, но в следующий раз учти: Фраза "решить задачки алгоритмом" - подразумевает все что угодно. Программа сама представляет алгоритм, а блок-схема - это очковтирательство для преподавателей.
Так что выражайся яснее на будущее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.11.2010, 15:19   #9
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Неа. Ада устарела. Оберон рулит
Верно. Всё собираюсь его в деле попробовать ..
BlackBox ?
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 02.11.2010, 15:26   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
BlackBox ?
Ага. XDS чет не получилось поставить. А Блэкбокс класная штука - рекомендую всем кто любит делать все своими руками с нуля
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Траблы с Алгоритмом!) LtB Помощь студентам 4 01.11.2010 01:09
Помогите с алгоритмом Xelpher Помощь студентам 7 02.11.2009 19:03
Помогите с алгоритмом xxxNeXxxx Помощь студентам 3 18.10.2009 19:58
помогите с алгоритмом Фибоначчи kardan Помощь студентам 8 01.04.2008 20:22