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

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

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

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


Новичок
*

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

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


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

 



- Текстовая версия 21.06.2025 5:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"