Школьные олимпиады с ответами
Контрольная работа по информатике 11 класс повторение за 10 класс
12 Окт 2016 Ваш отзыв Информатика
- Что выполняет данная команда a) READLN(dr); b) WRITELN(dr);
- a) Целый тип данных b) Вещественный тип данных.
- Функция, вычисляющая квадратный корень.
- a) Раздел описания переменных начинается со слова _______. Приведите пример.
b) Раздел описания констант начинается со слова _______. Приведите пример.
- a) D:=SQR(4); b) D:=SQRT(4); Чему равно значение переменной D?
- Какая программа выдаст ошибку выполнения? (предполагается, что числа 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;
- Чему равно значение переменной d?
a) d:= (14 mod 3)+ (17 div 4) b) d:= (18 mod 4)+ (23 div 2)
- Запишите формулу, используя функции и математические операции языка Паскаль.
- Чему равно значение переменной s
a) D:= 12 div 5; s:= D+9
b) D:= 16 mod 5; s:= 3*D
- Чем заканчивается любая программа, записанная на языке Паскаль.
- С помощью какой команды можно вывести значение переменной G на экран дисплея?
- С какого слова начинается тело программы, т.е. набор команд, которые выполняются при запуске программы?
- Какое имя переменной верно с точки зрения синтаксиса Паскаль?
- 1fhgr c) !gjtuy
- 1_fhgt d) gfr_1
- С:=sqrt(d); Какого типа должна быть переменная С для данного выражения?
- Как называется оператор := ?
- Как читается данная запись?
- Запишите команду, позволяющую вывести на экран надпись, используя переменную В=127.
a) Значение переменной В= 127 b) Длина = 127 см
- Запишите формулу в нормальном виде
a) SQRT(SQR(x)+100)/(a-b)*c b) SQR(SQRT(y)+((a+d)*c))/d
- Указать значения величин A и B после выполнения следующих операторов присваивания.
- a) Напишите программу, вычисляющую среднее арифметическое 3-х введенных с клавиатуры чисел.
b) Напишите задачу, вычисляющую гипотенузу прямоугольного треугольника.
- 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.