
Контрольная работа 1 / 1-15_Информатика
.doc
Контрольная работа №1
вариант № 15
по дисциплине:
Информатика-1 (А.И. Муравьев)
Задание 1 (ответы на контрольные вопросы)
1)Такого типа переменных не существует.
2)К порядковым относятся переменные: integer, shortint, byte, word.
3)Над строковыми данными в отличие от символьных допустимы операции сцепления +. Также при использование строковых данных есть возможность задать длину строки. Для определения данных строкового типа используется оператор SRING а для символьных CHAR
4)Диапазоны для целочисленных типов данных:
-
Byte 0..255
-
Word 0..65535
-
Integer –32768..+32767
-
Shortint –128..+127
-
Longint -2147483648..+2147483647
Диапазон для вещественных типов данных:
-
Real 2.9E-39...1.7E38
-
Single 1.5E-45...34E38
-
Double 5.0E-324...1.7E308
-
Extended 3.4E-4932...1.1E4932
-
Comp 9.2E-18...9.2E18
5)True(истина) и False (ложь)
6)Пользовательский тип задается непосредственно перечислением всех значений, которые может принимать переменная данного типа. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки.
7)Не более 256
8)Пример ограниченного типа данных:
CONST
Min=1;
Max=100;
TYPE
Temperature=Min..Max;
Var t : Temperature;
..........
t:=45;
t:=125; (ошибка – выход из диапазона)
9)Нет
10) Если значение не указывается, то по умолчанию максимальная длинна строки равна 255
11)Сначала выполняются операции типа умножения (* / div mod) а затем операции сложения (+ -).
12)Высший приоритет имеет операция Not, то есть она выполняется первой, затем второй по приоритету идет операция and и третьими по приоритету выполняются операции or xor.
13)В операциях отношения операнды могут принадлежать к любому скалярному типу данных, а в логических операциях операнды всегда логического типа (Boolean).
15)Целочисленная переменная
16)При работе оператора REPEAT проверка условия осуществляется после выполнения оператора и выход из цикла происходит, если значение условия равно TRUE. Если в операторе WHILE тело цикла может вообще не выполнятся, то в операторе REPEAT оно выполняется минимум один раз.
17)В операторе цикла FOR допускается изменять параметр цикла, а в операторах WHILE и REPEAT не допускается.
18)Массивы это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип и обозначенных общим идентификатором. Число элементов массива фиксируется при описании и в процессе выполнения программы не меняется. Для описания используется слово ARRAY.
19)Переменные любого скалярного типа кроме вещественного.
20)Индекс можно задавать непосредственно значением, константой, переменной, выражением и функцией, главное условие только чтобы все они имели целочисленное значение, не превосходящие диапазон изменения индекса заданного массива.
21) В общем случае структура программы имеет следующий вид:
[PROGRAM <имя программы>;]
[CONST
описание констант]
[TYPE описание пользовательских типов]
[VAR
описание переменных]
begin
тело программы (или раздел исполняемых операторов)
end.
22)Составной оператор обычно используется в качестве составной части других операторов, где требуется применение нескольких операторов вместо одного.
23)Операторы цикла используются для организации циклов различного типа, а условный оператор для изменения естественного порядка выполнения операторов программы.
Задание 2
6310=1111112=3F16
174110=110110011012=6CD16
Задание 3
Program n;
Var {описание переменных}
I: real;{переменная i в члене ряда }
S: real;{сумма ряда}
L: real;{член ряда}
Begin
I:=4; {присвоение начальных значений}
S:=0;
L:=5/(sqr(I)-1);
while L>=0.005 do {цикл, от начального значения L до тех пор пока L меньше либо равно 0.5}
Begin
S:=S+L; {получение суммы ряда}
I:=I+1; {увеличение переменной I на единицу)
L:=5/(sqr(I)-1);{получение члена ряда}
end;
Writeln(S); {вывод суммы ряда}
readln
End.
Задание 4
Program n2;
Var {описание переменных}
T: real;{параметр функции}
Y: real; {функция}
Begin
T:=0.5; {присвоение начальных значений}
while T<5 do {цикл от Т=0.5 до те пор пока Т<5}
Begin
If T<=3 then {проверка значения T}
Y:=sqr(T) {вычисление функции}
else
Y:=T; {вычисление функции}
Writeln(T:2:3,' ',Y:2:3); {вывод значений T и функции в цикле}
T:=T+0.1; {увеличение Т на 0.1 – шаг=0.1)
end;
readln
End.
Задание 5
Program n3;
var {описание переменных}
I: integer; {переменная члена ряда]
S: integer; {сумма ряда}
L: integer; {член ряда}
Begin
S:=0; {присвоение начального значения суммы ряда}
For I:=3 to 80 do {цикл от 3 до 80}
Begin
L:=(I*I*I)+I+5; {вычисление члена ряда}
S:=S+L; {вычисление суммы ряда}
end;
Writeln(S); {вывод суммы ряда}
readln
End.
Начало
программы
Задание начального
значения суммы и
параметра цикла
Задание цикла от 3 до 80
Вычисление члена ряда
Вычисление суммы ряда
Вывод суммы ряда
Конец программы
Задание 6
Program n4;
var {описание переменных}
Y: real; {Функция}
X: real; {аргумент функции}
Begin
X:=0; {присвоение начального значения аргументу}
Repeat {открытие цикла}
Y:=cos(X/3+0.3); {вычисление значения функции}
Writeln(X:2:2,' ',Y:2:2); {вывод значений аргумента и функции в цикле}
X:=X+0.2; {увеличение значения аргумента на 0.2 – шаг 0.2}
Until X>6; {условие выхода из цикла – выход из цикла выполняется когда Х>6}
readln
End.
Начало
программы
Присвоение начального
значения аргументу
Вычисление значения функции
Вывод значений аргумента и функции
Увеличение значения аргумента на 0.2 – шаг 0.2
Условие выхода из цикла - цикл
выполняется до тех пор пока X не станет >6
Конец программы
Задание 7
Program n5;
Const n=100;{задание размер-ти массива}
var a,b: array[1..n] of integer; {описание массивов}
i,k: byte; {описание переменных, i и k индексы массивов a и b}
Begin
Randomize; {изменение базы данных}
For i:=1 to n do {цикл от 1 до n=100}
Begin
a[i]:=random(10); {формирование одномерного массива}
Write(a[i]:5); {вывод массива a в цикле}
If i<=50 then {проверка i}
Begin
k:=i+50; {изменение индекса массива b)
b[k]:=a[i]; {присвоение значение элемента массива a, значению элемента массива b}
end
Else
Begin
k:=i-50; {изменение индекса массива b}
b[k]:=a[i]; {присвоение значения элемента массива a, значению элемента массива b}
end;
end;
Writeln;
Writeln;
For k:=1 to n do {цикл от 1 до n=100}
Write(b[k]:5); {вывод массива b}
readln
End.
Начало программы
Задание массивов a,b
Задание начального параметра
i – индекса массива a
Задание цикла от 1 до 100
формирование
одномерного массива а
вывод массива a в цикле
Условие, для проверки
значения i, в зависимости
от этого k (индекс массива b)
присваивается измененное
значение i
Присвоение значения элемента
массива a, значению
элемента массива b
(формирование массива b)
Задание цикла от 1 до 100
Вывод массива b
Завершение программы после
выхода из цикла
Задание 8
Program n6;
Const n=50; {задание размеренности двумерного массива}
m=50;
Var a: array[1..m,1..n] of integer; {описание двумерного массива}
i,j: byte; {описание переменных, i и j индексы массива а}
x,y: integer; {х – счетчик положительных элементов массива, у – счетчик отрицательных элементов массива}
Begin
Randomize; {изменение базы данных}
x:=0; {присвоение начальных значений}
y:=0;
Writeln;
For i:=1 to m do {цикл от 1 до m=100}
Begin
For j:=1 to n do {цикл от 1 до n=100}
Begin
a[i,j]:=random(10)-5; {формирование двумерного массива}
Write(a[i,j]:5); {вывод массива a в цикле}
If a[i,j]>0 then {проверка элемента массива}
begin
x:=x+1; {прибавление к счетчику положительных элементов, единицы}
end;
If a[i,j]<0 then {проверка элемента массива}
begin
y:=y+1; {прибавление к счетчику отрицательных элементов, единицы}
end;
end;
writeln;
end;
Writeln;
Writeln('кол-во элементов с положительными числами = ',x); {вывод х}
Writeln('кол-во элементов с отрицательными числами = ',y); {вывод у}
readln
End.
Начало программы
Задание двумерного массива а
Задание начальных параметров счетчиков
положительных и отрицательных элементов
Задание цикла от 1 до 50
Задание цикла от 1 до 50
формирование
двумерного массива а
вывод массива a в цикле
Условия для проверки
элемента массива –
если элемент больше 0 –
прибавляем 1 к счетчику
положительных элементов
если меньше 0 – прибавляем 1
к счетчику отрицательных
Вывод х и у
Завершение программы