Вопрос задан 14.07.2023 в 23:21. Предмет Информатика. Спрашивает Микаилзаде Магомед.

Pascal Определить следующие подпрограммы:— процедуру формирования строки из заданного количества

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ганага Саша.

===== 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.



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для реализации данных подпрограмм на языке Pascal, используем процедуры и функции. Вот код, который выполняет указанные задачи:

pascal
program 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. Если вам нужно более сложное или точное управление над генерацией случайных чисел, может потребоваться использовать другие методы.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос