const n = 10; //В константе n указаваеи количество элементов в массиве
var a:array[1..n]of integer;
i,s,max,min:integer;
begin
write('Массив: '); //Вывод на экран слова "Массив: "
for i:= 1 to n do //Цикл с параметром для последовательной обработки массива
begin
a[i]:= random(21)-10; //Заполнение массива случайными числами из промежутка [-10,10]
if (a[i]>0){//Проверяем положительный элемент или нет} and (a[i] mod 2 = 0){//Проверяем чётный элемент или нет} then s:=s+1; //В переменной s будет считаться количество чётных положительных элементов при выполнении, указанных условий
write(a[i],' ') //Вывод на экран массива в строку
end;
writeln; //Переход на новыю строку
if s=0 then write('Чётных положительных элементов в массиве нет') //Вывод на экран сообщения "Чётных положительных элементов в массиве нет" и завершение программы
else //Продолжении программы при нахождении хотя бы 1-го чётного положительного элемента
begin
max:=2; //Т.к. 2 минимальное чётное положительное число, то присваиваем это значение переменной max
for i:= 1 to n do //Поиск max элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]>max){//Проверяем больше текущий элемент max или нет} then max:=a[i]; //Присваиваем переменной max значение текущего элемента при выполнении, указанных условий
min:=max; //Т.к. max значение элемента массива уже найдено, то переменной min присваиваем значение переменной max
for i:= 1 to n do //Поиск min элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]<min){//Проверяем меньше текущий элемент min или нет} then min:=a[i]; //Присваиваем переменной min значение текущего элемента при выполнении, указанных условий
if max=min then write ('Максимальным и минимальным чётным положительным элементом является один и тот же элемент: ',max) //Вывод на экран результатов
else
begin
writeLn('Максимальный чётный положительный элемент: ',max);//Вывод на экран результатов
write('Минимальный чётный положительный элемент: ',min)//Вывод на экран результатов
end
end
end.
Больши́е да́нные (англ. big data, [ˈbɪɡ ˈdeɪtə]) — обозначение структурированных и неструктурированных данных огромных объёмов и значительного многообразия, эффективно обрабатываемых горизонтально масштабируемыми программными инструментами, появившимися в конце 2000-х годов и альтернативных традиционным системам управления базами данных и решениям класса Business Intelligence[1][2][3].
В широком смысле о «больших данных» говорят как о социально-экономическом феномене, связанном с появлением технологических возможностей анализировать огромные массивы данных, в некоторых проблемных областях — весь мировой объём данных, и вытекающих из этого трансформационных последствий[4].
В качестве определяющих характеристик для больших данных традиционно выделяют «три V»: объём (англ. volume, в смысле величины физического объёма), скорость (velocity в смыслах как скорости прироста, так и необходимости высокоскоростной обработки и получения результатов), многообразие (variety, в смысле возможности одновременной обработки различных типов структурированных и полуструктурированных данных)[5][6]; в дальнейшем возникли различные вариации и интерпретации этого признака[⇨].
С точки зрения информационных технологий, в совокупность подходов и инструментов изначально включались средства массово-параллельной обработки неопределённо структурированных данных, прежде всего, системами управления базами данных категории NoSQL, алгоритмами MapReduce и реализующими их программными каркасами и библиотеками проекта Hadoop[7]. В дальнейшем к серии технологий больших данных стали относить разнообразные информационно-технологические решения, в той или иной степени обеспечивающие сходные по характеристикам возможности по обработке сверхбольших массивов данных.
Route = record
station: string[30];
arrival: string[5];
stop: string[5];
cost: real
end;
{ Программа для заполнения данными файла }
{
var
F: file of Route;
r: Route;
begin
writeln('Вводите данные');
writeln('');
Assign(F, 'Route.dat');
Rewrite(F);
with r do
repeat
write('Населенный пункт (*-завершить): ');
readln(station);
if (station <> '*') then
begin
write('Время прибытия чч:мм ');
readln(arrival);
write('Стоянка чч:мм: ');
readln(stop);
write('Стоимость проезда, руб.коп: ');
readln(cost);
write(F, r);
end
until station = '*';
Close(F)
end.
}
{ Программа для работы с заполненным файлом }
function hhmm2Int(s: string): integer;
{переводит время чч:мм в челое число минут}
var
i, j, ierr: integer;
begin
Val(Copy(s, 1, 2), j, ierr);
if ierr = 0 then i := 60 * j else i := 0;
Val(Copy(s, 4, 2), j, ierr);
if ierr = 0 then i := i + j;
Result := i
end;
var
F: file of Route;
F2:Text;
r: Route;
i, ierr, istop, n: integer;
s: string;
cstop: real;
begin
Assign(F, 'Route.dat');
Reset(F);
n := 0;
cstop:=0;
while not Eof(F) do
begin
read(F, r);
istop := hhmm2Int(r.stop);
if istop > 0 then
begin
cstop:=cstop+istop;
n := n + 1
end
end;
cstop := cstop / n;
Reset(F);
Assign(F2,'screen.dat');
Rewrite(F2);
writeln('Населенные пункты, в которых стоянка дольше средней');
writeln(F2,'Населенные пункты, в которых стоянка дольше средней');
writeln('Населенный пункт Прибытие Стоянка,мин Стоимость');
writeln(F2,'Населенный пункт Прибытие Стоянка,мин Стоимость');
with r do
while not Eof(F) do
begin
read(F, r);
istop := hhmm2Int(stop);
if istop > cstop then
begin
writeln(station:18, ' ', arrival, ' ', stop, ' ', cost:7:2);
writeln(F2,station:18, ' ', arrival, ' ', stop, ' ', cost:7:2);
end;
end;
Close(F);
Close(F2)
end.
ВНИМАНИЕ: Прикрепленный файл на самом деле RAR-архив с двумя, используемыми в программе файлами. Нужно его скачать к себе и поменять расширение TXT на RAR, а затем распаковать.