Вопрос задан 19.07.2023 в 13:07. Предмет Информатика. Спрашивает Усова Дарья.

Пожалуйста, срочно! Прям очень срочно! Кто разбирается в информатике, помогите! Умоляю, ерунду не

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

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

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

Ответ:

Объяснение:

Задание 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.

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

Хорошо, давайте рассмотрим каждое задание по порядку и напишем программы на языке Паскаль.

Задание 1. Печать предложений, содержащих данное слово:

pascal
program 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. Разложение числа на простые множители:

pascal
program 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:

pascal
program 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. Нахождение наименьшего элемента в каждой четной строке матрицы:

pascal
program 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.

Пожалуйста, убедитесь, что введенные вами данные соответствуют условиям задач. После запуска каждой программы она попросит ввести необходимые значения, и после ввода вы получите результат выполнения заданий. Удачи!

0 0

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

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

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

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