Виртуальная машина (ВМ, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы и исполняющая программы для target-платформы (целевая, гостевая платформа) на host-платформе (хост-платформа, платформа-хозяин) или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы.
Виртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. Помимо процессора, ВМ может эмулировать работу как отдельных компонентов аппаратного обеспечения, так и целого реального компьютера (включая BIOS, оперативную память, жёсткий диск и другие периферийные устройства). В последнем случае в ВМ, как и на реальный компьютер, можно устанавливать операционные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот). На одном компьютере может функционировать несколько виртуальных машин (это может использоваться для имитации нескольких серверов на одном реальном сервере с целью оптимизации использования ресурсов сервера).
program raf105;
var
s,s1,s2: string;
slov,numb,i,j,l: integer;
begin
writeln('Введите строку:');
readln(s);
s:= lowercase(s);
s1:= '';
s2:= '1234567890';
while j<>-1 do
begin
j+= 1;
l+= 1;
for i:=1 to length(s1) do
if (s[j] = s1[i]) and (slov = 0)
then slov+= 1
else if (i<=length(s2)) and (s[j] = s2[i])
then numb+=1;
if s[j+1] = ' '
then j:= -1;
end;
for i:=l+1 to length(s) do
begin
if s[i] = ' '
then
begin
for j:=1 to length(s1) do
if s[i+1] = s1[j]
then slov+= 1;
end
else
begin
for j:=1 to length(s2) do
if s[i] = s2[j]
then numb+=1;
end;;
end;
writeln;
writeln('В строке:');
writeln(slov,' сл.');
writeln(numb,' циф.');
end.
Язык PascalABC