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

7. В не¬ко¬то¬ром ка¬та¬ло¬ге хра¬нит¬ся файл Оценки.doc. После того, как в этом ка¬та¬ло¬ге со¬зда¬ли под¬ка¬та-лог и пе¬ре¬ме¬сти¬ли туда файл Оценки.doc, его пол¬ное имя стало
С:\Школа\Классы\9Б\Оценки.doc.
Ка¬ко¬во пол¬ное имя со¬здан¬но¬го подкаталога?
1) Классы
2) С:\Школа\Классы\9Б
3) С :\Школа\Классы
4) 9Б
8. Дано дерево каталогов. Определите полное имя файла Doc1.

1) A:\DOC1
2) A:\DOC3\Doc1
3) A:\DOC1\Doc3
4) A:\TOM3\Doc3

Показать ответ
Ответ:
alekszhirnovp06n4r
alekszhirnovp06n4r
12.07.2021 11:20
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите строку:').ToLower;
  var c:=ReadlnChar('Введите искомую букву:').ToLower;
  Writeln('Буква встречается ',s.Where(a->a=c).Count,' раз(а)')
end.

Пример
Введите строку: А роза упала на лапу Азора
Введите искомую букву: а
Буква встречается 8 раз(а)

// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите фразу:');
  s.Replace('Ты','Я').Replace('ты','я').Println
end.

Пример
Введите фразу: Тыков ест тыблоко
Яков ест яблоко

// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите строку:');
  var s1:=ReadlnString('Что найти?');
  var s2:=ReadlnString('Чем заменить?');
  s:=s.Replace(s1,s2);
  s.Println;
end.

Пример
Введите строку: мама, мама, что я буду делать, мама, мама, как я буду жить?
Что найти? мама
Чем заменить? папа
папа, папа, что я буду делать, папа, папа, как я буду жить?
0,0(0 оценок)
Ответ:
asdf42
asdf42
22.02.2021 23:24
Если следовать алгоритму вычисления, представленному в формуле, то программа будет такая:

var
  n,i,s: shortint ;
begin
  write ('N=');
  readln (n);
  s:=0;
  for i:=1 to n do 
    if i mod 2 =0 
      then s:=s-i
      else s:=s+i;
  print (s)
end.

Если же посмотреть на формулу внимательно и выявить закономерность, то можно увидеть, что 

1) вычитаются только четные числа. И после каждого вычитания результат равен ровно половине вычитаемого числа (со знаком минус)
2) прибавляются только нечетные числа И прибавление идет вслед за вычитанием (кроме 1), т.е. можно к результату последнего вычитания (см.п.1) просто прибавить N.

Также учитываем, что целые числа занимают меньше памяти, чем вещественные, поэтому для программы используем самый маленький целый тип с отрицательными значениями shortint (от -128 до 127, что в данном случае нас вполне устраивает).

Помним, что значение переменной целого типа не может быть результатом деления, поэтому вместо обычного деления используем деление нацело (N div 2)

Итак:При нечетном N результат = -N div 2,
При четном N: (так как у нас целочисленное деление, то N div 2 будет равно (N-1) div 2) результат будет = -(N div 2) + N или N-(N div 2)
Т.е. вся программа сведена всего к двум операциям по разным веткам условного оператора, что сделает ее быстрее и экономичнее. К тому же не надо выделять память для переменной-счетчика.

var
  n,s: shortint;
begin
  write ('N=');
  readln (n);
  if n mod 2 =0
    then s:=-n div 2
    else s:=n-(n div 2);
  print (s)
end.

Можно увидеть и другую закономерность, что каждое сложение и идущее за ним вычитание дают одинаковый результат с разными знаками, т.е. при четном N также s=-N div 2, а при нечетном -  s=N div 2+1. Но большой разницы это не даст.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота