
Pascal Определить следующие подпрограммы:— процедуру формирования строки из заданного количества
случайных цифр;— процедуру вывода на экран монитора символов строки через один пробел;—функцию, возвращающую количество чётных цифр в указанной строке;—процедуру изменения строки путём удаления из неё повторяющихся символов.Применить все вышеперечисленные подпрограммы для строк S(10), St(15), Str(20).Вывести строки до и после изменения, все искомые значения.

Ответы на вопрос

===== PascalABC.NET =====
// Формирование строки из заданного количества случайных цифр
procedure P1(n: integer; var s:string);
begin
s := '';
for var i := 1 to n do
s += ChrAnsi(OrdAnsi('0')+Random(0, 9));
end;
// Вывод на экран монитора символов строки через один пробел
procedure P2(s: string) := s.ToCharArray.Println(' ');
// Количество чётных цифр в строке;
function F3(s: string) := s.Count(p -> p.ToDigit.IsEven);
// Изменение строки путём удаления из неё повторяющихся символов
procedure P4(var s:string) := s := s.Distinct.JoinIntoString;
// Затребованные операции со строкой
procedure P(s:string);
begin
Println('=== Длина строки равна', s.Length, '===');
s.Println;
P1(s.Length, s);
s.Println;
P2(s);
Println('Количество четных цифр равно', F3(s));
P4(s);
s.Println
end;
// Основная программа
begin
var s := 10 * '*';
p(s);
var St := 15 * 'a';
P(st);
var Str := 20 * '0';
P(Str)
end.





Для реализации данных подпрограмм на языке Pascal, используем процедуры и функции. Вот код, который выполняет указанные задачи:
pascalprogram StringManipulation; uses SysUtils; var S, St, Str: string; // Процедура формирования строки из заданного количества случайных цифр procedure GenerateRandomDigitsString(var AString: string; Count: integer); var i: integer; begin Randomize; AString := ''; for i := 1 to Count do AString := AString + IntToStr(Random(10)); // Случайное число от 0 до 9 end; // Процедура вывода на экран монитора символов строки через один пробел procedure PrintStringWithSpaces(const AString: string); var i: integer; begin for i := 1 to Length(AString) do Write(AString[i], ' '); Writeln; end; // Функция, возвращающая количество чётных цифр в строке function CountEvenDigits(const AString: string): integer; var i, digit: integer; begin Result := 0; for i := 1 to Length(AString) do begin digit := StrToInt(AString[i]); if (digit mod 2) = 0 then Inc(Result); end; end; // Процедура изменения строки путём удаления из неё повторяющихся символов procedure RemoveDuplicateCharacters(var AString: string); var i, j: integer; begin for i := Length(AString) downto 2 do begin for j := i - 1 downto 1 do begin if AString[i] = AString[j] then begin Delete(AString, i, 1); Break; end; end; end; end; begin // Генерируем строки GenerateRandomDigitsString(S, 10); GenerateRandomDigitsString(St, 15); GenerateRandomDigitsString(Str, 20); // Выводим исходные строки Writeln('Исходные строки:'); Writeln('S: ', S); Writeln('St: ', St); Writeln('Str: ', Str); Writeln; // Выводим строки через один пробел Writeln('Строки через один пробел:'); PrintStringWithSpaces(S); PrintStringWithSpaces(St); PrintStringWithSpaces(Str); Writeln; // Выводим количество четных цифр в каждой строке Writeln('Количество четных цифр:'); Writeln('Количество четных цифр в S: ', CountEvenDigits(S)); Writeln('Количество четных цифр в St: ', CountEvenDigits(St)); Writeln('Количество четных цифр в Str: ', CountEvenDigits(Str)); Writeln; // Удаляем повторяющиеся символы из строк RemoveDuplicateCharacters(S); RemoveDuplicateCharacters(St); RemoveDuplicateCharacters(Str); // Выводим строки после изменения Writeln('Строки после удаления повторяющихся символов:'); Writeln('S: ', S); Writeln('St: ', St); Writeln('Str: ', Str); end.
Этот код создает и выводит исходные строки, затем выводит каждую строку через один пробел, после чего находит количество четных цифр в каждой строке. Затем процедура удаляет повторяющиеся символы из каждой строки, и окончательные строки выводятся на экран.
Примечание: В Pascal нет функции Random
, поэтому для генерации случайных чисел используем Randomize
вместе с Random(10)
, чтобы получить случайное число от 0 до 9. Если вам нужно более сложное или точное управление над генерацией случайных чисел, может потребоваться использовать другие методы.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili