dashikryb
15.07.2020 16:36

Задача: Вивести числа 12 8 4, використовуючи цикл Repeat
Задача: Знайдіть мінімальне число, яке менше за 100 та кратне 15.
в Pascal ABC

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
wowanuch72
14.01.2023 00:59

Компьютеры настолько прочно вошли в нашу жизнь, что на тех, кто не умеет быть с ним на «ты», смотрят искоса. Споры относительно пользы и вреда от компьютера ведутся на всех социальных уровнях, ученые проводят исследования о влиянии компьютера на человека, дети спорят с родителями, родители – с учителями, и так далее.

Современный ребенок рано знакомится с компьютером. Мы радуемся, глядя, как ловко малыш нажимает на кнопки домашней техники. Многим родителям нравится, что дети не балуются, не носятся по улице, а мирно сидят дома за компьютером. В результате, взрослые порой не подозревают, какую информацию черпает их ребенок из компьютера. Они не догадываются, что машина не только становится для ребенка игрушкой или источником знаний, но начинает эмоционально заменять ему родителей, особенно много работающих родителей. Постепенно ребенок проводит за компьютером все больше времени.

Итак, компьютер – друг или враг?

Компьютерные игры развивают у ребенка:

• быстроту реакции, мелкую моторику рук, визуальное восприятие объектов, память и внимание, логическое мышление, зрительно-моторную координацию

Компьютерные игры учат ребенка:

• классифицировать и обобщать, аналитически мыслить в нестандартной ситуации, добиваться своей цели, совершенствовать интеллектуальные навыки.

Ребенок, который с детства ориентируется в компьютере, чувствует себя более уверенно, потому что ему открыт доступ в мир современных технологий.

Игры на компьютере- это те же занятия.

Играя в компьютерные игры, ребенок попадает в волшебную сказку, где существует свой мир. Этот мир так похож на настоящий!

А что же тогда ПЛОХО?

Плохо то, что при не соблюдении режима компьютер превращается из друга во врага. Нельзя забывать о том, что все хорошо в меру. Добрые замечательные игры, столь полезные для детей, могут стать и вредными для них.

Нагрузка на зрение является большой проблемой. И всё же телевизор и компьютер одинаково влияют на зрение. Чтобы зрение не ухудшалось, не стоит забывать о гимнастике для глаз и небольших перерывах.

Так детям 3-4 лет не рекомендуеться сидеть перед экраном больше 20 минут, а ребятам 6-7 лет можно увеличить время ежедневной игры до получаса.

Дети и подростки нуждаются в самовыражении. За не имением других средств выражения своих мыслей и энергии они обращаются к компьютеру и компьютерным играм, которые создают иллюзию реальности безграничных возможностей, лишенной ответственности. Такая иллюзия оказывает разрушительное действие на психику

Говоря о профилактике компьютерной зависимости у детей, следует обратить внимание на то, что воспитание ребенка должно сводиться по большей части к тому, что компьютер - это лишь часть жизни, а не самый главный подарок за хорошее поведение.Хочу такой сайт

Единственным на настоящий момент проверенным не дать ребёнку оказаться в зависимости от компьютера - это привлечь его в процессы, не связанные с компьютерной деятельностью, чтобы электронные игры и процессы не стали заменой реальности. Показать растущему человеку, что существует масса интересных развлечений помимо компьютера, которые не только позволяют пережить острые ощущения, но также тренируют тело и нормализуют психологическое состояние. А в этом наша родительская культура, «знание врага в лицо», самообразование в этой области.

0,0(0 оценок)
Ответ:
Tanya201411
18.07.2020 21:15
Язык программирования не указан, сказано только, что была сделана попытка создать алгоритм в Пайтоне, но работа оказалась очень медленной. Это не удивительно, ведь Пайтон - интерпретатор и там уж не до оптимизации.

Предлагаю решение на PascalABC.NET. Приводятся тайминги пяти прогонов, разрешение таймера - 16 мс.

Исходные последовательности:
- 1 млн случайных целых из [100;2000];
- 2 млн случайных целых из [50;1500];
- 3 млн случайных целых из [1;1000];

Алгоритм:
- генерируем последовательности;
- создаем и заполняем для каждой последовательности частотный словарь в виде кортежа <ключ><количество>, где ключ - значение элемента, количество - количество раз, которое этот элемент встретился в последовательности;
- создаем последовательности ключей для всех трех словарей и находим их пересечение;
- удаляем из каждого словаря элементы, ключей которых нет в пересечении;
- создаем на основе каждого словаря последовательность значений (частот) и сортируем её по возрастанию;
- для каждой пары значений первой и второй последовательности выбираем минимальное значение, а затем поступаем так же с результирующей и третьей последовательностью, находя в конце сумму её членов.

// PascalABC.NET 3.2, сборка 1374 от 10.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var t0:=Milliseconds;
  var a1:=ArrRandom(1000000,100,2000);
  var a2:=ArrRandom(2000000,50,1500);
  var a3:=ArrRandom(3000000,1,1000);
  var t1:=MillisecondsDelta;
  Writeln('Инициализация: ',t1,' мс');
  MillisecondsDelta;
 
  var d1:=new Dictionary<integer,integer>;
  foreach var e in a1 do d1[e]:=d1.Get(e)+1;
  var d2:=new Dictionary<integer,integer>;
  foreach var e in a2 do d2[e]:=d2.Get(e)+1;
  var d3:=new Dictionary<integer,integer>;
  foreach var e in a3 do d3[e]:=d3.Get(e)+1;
  t1:=MillisecondsDelta;
  Writeln('Заполнены частотные словари: ',t1,' мс');
  MillisecondsDelta;
 
  var kd1:=d1.Select(e->e.Key).ToArray;
  var kd2:=d2.Select(e->e.Key).ToArray;
  var kd3:=d3.Select(e->e.Key).ToArray;
  var ki:=kd1.Intersect(kd2).Intersect(kd3); // пересечение ключей
  t1:=MillisecondsDelta;
  Writeln('Получено пересечение ключей: ',t1,' мс');
  MillisecondsDelta;
 
  foreach var k in kd1 do
    if not (k in ki) then d1.Remove(k);
  var v1:=d1.OrderBy(x->x.Key).Select(x->x.Value);
  foreach var k in kd2 do
    if not (k in ki) then d2.Remove(k);
  var v2:=d2.OrderBy(x->x.Key).Select(x->x.Value);
  foreach var k in kd3 do
    if not (k in ki) then d3.Remove(k);
  var v3:=d3.OrderBy(x->x.Key).Select(x->x.Value);
  var m:=v1.Zip(v2,(x,y)->Min(x,y)).Zip(v3,(x,y)->Min(x,y)).Sum;
  t1:=MillisecondsDelta;
  Writeln('Получен результат: ',t1,' мс');
  MillisecondsDelta;
  Writeln(m);
end.

Результаты
Инициализация: 234 мс
Заполнены частотные словари: 312 мс
Получено пересечение ключей: 0 мс
Получен результат: 1000 мс
474970

Инициализация: 234 мс
Заполнены частотные словари: 312 мс
Получено пересечение ключей: 16 мс
Получен результат: 984 мс
474137

Инициализация: 250 мс
Заполнены частотные словари: 312 мс
Получено пересечение ключей: 16 мс
Получен результат: 984 мс
474176

Инициализация: 234 мс
Заполнены частотные словари: 312 мс
Получено пересечение ключей: 0 мс
Получен результат: 1000 мс
474090

Инициализация: 234 мс
Заполнены частотные словари: 312 мс
Получено пересечение ключей: 16 мс
Получен результат: 984 мс
474108

Как видно из результатов, в указанных условиях из 6 млн значений отбирается примерно 475 тыс и занимает это порядка полутора секунд на достаточно немолодом ПК c процессором Intel Core 2 Duo (3 ГГц) и 2 Гб оперативной памяти. Вполне приемлемо.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота