М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kiyash98
kiyash98
15.12.2022 15:13 •  Информатика

Найти среднее арифметическое целых чисел в типизированном файле (file of integer), разница наибольшей и наименьшей цифр которых меньше 5. если таких чисел нет, то результат- ноль. функция принимает в качестве параметра имя файла name function p(name: string): double;

👇
Ответ:
L00KING
L00KING
15.12.2022
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

function IsGood(Self:integer):boolean; extensionmethod;
begin
  (var max,var min,var n):=(0,9,abs(Self));
  while n>0 do begin
    var d:=n mod 10;
    if d>max then max:=d;
    if d<min then min:=d;
    n:=n div 10
    end;
  Result:=max-min<5
end;

function P(name:string):double;
begin
  Result:=ReadElements&<integer>(name).Where(n->n.IsGood).Average
end;
 
begin
  Writeln('Среднее арифметическое равно ',P(ReadlnString('Имя файла:')))
end.

Пример
Имя файла: integers.pas
Среднее арифметическое равно 1.78571428571429
4,8(51 оценок)
Открыть все ответы
Ответ:
Грызина
Грызина
15.12.2022
В приложении - рабочая книга Microsoft Excel 2003 с макросом. Для выполнения надо разрешить макросы.

Текст программы:

Option Explicit

Private Sub cmdStart_Click()
    Const T = 360 'Условное количество дней в году
    Dim PV As Double, FV As Double, r As Double, n As Double
    Dim d1 As Date, d2 As Date
    PV = Cells(1, 2).Value
    FV = Cells(2, 2).Value
    r = Cells(3, 2).Value
    d1 = Cells(4, 2).Value
    n = (FV / PV - 1) * T / r
    If n <> Int(n) Then n = n + 1
    d2 = d1 + n
    Cells(5, 2).Value = d2
End Sub
4,6(80 оценок)
Ответ:
Var
  s, w: string;
  i, X, n, k, p, q: integer;

begin
  Writeln('Введите фразу, разделяя слова ровно одним пробелом');
  Readln(s);
  Write('Введите номер слова для поиска: '); Readln(X);
  {
  Ищем в строке s местоположение слова номер Х.
  Его начальную позицию в строке обозначим p, а конечную - q
  }
  n := Length(s);
  i := 1; k := 0; p := 0; q := 0;
  repeat
    if s[i] = ' ' then
    begin
      Inc(k);
      if k = X - 1 then p := i + 1
      else if k = X then q := i - 1
    end;
    if q = 0 then i := i + 1
  until (q > 0) or (i > n);
  if (p = 0) then Writeln('Количество слов в строке меньше ', X)
  else if q = 0 then q := n;
  w := Copy(s, p, q - p + 1);
  if (Pos('а', w) > 0) or (Pos('о', w) > 0) then
    Writeln('Одна из букв (а,о) есть в слове "', w, '"')
  else Writeln('В слове "', w, '" нет ни буквы а, ни буквы о')
end.

Тестовое решение:
Введите фразу, разделяя слова ровно одним пробелом
Самая лучшая рыба- это колбаса!
Введите номер слова для поиска: 5
Одна из букв (а,о) есть в слове "колбаса!"

Введите фразу, разделяя слова ровно одним пробелом
Тестирование программ может служить доказательством наличия ошибок, но никогда не докажет их отсутствие!» Эд. Дейкстра, 1972 г.
Введите номер слова для поиска: 4
В слове "служить" нет ни буквы а, ни буквы о
4,8(83 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ