Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример 5.4. Из партии шин отобрать две шины, диаметры которых отличаются не




Более, чем на D см, а вес — не более, чем на W грамм.

Система тестов

Алгоритмический язык

алг МоиШины (арг цел N, арг вещ таб Диам[1: N], Вес[1: N], арг вещ ДопДиам, ДопВес, рез цел Шина1, Шина2, рез лит Otvet)

нач цел i, j, лит Flag

i:=1; Flag:="Нет"

нц пока (i< =N-1) и (Flag="Нет") | цикл по первой шине из пары

j:=i+1

нц пока (j< =N) и (Flag="Нет") | цикл по второй шине из пары

если (abs(Диам[i] - Диам[j]) <= ДопДиам) | условие соче-

и (abs(Вес[i] - Вес[j]) <= ДопВес) | таемости шин

то Flag:="Да"; Шина1:=i; Шина2:=j

иначе j:=j+1

Все

Кц

i:=i+1

Кц

если Flag="Да"

то Otvet:= "По параметрам подходят друг другу " + Шина1 + "-ая и " +

+“Шина2 + "ая шины."

иначе Otvet:= "Шин, подходящих друг другу, в партии нет."

Все

Кон

Turbo Pascal

Program MyTyres;

Uses Crt;

Type Mas = Array [1..100] of Real;

Var

Number, i, j: Integer; { Number - количество шин }

Diameter, Weight: Mas; { массивы параметров шин }

First, Second: Integer; { номера отобранных шин }

Flag: Boolean;

D, W: Real; {D, W - допуски по параметрам}

{-------------------------------------------------------}

Procedure InputOutput; {описание процедуры ввода-вывода данных}

Begin

ClrScr;

Write('Количество шин: '); ReadLn(Number);

WriteLn('Параметры шин: ');

For i:= 1 to Number do

begin

Write(i, '-ая шина: Диаметр - '); ReadLn(Diameter[i]);

Write(' Вес - '); ReadLn(Weight[i]);

end; WriteLn;

Write('Допуск по диаметру: '); ReadLn(D);

Write('Допуск по весу: '); ReadLn(W);

WriteLn; WriteLn(' Пapаметры шин ');

WriteLn('N шины Диаметр Вес');

For i:= 1 to Number do

WriteLn(i:4, Diameter[i]:10:1, Weight[i]:10:1);

WriteLn;

End; { of InputOutput }

{----------------------------------------------------------}

Procedure YesNo(Var First, Second: Integer; Var Flag: Boolean);

Begin {описание процедуры поиска решения задачи}

i:=1; Flag:= FALSE;

While (i<=Number-1) and not Flag do {цикл по первой шине из пары}

begin

j:= i+1;

While (j<=Number) and not Flag do {цикл по второй шине из пары}

If (Abs(Diameter[i]-Diameter[j]) <= D) and (Abs(Weight[i]-Weight[j]) <= W)

then begin

Flag:=TRUE;

First:=i;

Second:=j;

end

else j:= j+1;

i:=i+1;

end;

End; {of YesNo }

{----------------------------------------------------------}

BEGIN

InputOutput; {Вызов процедуры ввода-вывода исходных данных}

YesNo(First, Second, Flag);{Вызов процедуры поиска решения задачи}

WriteLn('О т в е т:');

If Flag then WriteLn('По параметрам подходят друг другу ', First, '-ая и ', Second, '-ая шины.')

else WriteLn('Шин, подходящих друг другу, в партии нет.');

ReadLn;

END.

Блок-схема (фрагмент)






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных