Что выполняет данная команда readln dr
Перейти к содержимому

Что выполняет данная команда readln dr

Школьные олимпиады с ответами

Контрольная работа по информатике 11 класс повторение за 10 класс

12 Окт 2016 Ваш отзыв Информатика
  1. Что выполняет данная команда a) READLN(dr); b) WRITELN(dr);
  2. a) Целый тип данных b) Вещественный тип данных.
  3. Функция, вычисляющая квадратный корень.
  4. a) Раздел описания переменных начинается со слова _______. Приведите пример.

b) Раздел описания констант начинается со слова _______. Приведите пример.

  1. a) D:=SQR(4); b) D:=SQRT(4); Чему равно значение переменной D?
  2. Какая программа выдаст ошибку выполнения? (предполагается, что числа s, f, a лежат в интервале от -1000 до 1000, а≠0)

Var s, f, a: integer;

Var s, f, a: integer;

Var s, f, a: integer;

Var s, f, a: integer;

  1. Чему равно значение переменной d?

a) d:= (14 mod 3)+ (17 div 4) b) d:= (18 mod 4)+ (23 div 2)

  1. Запишите формулу, используя функции и математические операции языка Паскаль.
  1. Чему равно значение переменной s

a) D:= 12 div 5; s:= D+9

b) D:= 16 mod 5; s:= 3*D

  1. Чем заканчивается любая программа, записанная на языке Паскаль.
  2. С помощью какой команды можно вывести значение переменной G на экран дисплея?
  3. С какого слова начинается тело программы, т.е. набор команд, которые выполняются при запуске программы?
  4. Какое имя переменной верно с точки зрения синтаксиса Паскаль?
  1. 1fhgr c) !gjtuy
  2. 1_fhgt d) gfr_1
  1. С:=sqrt(d); Какого типа должна быть переменная С для данного выражения?
  2. Как называется оператор := ?
  3. Как читается данная запись?
  1. Запишите команду, позволяющую вывести на экран надпись, используя переменную В=127.

a) Значение переменной В= 127 b) Длина = 127 см

  1. Запишите формулу в нормальном виде

a) SQRT(SQR(x)+100)/(a-b)*c b) SQR(SQRT(y)+((a+d)*c))/d

  1. Указать значения величин A и B после выполнения следующих операторов присваивания.
  1. a) Напишите программу, вычисляющую среднее арифметическое 3-х введенных с клавиатуры чисел.

b) Напишите задачу, вычисляющую гипотенузу прямоугольного треугольника.

  1. a) Дан целочисленный массив, содержащий n элементов и заполненный с клавиатуры. Найти наибольшее значение элемента массива.

b) Дан целочисленный массив заданный датчиком случайных чисел в интервале (100). Требуется умножить отрицательные значения элементов этого массива на 20.

Процедуры Read и ReadLn

Процедуры Read и ReadLn выполняют чтение информации из устройства стандартного ввода. В консольных приложениях этим устройством может быть, например, клавиатура (точнее — введённые с клавиатуры данные), в графических приложениях — файл на диске.

То есть эти процедуры являются “антиподами” процедур Write и WriteLn — выполняют противоположные им действия.

Процедуры Read и ReadLn выполняют схожие действия. Основное отличие между ними следующее: процедура ReadLn после завершения ввода выполняет перевод строки (а в случае с файлами читает файл строка за строкой). А процедура Read читает данные подряд — без перевода строки.

В Турбо Паскале я не помню такого (может просто забыл), но в FreePascal ввод с клавиатуры можно выполнять только процедурой ReadLn, а процедура Read почему-то не работает.

Синтаксис для вывода на консоль:

procedure Read(Args: Arguments);

Синтаксис для вывода в файл:

procedure Read(var F: Text; Args: Arguments);

Аргументами (Arguments) могут быть переменные разных типов. Если используется несколько переменных, то они перечисляются через запятую. Например:

Как уже было сказано, при вводе с консоли эти переменные могут быть разных типов. Но, в отличие от процедур Write/WriteLn использовать константы не допускается (и это логично))).

ВАЖНО!
При вводе данных следует учитывать, что в случае, если введённое пользователем значение имеет тип, отличный от типа переменной, в которую вводится это значение, то возникнет ошибка времени выполнения. Если, например, в указанном выше примере пользователь в качестве первого числа введёт вещественное значение (такое как 3.14), то программа завершится аварийно, так как переменная х имеет целый тип.

При чтении из файла можно работать как с типизированными файлами, так и с текстовыми файлами.

Если F (см. синтаксис) — это типизированный файл, то переменные, передаваемые как параметры (Args) должны иметь такой же тип, какой указан для файла F. Нетипизированные файлы использовать не допускается. Если параметр F не указан, то предполагается, что чтение выполняется из стандартного устройства ввода.

Если файл F имеет тип Text, то переменные должны иметь тип Char, Integer, Real или String.

Если при чтении файла нет данных, доступных для чтения, то в переменную F возвращается пустое значение (0 — для порядковых типов, пустая строка — для строковых).

В случае использования процедуры ReadLn, то есть при построковом чтении данных, конец строки обозначается определённой последовательностью символов (какими именно — зависит от операционной системы, для DOS/Windows это два символа — #10 и #13).

Маркер конца строки не является частью прочитанной строки и игнорируется.

Если во время выполнения процедуры Read/ReadLn происходит ошибка, то генерируется ошибка времени выполнения. Такое поведение не всегда приемлемо (например, во время чтения файла). Поэтому в каких-то случаях генерацию ошибок отключают. Сделать это можно с помощью директивы компилятора .

В разных отладочных и учебных программах процедуру ReadLn часто используют для того, чтобы консольное приложение не закрылось автоматически после выполнения. Для этого в конце программы просто записывают (как в примере выше):

То есть просто имя процедуры без параметров. В этом случае программа будет ожидать нажатия клавиши ENTER. Следовательно, программа не завершится, пока не будет нажата клавиша ENTER, и это позволит увидеть результат работы программы. Разумеется, в операционной системе DOS (и подобных) такой проблемы нет. Это актуально только для Windows.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *