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

Проверочная работа

по теме: «Исполнитель Чертёжник»

вариант 1

1. Что будет результатом работы программы?

Использовать Чертёжник

Алг узор

Нач

поднять перо

сместиться в точку (1,1)

опустить перо

сместиться в точку (5,4)

сместиться в точку (2,4)

сместиться в точку (6,1)

сместиться в точку(1,1)

кон

2. Что будет результатом работы программы?

Использовать Чертёжник

Алг узор_1

Нач

поднять перо

сместиться в точку (2,1)

опустить перо

сместиться на вектор (2,3)

сместиться на вектор (0,2)

сместиться на вектор (-3,0)

сместиться на вектор (0,1)

сместиться на вектор (3,0)

сместиться в точку (4,9)

сместиться на вектор (2,0)

сместиться на вектор (0,-2)

сместиться на вектор (3,0)

сместиться на вектор (0,-1)

сместиться на вектор (-3,0)

сместиться на вектор (0,-2)

сместиться на вектор (2,-3)

сместиться на вектор (-1,0)

сместиться на вектор (-2,3)

Вар 2

сместиться на вектор (-2,-3)

сместиться на вектор (-1,0)

кон

3. Что будет результатом работы программы?

Использовать Чертёжник

Алг узор_2

нач

поднять перо

сместиться в точку (2,1)

повторить 3 раза

Фигура

конец

кон

Проц Фигура

Начало

опустить перо

сместиться на вектор (0,2)

сместиться на вектор (-1,0)

сместиться на вектор (2,2)

сместиться на вектор (2,-2)

сместиться на вектор (-1,0)

сместиться на вектор (0,-2)

сместиться на вектор (-2,0)

поднять перо

сместиться на вектор (4,0)

конец

👇
Ответ:
DarkWolf11
DarkWolf11
21.10.2021

№1:2

№2: вирусы.ходят.местам.унечтожая.для.

4,8(68 оценок)
Открыть все ответы
Ответ:
glebyha22
glebyha22
21.10.2021
В коде есть две проблемы:
1) input().split() возвращает список строк. Строки сравниваются лексикографически, и не всегда совпадают с тем, как соотносятся числа: например, "8" > "10", несмотря на то, что 8 < 10. Это лечится преобразованием к целому типу.
2) Это не приведет в ошибке, но не очень аккуратно: условие a[i] > a[i - 1] and i != 0 при i = 0 сравнит a[0] и a[-1], то есть первый и последний элемент, и только потом узнает, что i = 0. Сравнение этих элементов массива бессмысленно, код не ломается на этом месте только из-за особенности языка, в котором определены отрицательные индексы. Если переставить условия местами, то сначала код проверит, что i != 0, и если это не так, он ничего сравнивать не будет. Другой поправить - поменять границы в range, так будет немного быстрее.

Итоговый вариант:
a=input().split()
for i in range(1, len(a)):
   if int(a[i])>int(a[i-1]):
       print(a[i])

Пример ввода:
1 2 3 3 2 1

Пример вывода:
2
3
4,5(10 оценок)
Ответ:
mmmaaakkkaaarrr
mmmaaakkkaaarrr
21.10.2021
1)var
  s, k, i, n: integer;
  a: array[1..1000] of integer;

begin
  Read(n);
  s := 0;
  k := 0;
 
  for i := 1 to n do
  begin
    Read(a[i]);
    
    if (a[i] > 0) and (a[i] mod 8 = 0) then begin
      s := s + a[i];
      k := k + 1;
    end;
  end;
 
  Write((s / k):0:3);
end.

1.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
  write(
    ReadArrInteger(ReadInteger('n = '))
    .Where(x -> (x > 0) and (x mod 8 = 0))
    .Average);
end.

2)var
  s, k, i, n: integer;
  a: array[1..1000] of integer;

begin
  Read(n);
  s := 0;
  k := 0;
 
  for i := 1 to n do
  begin
    Read(a[i]);
    
    if (a[i] < 0) and (a[i] mod 6 = 0) then begin
      s := s + a[i];
      k := k + 1;
    end;
  end;
 
  Write((s / k):0:3);
end.

2.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
  write(
    ReadArrInteger(ReadInteger('n = '))
    .Where(x -> (x < 0) and (x mod 6 = 0))
    .Average);
end.

3)var
  s, i, n: integer;
  a: array[1..1000] of integer;

begin
  Read(n);
  s := 0;
 
  for i := 1 to n do
  begin
    Read(a[i]);
    
    if (a[i] >= 5) and (a[i] <= 25) and (a[i] mod 2 = 0) then begin
      s := s + a[i];
    end;
  end;
 
  Write(s);
end.

3.1)
//pascalABC.Net 3.1 1200
//более краткий и наглядный вариант
begin
  write(
    ReadArrInteger(ReadInteger('n = '))
    .Where(x -> (x >= 5) and (x <= 25) and (x mod 2 = 0))
    .Sum);
end.
4,4(78 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ