Виды мультимедийных технологий
Применение мультимедийных технологий подразделяется на:
общее или индивидуальное пользование;для профессионалов или для рядового потребителя;для применения интерактивного и неинтерактивного;для использования информации по месту или на расстоянии.
Стоит более подробно остановиться на каждом из перечисленных пунктов.
Технологии общего или индивидуального пользования. Касательно технологий общего пользования можно выделить следующие виды: интерактивные терминалы, некоторые технологии презентаций посредством компьютера, те, что ширятся по сетям. В свою очередь, к технологиям индивидуального пользования можно отнести мультимедийные рабочие места, учебные классы, мультимедийные компьютеры для ведения различных документов. К основным местам их применения можно отнести общественные зоны, а также дома и рабочие места потребителей.
Технологии для профессионалов и рядовых потребителей. В эту категорию можно отнести рабочие зоны мультимедиа (компьютерная графика, проекты и т.п.). Также сюда могут входить системы, применяемые не знатоками. Они, как правило, используются в общественных местах, это системы со встроенными микропроцессорами, которые предназначены для функционирования в быту. Это игровые приставки, CD-I, Play Station.
Использование информации по месту и на расстояниях. Стремительное развитие на начальном этапе мультимедиа можно объяснить быстрым процессом развития стационарных компьютеров, которые сегодня есть дома у каждого. Тогда стала вероятной запись и хранение информации на специально предназначенных компакт-дисках. Современность диктует свои правила. Сегодняшнее стремительное развитие цифровых сетей средней и высокой пропускной позволяет говорить о стремительном развитии дистанционных мультимедийных технологий.
Применение интерактивных и неинтерактивных технологий. Подходя к данной категории, следует акцентировать внимание на том, что большое количество специалистов не согласны с тем, что неинтерактивные системы можно назвать мультимедийными. Но важно понимать, что их количество может существенно увеличиться. Так, неинтерактивные мультимедиа применяются для привлечения внимания и развлечения аудитории посредством демонстрации презентаций и выставок.
#include <bits/stdc++.h>
using namespace std;
int main() {
int d, m;
cin >> d >> m;
switch (m) {
case 1:
if (d < 20) cout << "Capricorn" << endl;
else cout << "Aquarius" << endl;
break;
case 2:
if (d < 19) cout << "Aquarius" << endl;
else cout << "Pisces" << endl;
break;
case 3:
if (d < 21) cout << "Pisces" << endl;
else cout << "Aries" << endl;
break;
case 4:
if (d < 20) cout << "Aries" << endl;
else cout << "Taurus" << endl;
break;
case 5:
if (d < 21) cout << "Taurus" << endl;
else cout << "Gemini" << endl;
break;
case 6:
if (d < 22) cout << "Gemini" << endl;
else cout << "Crayfish" << endl;
break;
case 7:
if (d < 23) cout << "Crayfish" << endl;
else cout << "Leo" << endl;
break;
case 8:
if (d < 23) cout << "Leo" << endl;
else cout << "Virgo" << endl;
break;
case 9:
if (d < 23) cout << "Virgo" << endl;
else cout << "Libra" << endl;
break;
case 10:
if (d < 23) cout << "Libra" << endl;
else cout << "Scorpio" << endl;
break;
case 11:
if (d < 23) cout << "Scorpio" << endl;
else cout << "Sagittarius" << endl;
break;
case 12:
if (d < 22) cout << "Sagittarius" << endl;
else cout << "Capricorn" << endl;
}
return 0;
}
Поделитесь своими знаниями, ответьте на вопрос:
Склавиатуры вводится строка, состоящая из слов и чисел, разделенных одним или несколькими пробелами. подсчитать среднее арифметическое всех чисел, которые состоят из одинаковых цифр.
// Внимание! Если программа не работает, обновите версию!
begin
ReadlnString.MatchValues('\d+').Select(w->(w,w.Distinct
.OrderBy(c->c).JoinIntoString(''))).GroupBy(t->t[1])
.Where(x->x.Count>1).Select(x->x.UnZipTuple.Item1.
Select(x->x.ToInteger).Average).Println;
end.
Пример
это 3242 такая 181 вот 346 странная 432 1118 строка
1837 649.5
Как все это работает (функциональное программирование)
ReadlnString - считываем строку с клавиатуры
.MatchValues('\d+') - выбираем подстроки символов, состоящие из цифр
.Select(w->(w,w.Distinct.OrderBy(c->c).JoinIntoString(''))) - эта сложная конструкция сначала в каждой подстроке оставляет только разные цифры и сортирует их в порядке возрастания, затем соединяет эти цифры в строку и объединяет исходную подстроку с полученной строкой в так называемый кортеж. Полученный кортеж для каждой исходной подстроки содержит два элемента: саму подстроку и строку из уникальных цифр этой подстроки, расположенных по возрастанию.
.GroupBy(t->t[1]) - группирует кортежи в более крупные блоки так, чтобы каждый блок содержал кортежи, у которых второй элемент одинаков.
.Where(x->x.Count>1) - оставляет только те блоки, в которых больше одного кортежа, ведь нам не нужны "числа-одиночки"
.Select(x->x.UnZipTuple.Item1 - техническая операция, превращающая в каждом блоке кортеж в последовательность подстрок, представляющих исходные числа
.Select(x->x.ToInteger) - каждая такая последовательность подстрок превращается в последовательность целых чисел
.Average) - находятся средние арифметические каждой последовательности
.Println - вывод всех найденных значений.
Все это не так уж просто, но и задание далеко не тривиальное. Если записать его средствами "традиционного паскаля" - такого примерно, как Free Pascal, код будет огромным...