Написание ** языке Паскаль.. Работа и путешествияОрганизация “Travel & Work”...

+506 голосов
6.5m просмотров

Написание на языке Паскаль.. Работа и путешествияОрганизация “Travel & Work” предоставила список из 10 стран, в которых можно поработать в летнее время, и стоимости проезда в ука-занные страны. Получив этот список и изучив условия проезда мечта-тельная Даша решила, не утруждать себя работой, а просто объездить эти страны, посмотреть на мир, себя показать… Определить в какую сумму обойдется Даше это турне по миру. Определить также страны с максимальной и минимальной стоимостью проезда.​


Информатика (64 баллов) | 6.5m просмотров
Дано ответов: 2
+63 голосов

Ответ:

--- PascalABC.NET 3.6.2 ---

//Без внятного ТЗ - Результат ХЗ (с) Конфуций, 488 год до Н.Э.

begin

 var AvaiableTravels := new List<(string, integer)>(10);

 var RawInput: array of string;

 for var i := 1 to 10 do begin

   RawInput := ReadString($'{i} Enter Travel info (Country:Price)').Split(':');

   AvaiableTravels.Add((RawInput[0], integer.Parse(RawInput[1])));

 end;

 

 var TotalCost : integer;

 var MaxCost: (string, integer) := AvaiableTravels.First;

 var MinCost: (string, integer) := AvaiableTravels.Last;

 

 AvaiableTravels.ForEach(p -> begin  

 TotalCost += p.Item2;

 if p.Item2 > MaxCost.Item2 then MaxCost := p;

 if p.Item2 < MinCost.Item2 then MinCost := p;

 end);

 

 Println($'Total Travel Cost: {TotalCost}',

 $'Most expensive Travel: {MaxCost}',

 $'Most poor travel: {MinCost}');

end.

Объяснение:

(1.6k баллов)
+50

Такими темпами скоро в PascalABC.NET будет готовая функция/метод вообще под любую задачу, которую только могут вообразить себе средние учебные заведения)

+112 голосов

// PascalABC.NET

begin

 var L := new List <(string, integer)>;

 foreach var s in ReadSeqString(10) do

 begin  

   var i := Trim(s).LastIndexOf(' ') + 1;

   if i <= 1 then Exit; // надо вводить корректно!</strong>

   L.Add((s[:i],s[i+1:].ToInteger));

 end;

 Println('Сумма турне:', L.Sum(p -> p[1]));

 Println('Страна с самым дешевым проездом:',

     L.MinBy(p -> p[1])[0]);

 Println('Страна с самым дорогим проездом:',

     L.MaxBy(p -> p[1])[0])

end.

(1.6k баллов)