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

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

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

> Задачи...одна на описание фун-ии, 2-ая на процедур
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 29

Репутация: -  0  +


Кто с этим дружит, напишите своё решение...
1. Две геометрические фигуры вырезаны из бумаги: квадрат со стороной A и ромб с диагоналями C и D (данные вещественные). Описать функцию, аргументами которой являются размеры фигур, а результатом будет TRUE, если одна фигура больше другой и по площади и по периметру, и FALSE в противном случае.
2. Задан массив из 20 целых чисел. Описать процедуру для распечатки на экране номера первого среди ненулевых элементов.
Или может продложение как их решать....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 209

Репутация: -  0  +


выслал на мыл, но на всякий случай:
N_1 (easy)
Код

program Ivs_from_Geroi;
uses crt;
var
  a,c,d:real;

function Size(a1,c1,d1:real):boolean;
var
  S1,S2,P1,P2:real;
begin
  S1:=sqr(a1);                        {Площадь квадрата}
  S2:=0.5*c1*d1;                      {Площадь ромба}
  P1:=4*a1;                           {Периметр квадрата}
  P2:=4*(0.5*sqrt(sqr(c1)+sqr(d1)));  {Периметр ромба (сам выводил, т.к. забыл)}
 
  if ((S1>S2) and (P1>P2)) or ((S2>S1) and (P2>P1)) then Size:=True
                                        else Size:=False;
end;

Begin
  ClrScr;
  write('Input -A- Square : ');readln(a);
  write('Input -C- and -D- Romb: ');readln(c,d); {Вводятся через пробел}
  write('Output: ',Size(a,c,d));
  readln;
End.

N_2 (easy , но блин с этими массивами в процедурах явно что-то не ладное!)
Код

program Ivs_from_Geroi_2;
uses crt;
const n=20; {Размер массива}
var
  a:array[1..n] of integer;
  i:integer;

procedure Print(const a1:array of integer;const m:integer); {Передаем в процедуру в качестве формальных параметров констант}
var j:integer;
begin
  for j:=1 to m do
     if a1[j]<>0 then
     begin
      writeln('Index not null elements: ',j+1); { ????????? Но так выдает правильно, хотя по идее надо выводить j}
      exit;
     end;
end;

begin
  ClrScr;
  for i:=1 to n do
  begin
     write('a[',i,']= ');
     readln(a[i]);
  end;
  Print(a,n);
  readln;
end.


--------------------
Если вы хотите чаще встречаться с понравившейся девушкой установите ей Windows'95
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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