Как создать список промокодов?
всем ! , вопрос такой - мне по работе нужно часто подготавливать списки промокодов для скидок на различны товар. раньше все это генерили макросом в excele, но он не позволяет както изменять маску… а мне нужно получать код типа ---2020 из случайных символов, ну и в количестве от 1000 штук, т.е в ручную не понапишешь в интернетах много разных сервисов по типу этого но мне еще нужно чтобы отправлял на почту и нигде не сохранял эти кактотак. собственно вопрос есть ли у кого на примете чтото похожее? и на сколько можно доверять этим генераторам, что они не украдут промики : )
Windows обеспечивает доступность базовых средств ОС в столь непохожих друг на друга системах, как мобильные телефоны, карманные устройства, переносные компьютеры и серверы масштаба предприятия. Возможности ОС можно охарактеризовать, рассмотрев наиболее важные ресурсы, которыми управляют современные операционные системы.• Память. ОС управляет сплошным, или плоским (flat), виртуальным адресным пространством большого объема, перемещая данные между физической памятью и диском или иным накопительным устройством прозрачным для пользователя образом.• Файловые системы. ОС управляет пространством именованных файлов, предоставляя возможности прямого и последовательного доступа к файлам, а также средства управления файлами и каталогами. Используемые в большинстве систем пространства имен являются иерархическими.• Именование и расположение ресурсов. Файлы могут иметь длинные, описательные имена, причем принятая схема именования распространяется также на такие объекты, как устройства, а также объекты синхронизации или межпроцессного взаимодействия. Размещение именованных объектов и управление доступом к ним также являются прерогативой ОС.• Многозадачность. ОС должна располагать средствами управления процессами, потоками и другими единицами независимо выполняться в асинхронном режиме. Задачи могут планироваться и вытесняться в соответствии с динамически определяемыми приоритетами.• Взаимодействие и синхронизация. ОС управляет обменом информацией между задачами и их синхронизацией в изолированных системах, а также взаимодействием сетевых систем между собой и сетью Internet.• Безопасность и защита. ОС должна предоставлять гибкие механизмы защиты ресурсов от несанкционированного или непреднамеренного доступа и нанесения ущерба системе.Microsoft Windows Win 32/Win64 API обеспечивает поддержку не только этих, но и множества других средств ОС, и делает их доступными в ряде версий Windows, некоторые из которых постепенно выходит из употребления, а некоторые поддерживает лишь то или иное подмножество полного API.
Классификация операционных систем
в зависимости от алгоритма управления процессором, операционные системы делятся на:Однозадачные и многозадачные
Однопользовательские и многопользовательские
Однопроцессорные и многопроцессорные системы
Локальные и сетевые.По числу одновременно выполняемых задач операционные системы делятся на два класса:Однозадачные (MS DOS)Многозадачные (OS/2, Unix, Windows)В зависимости от областей использования многозадачные ОС подразделяются на три типа:Системы пакетной обработки (ОС ЕС)
Системы с разделением времени (Unix, Linux, Windows)
Системы реального времени (RT11)
var x1,y1,r: real;
begin
Writeln('Введите х1');
readln(x1);
Writeln('Введите у1');
readln(y1);
r:=sqrt(x1*x1+y1*y1);
Writeln('Расстояние от х1 до у1=',r);
end.
2)Program fsgasghfd;
var c,s: real;
a,b: integer;
begin
Writeln('Введите первое целое число');
readln(a);
Writeln('Введите второе целое число');
readln(b);
Writeln('Введите дробное число');
readln(c);
If ((a>0) and (b>0) and (c>0)) or ((a<0) and (b<0) and (c<0)) then
s:=a+b+c
else writeln('Знаки разные');
If ((a>0) and (b>0) and (c>0)) or ((a<0) and (b<0) and (c<0)) then Writeln('Сумма чисел:',s);
end.
3)Program wrqrwqr;
var A: Array[1..100] of integer;
B: Array[1..100] of integer;
C: Array[1..100] of integer;
s,i,h,g: integer;
begin
h:=0;
g:=0;
Writeln('введите размерность массива');
readln(s);
Writeln('Вводится первый массив');
For i:=1 to s do
begin
Writeln('Введите элемент массива №',i);
readln(A[i]);
end;
Writeln('Вводится второй массив');
For i:=1 to s do
begin
Writeln('Введите элемент массива №',i);
readln(B[i]);
end;
For i:=1 to s do begin
If A[i]>B[i] then C[i]:=A[i]
else C[i]:=B[i];
If C[i] mod 2=1 then h:=h+1;
If C[i] mod 2=0 then g:=g+1;
end;
Writeln('Количество нечётных элементов в массиве:',h);
Writeln('Количество чётных элементов в массиве:',g);
end.