
Пожалуйста, срочно! Прям очень срочно! Кто разбирается в информатике, помогите! Умоляю, ерунду не
писать, всё нужно в Паскале. Спасибо большое) Дам 98 баллов) Задание 1. Дана строка и некоторое слово. Напечатать те предложения строки, которые содержат данное слово. Задание 2. Составить программу разложения данного натурального числа на простые множители. Например, 200=23•52. Задание 3. Составить программу вычисления суммы факториалов всех четных чисел от m до n. Задание 4. Определить наименьший элемент каждой четной строки матрицы A [M, N].

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

Ответ:
Объяснение:
Задание 1
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString;
var a:=s.ToWords('.').Select(t->Trim(t)).ToArray;
var b:=s.ToWords(Arr('.',' '))
.GroupBy(t->t).Select(t->(t.Key,t.Count))
.Where(t->t[1]>1).Select(t->t[0]).ToArray;
a.Cartesian(b,(p,q)->p.Contains(q)?p:'')
.Where(t->t.Length>0).Distinct.PrintLines
end.
Примеры
Мама мыла полы. Маша ела кашу. Даша пила молоко. Таня мыла полы.
Мама мыла полы
Таня мыла полы
Мама мыла раму.
Маша ела кашу. Даша пила молоко. Таня мыла полы.
Мама мыла рамуТаня мыла полы
Задание 2
uses crt;
var n,i,k:integer;
begin
repeat
write('Введите натуральное число >0 n=');
read(n);
until n>0;
if n=1 then write('Простых множителей нет')
else
begin
write(n,'=');
i:=2;
while i<=n do
begin
k:=0;
while n mod i=0 do
begin
k:=k+1;
n:=n div i;
end;
if i<n then
begin
if k=1 then write(i,'*')
else if k>1 then write(i,'^',k,'*');
end
else
begin
if k=1 then write(i)
else if k>1 then write(i,'^',k);
end;
i:=i+1;
end;
end;
end.
Задание 3
var n,m,i:integer;
function fact(j:integer):longint;
begin
if j=1 then fact:=1 else fact:=j*fact(j-1);
end;
begin
readln(m,n);
for i:=m to n do if i mod 2 =0 then write(fact(i),' ');
writeln;
end.
Задание 4
program SomeProgram;
var i,n,summ:integer;
a:array[1..150] of integer;
begin
readln(n); {ввод размерности массива}
for i:=1 to n do readln(a[i]); {ввод массива}
summ:=0; {обнулим сумму на всякий случай}
for i:=1 to n do {собственно поиск суммы}
if a[i]=i then {коли номер элемента равен элементу, то...}
summ:=summ+a[i]; {...прибавить к сумме значение элемента}
Writeln('Сумма:',summ);
end.



Хорошо, давайте рассмотрим каждое задание по порядку и напишем программы на языке Паскаль.
Задание 1. Печать предложений, содержащих данное слово:
pascalprogram FindSentencesWithWord; uses SysUtils; procedure PrintSentencesWithWord(const inputString, wordToFind: string); var sentences: TStringDynArray; i: Integer; begin sentences := inputString.Split(['.', '!', '?']); // Предполагаем, что предложения разделены точками, восклицательными и вопросительными знаками for i := Low(sentences) to High(sentences) do begin if Pos(Trim(wordToFind), sentences[i]) > 0 then WriteLn(sentences[i]); end; end; var inputString, wordToFind: string; begin WriteLn('Введите строку:'); ReadLn(inputString); WriteLn('Введите слово для поиска:'); ReadLn(wordToFind); WriteLn('Предложения, содержащие слово "', wordToFind, '":'); PrintSentencesWithWord(inputString, wordToFind); end.
Задание 2. Разложение числа на простые множители:
pascalprogram PrimeFactors; procedure PrintPrimeFactors(n: Integer); var i: Integer; begin Write(n, '='); for i := 2 to n do begin while (n mod i = 0) do begin Write(i); n := n div i; if n <> 1 then Write('•'); end; end; WriteLn; end; var num: Integer; begin WriteLn('Введите натуральное число:'); ReadLn(num); Write('Простые множители числа ', num, ': '); PrintPrimeFactors(num); end.
Задание 3. Вычисление суммы факториалов четных чисел от m до n:
pascalprogram SumOfFactorials; function Factorial(num: Integer): Int64; var i: Integer; begin Result := 1; for i := 1 to num do Result := Result * i; end; function SumOfEvenFactorials(m, n: Integer): Int64; var i: Integer; begin Result := 0; for i := m to n do begin if i mod 2 = 0 then Result := Result + Factorial(i); end; end; var m, n: Integer; begin WriteLn('Введите m и n:'); ReadLn(m, n); WriteLn('Сумма факториалов четных чисел от ', m, ' до ', n, ': ', SumOfEvenFactorials(m, n)); end.
Задание 4. Нахождение наименьшего элемента в каждой четной строке матрицы:
pascalprogram MinElementInEvenRows; const M = 5; // Задайте нужное количество строк матрицы N = 5; // Задайте нужное количество столбцов матрицы type TMatrix = array[1..M, 1..N] of Integer; procedure FindMinInEvenRows(const A: TMatrix); var i, j, minElement: Integer; begin for i := 2 to M step 2 do // Обходим только четные строки begin minElement := A[i, 1]; for j := 2 to N do begin if A[i, j] < minElement then minElement := A[i, j]; end; WriteLn('Наименьший элемент в строке ', i, ': ', minElement); end; end; var matrix: TMatrix; i, j: Integer; begin WriteLn('Введите элементы матрицы ', M, 'x', N, ':'); for i := 1 to M do for j := 1 to N do Read(matrix[i, j]); FindMinInEvenRows(matrix); end.
Пожалуйста, убедитесь, что введенные вами данные соответствуют условиям задач. После запуска каждой программы она попросит ввести необходимые значения, и после ввода вы получите результат выполнения заданий. Удачи!


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







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