IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> 5 простейших задач
сообщение
Сообщение #1


Гость






Очень прошу помочь решить следующие задачи
1. Заданы стороны треугольника a b c . Построить алгоритм вычисления его S по Герону
2. Заданы произвольные числа a b c. Построить алгоритм,определяющий, может ли существовать треугольник с длинами сторон, равными заданным числам.
3. Составить алгоритм определение признака високосного года по его номеру.
4. Используя алгоритм високосный год определить признак того, что сумма дней 2 указанных лет больше 730
5. Составить алгоритм нахождения наибольшего общего делителя 2 чисел N1 и N2
Заранее благодарна smile.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
сообщение
Сообщение #2


Гость






1. Эта функция вычисляет площадь треугольника по формуле Герона
Код

function S(a, b, c: real): real;
var p:real;
begin
 {площадь по теореме Герона}
 p:=(a+b+c)/2; {полупериметр}
 S:=sqrt(p*(p-a)*(p-b)*(p-c));
end;


2. Функция IsLegal возвращает True если треугольник может существовать, иначе - False
Код

function isLegal(a, b, c: real): boolean;
begin
 isLegal := not (((a+b)<c) or ((a+c)<b) or ((c+b)<a))
end;


3. По определению, номер високосного года делится на 4, кроме тех, которые делятся на 100, но не делятся на 400.

Например: 2004, 2008, 2012, 2016 - високосные, 1900, 2100, 2200, 2300 - невисокосные, 2000, 2400 - високосные. Отсюда программа:
Код

function bsYear(n: Word): Boolean;
 begin
   bsYear := ((n mod 4) = 0) and
     not (((n mod 100) = 0) and ((n mod 400) <> 0))
 end;

begin
 writeln(bsYear(1972))
end.


4.
Код

Var
 yr1, yr2: Word;
Begin
 ReadLn(yr1); ReadLn(yr2);
 If (bsYear(yr1) or bsYear(yr2)) Then
   WriteLn('сумма дней больше 730')
 Else WriteLn('Сумма дней не больше 730')
End.


5.
Код

function GCD(const m, n: Word): Word;
var p, n1, m1: Word;
begin
 if (n = 0) or (m = 0) then GCD := 0
 else
   begin
     if m < n then
       begin
         n1 := m; m1 := n
       end
     else
       begin
         n1 := n; m1 := m
       end;
     while n1 > 0 do
       begin
         p := m1 mod n1;
         m1 := n1; n1 := p
       end;
     GCD := m1
   end;
end;

Begin
 WriteLn(GCD(54, 36)); {18}
End.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Большое спасибо! Вы мне очень помогли...

:D
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 13.09.2025 5:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name