Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 16.05.2013, 20:00   #1 (permalink)
совушка
Новичок
 
Регистрация: 16.05.2013
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите, пожалуйста, составить программы в Паскале

Помогите составить программы для задач:
1)Пусть даны три числа. Если они могут быть длинами сторон треугольника, определите его вид (прямоугольный, тупоугольный, остроугольный). Вычислите длины его высот и напечатайте их в порядке убывания.
2)Дано целое число N и набор из N целых чисел. Найти номера первого и последнего минимального элемента из данного набора и вывести их в указанном порядке.
3)Дан целочисленный массив А размера 10. Вывести порядковый номер последнего из тех его элементов Ак , которые удовлетворяют двойному неравенству А1<Ак<А10 . Если таких элементов нет, то вывести 0.
4)Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат ровно три буквы «А».
совушка вне форума   Ответить с цитированием

Старый 16.05.2013, 20:00
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

В похожих обсуждениях вы наверняка найдете полезные ответы

Проверьте пожалуйста правильность программы на паскале
Помогите, пожалуйста, составить блок-схему алгоритма программы
Ребят,помогите,пожалуйста, с написанием программы в паскале с помощью подпрограммы!
Помогите пожалуйста составить программу в Паскале
Помогите составить программу в Паскале
Помогите составить программы на C++

Старый 17.05.2013, 17:03   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от совушка Посмотреть сообщение
1)Пусть даны три числа. Если они могут быть длинами сторон треугольника, определите его вид (прямоугольный, тупоугольный, остроугольный). Вычислите длины его высот и напечатайте их в порядке убывания.
Код:
Var
 a,b,c,Ha,Hb,Hc,p,S,Alpha,Beta,Gamma,h1,h2,h3:Real;

function ArcCos(X:real):real;
begin
 if Round(X*10000000)=10000000 then ArcCos:=0 else
 if Round(X*10000000)=-10000000 then ArcCos:=Pi else
 ArcCos:=(Pi/2)-ArcTan(X/Sqrt(1-X*X));
end;

Begin
 Write('a= ');
 Readln(a);
 Write('b= ');
 Readln(b);
 Write('c= ');
 Readln(c);
 If ((a+b)<=c) or ((a+c)<=b) or ((b+c)<=a) then
  Writeln('It can not be a triangle!')
 else
  begin
   Alpha:=ArcCos((b*b+c*c-a*a)/(2*b*c));
   Beta:=ArcCos((a*a+c*c-b*b)/(2*a*c));
   Gamma:=ArcCos((a*a+b*b-c*c)/(2*a*b));
   If (Round(Alpha*1000)=Round(Pi*500)) or
      (Round(Beta*1000)=Round(Pi*500)) or
      (Round(Gamma*1000)=Round(Pi*500)) then
    Writeln('Right') else
   If (Alpha>Pi/2) or (Beta>Pi/2) or (Gamma>Pi/2) then
    Writeln('Obtuse') else
    Writeln('Acute');
   p:=(a+b+c)/2;
   S:=Sqrt(p*(p-a)*(p-b)*(p-c));
   Ha:=S*2/a;
   Hb:=S*2/b;
   Hc:=S*2/c;
   If (Ha>Hb) and (Ha>Hc) then
    begin
     h1:=Ha;
     if Hb>Hc then
      begin
       h2:=Hb;
       h3:=Hc;
      end else
      begin
       h2:=Hc;
       h3:=Hb;
      end;
    end
   else
   If (Hb>Ha) and (Hb>Hc) then
    begin
     h1:=Hb;
     if Ha>Hc then
      begin
       h2:=Ha;
       h3:=Hc;
      end else
      begin
       h2:=Hc;
       h3:=Ha;
      end;
    end
   else
    begin
     h1:=Hc;
     if Ha>Hb then
      begin
       h2:=Ha;
       h3:=Hb;
      end else
      begin
       h2:=Hb;
       h3:=Ha;
      end;
    end;
   Writeln('H1 = ',h1:0:3);
   Writeln('H2 = ',h2:0:3);
   Writeln('H3 = ',h3:0:3);
  end;
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 18.05.2013, 20:25   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от совушка Посмотреть сообщение
4)Дана строка, состоящая из русских слов, набранных заглавными буквами и разделенных пробелами (одним или несколькими). Найти количество слов, которые содержат ровно три буквы «А».
Код:
var
 S:string;
 i,N,M: integer;
 W:Array[1..255] of String;

Function Times(St:String):Boolean;
var
 b:boolean;
 k,p:integer;
begin
 p:=0;
 for k:=1 to Length(St) do
  if St[k]='А' then inc(p);
 Times:=(p=3);
end;

begin
 writeln('Введите строку:');
 readln(S);
 N:=1;
 i:=1;
 M:=0;
 Repeat
  While (S[i]=' ') and (i<Length(S)) do Inc(i);
  W[N]:='';
  While (S[i]<>' ') and (i<=Length(S)) do
   begin
    W[N]:=W[N]+S[i];
    Inc(i);
   end;
  If i<Length(S) then Inc(N);
 Until i>=Length(S);
 For i:=1 to N do
  If Times(W[i]) then
   begin
    Write(W[i]+' ');
    Inc(M);
   end;
 Writeln;
 Writeln(M,' слов');
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:48.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.