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

С каких команд можно сделать сердце в программе QBASIC?

Показать ответ
Ответ:
jeviduwel
jeviduwel
06.06.2020 13:36
Допустим, мы ведем счет дней недели с воскресенья и присваиваем дням такие номера:
0- Вс, 1- Пн, 2- Вт, 3- Ср, 4- Чт, 5- Пт, 6- Сб.
Определим, когда в январе было первое Вс.
Если 31 был Пн, то 4 недели назад, т.е. 31-28=3 числа тоже был Пн.
А Вс было перед Пн, т.е. 2 января.
Числа от 0 до 6 - это остатки целочисленного деления на 7.
Получается, что остаток деления числа 2 на 7, должен привести нас к нулю. А он равен двум.
Идея: вычтем из остатка 2, чтобы получился ноль.
Идея хороша для остатка 2, 3, 4, 5, и 6. Она даст нам значения 0, 1, 2, 3 и 4. А вот для остатков 0 и 1, она даст -2 и -1, что нехорошо.
Внесем корректировку. если получилось отрицательное значение, увеличим его на 7.
Проверим ,будет ли это работать.
1 января - Сб (номер дня 6) алгоритм дает 1-2 = -1 и +7 = 6 - верно
2 января - Вс (номер дня 0) алгоритм дает 2-2 = 0 - верно
3 января - Пн (номер дня 1) алгоритм дает 3-2 = 1 - верно
4 января - Вт (номер дня 2) алгоритм дает 4-2 = 2 - верно
5 января - Ср (номер дня 3) алгоритм дает 5-2 - 3 - верно
6 января - Чт (номер дня 4) алгоритм дает 6-2 = 4 - верно
7 января - Пт (номер дня 5) алгоритм дает 0-2 = -2 и +7 = 5 - верно
8 января - Сб (номер дня 6) алгоритм дает 1-2 = -1 и +7 = 6 - верно
9 января - Вс (номер дня 0) алгоритм дает 2-2 = 0 - верно

Все работает.

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

begin
  var chislo:=ReadInteger('Номер дня в январе 2011 года:');
  chislo:=chislo mod 7-2;
  if chislo<0 then chislo:=chislo+7;
  var y:string;
  case chislo of
  0:y:='Воскресенье';
  1:y:='Понедельник';
  2:y:='Вторник';
  3:y:='Среда';
  4:y:='Четверг';
  5:y:='Пятница';
  6:y:='Суббота'
  end;
  Writeln('Это ',y)
end.

Примеры
Номер дня в январе 2011 года: 31
Это Понедельник

Номер дня в январе 2011 года: 13
Это Четверг

Номер дня в январе 2011 года: 23
Это Воскресенье
0,0(0 оценок)
Ответ:
мансур45
мансур45
17.09.2022 09:46
//Pascal ABC.NET v3.0 сборка 1111

Const
 s=5;

Var
 ar:array[1..s] of integer;
 n,m,i:integer;
begin
 writeln('N');
 readln(n);
 writeln('M');
 readln(m);
 writeln('Array:');
 for i:=1 to s do
   readln(ar[i]);
 writeln('First array:');
 for i:=1 to s do
  begin
   write(ar[i]:4);
   if ar[i] div n<>0 then ar[i]:=ar[i]+m;
  end;
 writeln;
 writeln('Final array:');
  for i:=1 to s do
   write(ar[i]:4);
end. 

Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
   1   2   3   4   5
Final array:
   1   2   6   7   8

//Блок-схема во вложении
Ввести двумерный массив a. все элементы, которые при целочисленном делении на n ненулевое значение,
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота