1) Что будет выведено на печать при выполнении следующего кода: write(copy( абракадабра , 3, 8)); 2) Сколько раз будет

  • 21
1) Что будет выведено на печать при выполнении следующего кода: write(copy("абракадабра", 3, 8));
2) Сколько раз будет выполняться тело цикла в следующем операторе: k:=1; for i:=1 to k+499 do k:=k+1;
3) В начале некоторой программы приведены описания переменных. Укажите строки, содержащие ошибки.
const n = 10;
type words = array [0..n+1] of letter;
letter = "a".."z";
vector = array [boolean] of integer;
digits = array [true..false] of real;
var k: 1..maxint;
x: array [1..k] of char;
y: array [(a, b, c)] of (a, b, c);
4) Укажите строки, содержащие верные описания типов данных.
type card = (spades, clubs, diamonds, hearts);
type horse...
Арсений
70
1) При выполнении данного кода будет выведено слово "акад". Давайте разберемся почему. Функция copy() копирует часть строки с указанного начального индекса до указанного конечного индекса. В данном случае, строка "абракадабра" имеет индексы с 1 до 12. Мы указали начальный индекс 3 и конечный индекс 8, поэтому будут скопированы символы с третьего по восьмой: "ракада". Функция write() выводит на печать результат выполнения функции copy(), поэтому на экран будет выведено слово "ракад".

2) В данном цикле тело цикла будет выполняться 499 раз. Давайте разберемся почему. В начале цикла переменная k инициализируется значением 1. Затем, на каждой итерации цикла, значение k увеличивается на 1. Таким образом, на первой итерации значение k будет равно 2, на второй - 3, на третьей - 4 и т.д. Поскольку цикл выполняется от 1 до k+499, то последняя итерация будет выполнена, когда k станет равным 500. Следовательно, тело цикла выполнится 499 раз.

3) Ошибки в описаниях переменных:
- В строке "var k: 1..maxint;" ошибка заключается в указании типа для переменной k. Диапазон значений должен быть указан внутри массива, поэтому правильным описанием будет "var k: array [1..maxint] of ???;".
- В строке "x: array [1..k] of char;" ошибка заключается в том, что значение k не определено на момент компиляции программы. Для определения размера массива необходимо использовать постоянное значение или константу.
- В строке "y: array [(a, b, c)] of (a, b, c);" ошибка заключается в неправильном использовании типа данных для массива. Корректное описание будет выглядеть так: "y: array [1..3] of char;". Это описывает массив с индексами от 1 до 3, где каждый элемент массива является символом.

4) Верные описания типов:
- const n = 10; - данное описание задает константу n со значением 10.
- type words = array [0..n+1] of letter; - данное описание задает тип words, который представляет собой массив символов (тип letter) с индексами от 0 до n+1. При данном описании n = 10, поэтому размер массива будет 12.
- type letter = "a".."z"; - данное описание задает тип letter, который представляет собой символ от "a" до "z".
- type vector = array [boolean] of integer; - данное описание задает тип vector, который представляет собой массив целых чисел (тип integer) с индексами типа boolean (true или false).
- type digits = array [true..false] of real; - данное описание задает тип digits, который представляет собой массив вещественных чисел (тип real) с индексами от true до false.