Контрольная по информатике
КОНТРОЛЬНАЯ РАБОТА
ПО
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКЕ
И
ПРОГРАМИРОВАНИЮ
Студентки I-го курса
МГТУ ГА
Шифр – э991613
Широковой С.Х.
Задание №1
Перевести десятичное число в систему счисления с основанием “b”.
|Число |b |
|3693,3 |8 |
Представим число 3693,3 как 3693 и 0,3
Сначала переводим целую часть числа.
3693 : 8 = 461 (остаток 5)
461 : 8 = 57 (остаток 5)
57 : 8 = 7 (остаток 1)
7 : 8 = 0 (остаток 7)
7155
Переводим дробную часть.
0,3 * 8 = 2,4 (целая часть 2)
0,4 * 8 = 3,2 (целая часть 3)
0,2 * 8 = 1,6 (целая часть 1)
0,231
Теперь сложим целую и дробную часть, получим 7155,231
Проверка:
7*83+1*82+5*81+5*80+2*8-1+3*8-2+1*8-3=>
=>3584+64+40+5+2*0,125+3*0,0156+0,0019=3693,2987=3693,3
Задание №2
Перевести исходное 8 – ричное число в десятичное.
|b |число |
|8 |3235,52 |
Используем следующую формулу для перевода.
Y= a n-1* bn-1 + a n-2* bn-2 +…+ a1* b1+ a 0* b0 + a-1* b-1+ a-2* b-2 + a-
k* b-k…
Где n – количество разрядов целой части b-ичном числе.
k – количество разрядов дробной част b-ичном числе.
b – основание исходной системы счисления.
3*83+2*82+3*81+5*80+5*8-1+2*8-2=1536+128+24+5+0,625+0,03125=1693,66
Задание №3
Осуществить перевод исходного числа, представленного в 8-ричной системы
счисления, в 16-ричную систему счисления.
|8->16 |
|426,574 |
Сначала число 426,574 переведем в двоичную систему счисления, а затем
двоичное переведем в 16-ричную систему счисления.
[pic] [pic] [pic] , [pic] [pic] [pic] = 100010110,101111100 двоичная
система счисления.
Теперь переведем в 16-ричную систему счисления
[pic] [pic] [pic] , [pic] [pic] = 116,BE
Перевод чисел 0001; 0110; 1011; 1110 по формуле =>
Y=an-1*bn-1+an-2*bn-2+…+a1*b1+a0*b0+a-1*b-1+a-2*b-2+a-k*b-k
Задание №4
Осуществить алгебраическое сложение целых двоичных чисел в обратном коде.
|a |b |
|-18 |19 |
Сначала переведем числа в двоичную систему счисления.
|18 : 2 = 9 (остаток 0) |19 : 2 = 9 (остаток |
|9 : 2 = 4 (остаток 1) |1) |
|4 : 2 = 2 (остаток 0) |9 : 2 = 4 (остаток |
|2 : 2 = 1 (остаток 0) |1) |
|1 : 2 = 0 (остаток 1) |4 : 2 = 2 (остаток |
|10010 т.к. число 18 |0) |
|отрицательное то код |2 : 2 = 1 (остаток |
|примет вид 1.10010 , а |0) |
|обратный код числа –18 |1 : 2 = 0 (остаток |
|будет выглядеть 1.01101|1) |
| |10011 |
| |обратный код числа |
| |19 |
| |совпадет с прямым |
| |кодом 10011 |
Теперь сложим обратные коды чисел.
1.01101
+ 10011
10.00000
т.к. возник перенос из знакового разряда, к результату прибавляем 1
0,00000 + 1 = 0,00001, то есть результатом операции является десятичное
число +1.
(-18) + 19 = 1.
Задание №5
Перемножить два целых положительных двоичных числа.
|а |b |
|35 |11 |
Сначала переведем числа в двоичную систему счисления.
|35 : 2 = 17 (остаток 1)|11 : 2 = 5 (остаток |
| |1) |
|17 : 2 = 8 (остаток |5 : 2 = 2 (остаток|
|1) |1) |
|8 : 2 = 4 (остаток |2 : 2 = 1 (остаток|
|0) |0) |
|4 : 2 = 2 (остаток |1 : 2 = 0 (остаток|
|0) |1) |
|2 : 2 = 1 (остаток |1011 |
|0) | |
|1 : 2 = 0 (остаток | |
|1) | |
|100011 | |
100011
* 1011
100011
100011
000000
100011____
110000001
35 * 11 = 385
Проверка:
Y=1*28+1*27+0*26+0*25+0*24+0*23+0*22+0*21+1*20; y=256+128+1=385
Задание №6
Сложить два двоичных числа с плавающей запятой.
|1-е число |2-е число |
|мантисса |порядок |мантисса |порядок |
|0,10011 |011 |0,11100 |001 |
0,10011*10011 или 0,10011*104;
0,11100*10001 или 0,11100*101;
0,10011*104 + 0,11100*101 = 0,10011*104 + 0,000111*104 =>
=> 0,10011*10011 + 0,000111*10011 = 0,101101*10011;
0,10011
+0,000111
0,1001101
Задание №7.1
Записать по правилам QBasic следующие константы:
1,9; -54; 84526,07; 0,000000094:
|Значение |Запись |
|Константы. |константы. |
|1,9 |+1.9 |
|-54 |-54% |
|84526,07 |84526.07 |
|0,000000094 |9.4E-8 |
Задание №7.2
Какие из следующих обозначений допустимы в качестве идентификаторов
переменных, и какие не допустимы. Определить, какие из переменных, могут
быть использованы в программе, написанной на QBasic, в качестве: а)
целочисленной переменной; б) вещественной переменной; в) символьной
переменной. Написать программу ввода и вывода значений этих переменных.
bik; 30; L8; 9j; F%; Hs5; d9; S5.
Простые переменные имеют имена, произвольной длинны, в имени используются
буквы и цифры, но первым знаком в имени должна быть буква. Тем самым можно
отнести к переменным следующие величины: F%, S5, d9, L8, bik.
а) К целочисленной переменной можно отнести следующее обозначение F%.
б) К вещественной переменной можно отнести следующее обозначение S5, d9,
L8, Hs5.
в) К символьной переменной из предложенных значений не подходит ни одно.
Программа ввода и вывода переменных:
10 W2$ = “ES”: PRINT W2$
15 F% = 30.3: PRINT K%
20 L8 = .0122: PRINT R4
25 b9 = -48: PRINT v4
30 Hs5 = 5.25: PRINT S6
Задание №8.
Составить программу вычисления и печати значений следующего выражения:
[pic]/ln(x + y) + [sin (y)]-1/5, для исходных данных, вводимых с
клавиатуры.
05 REM Вычисление выражения.
10 CLS
15 PRINT “[pic]/ln(x + y) + [sin (y)]^(-1/5)”
20 PRINT “Введите значение переменных Х и У”
25 INPUT x: INPUT y
30 a = 2 * x – y
35 b = LOG (x + y)
40 c = SIN (y * 3.14 / 180)
45 d = c ^ (-1 / 5)
50 e = a / b: IF (a < 0) THEN 60
55 S = e + d: PRINT “[pic]/ln(x + y) + [sin (y)]^(-1/5)=”; S: GOO 65
60 S = e * (-1) + d: GOTO 55
65 END
Задание №9.1
Составить блок схему алгоритма и программу вычисления функции f(x,y).
Значение переменных задать в диалоговом режиме с экрана монитора, значение
функции вывести на экран монитора.
yx+1- 5x если x > y; (2x-1)y если x < y; 578 если x = y.
вывод
05 REM Вычисление функции f(x,y)
10 CLS
15 PRINT “ f(x,y) = (y^(x +1)) – 5x если x > y “
20 PRINT “f(x,y) = (2x – 1)y если x < y”
25 PRINT “f(x,y) = 578 если x = y”
30 PRINT “Введите значение переменных Х и У”
35 INPUT x: INPUT y
40 IF (x <= y) THEN 50
45 S=(y^(x+1)) – 5*x: PRINT “(y^(x+1))-5x=”;S: GOTO 65
50 IF (x = y) THEN 60
55 Z=(2*x – 1)*y: PRINT “(2x-1)y=”; Z: GOTO 65
60 F=578: PRINT “f(x,y)=”;F
65 END
Задание №9.2
Написать блок-схему алгоритма и программу вычисления. Переменную N задать
в диалоговом режиме. На экран вывести значение N и результирующее значение.
S = [pic] + [pic]+ [pic]+ [pic]+…+[pic]
Алгоритм:
Вывод S
Программа вычисления:
05 REM Вычисление прогрессии.
10 CLS
15 PRINT “Вычисление суммы прогрессии S=1/1+2/3+3/5+4/7+…+N/(2N-1)
20 PRINT “Введите количество членов прогрессии N”
25 INPUT N
30 S=0
35 i = 1
40 S = S + i / (2 * i – 1)
45 IF (i = N) THEN 55
50 i = i + 1: GOTO 40
55 PRINT “Сумма”; N; “членов прогрессии S =”; S
60 END
Задание №10
Вычислить с точностью е бесконечную сумму и указать количество учтенных
слагаемых. S= 1 +1/4 +1/9 +…+1/N2
5 REM Вычисление бесконечной суммы с точностью е.
10 CLS
15 PRINT “Вычислить бесконечную сумму прогрессии с точностью е = 0.000 S= 1
+1/4 +1/9 +…+1/N^2”
20 PRINT “Введите количество слагаемых N=”
25 INPUT N
30 S = 0
35 i = 1
40 S = S + 1/i ^ 2
45 IF (i = N) THEN 55
50 i = i +1: GOTO 40
55 PRINT “Суммы”; N; “членов прогрессии S=”;USING “#.###”; S
60 END
Задание №11
Подсчитать количество цифр в тексте. Распечатать все встречающие цифры.
05 REM Подсчет цифр.
10 CLS
15 PRINT “Вычисление цифр в тексте”
20 INPUT "Введите текст"; Stroka$
25 N% = 0
30 FOR I = 1 TO LEN(Stroka$)
35 Pstr$ = MID$(Stroka$, I, 1)
40 IF ASC(Pstr$) > 47 AND ASC(Pstr$) < 58 THEN N% = N% + 1: PRINT Pstr$
45 NEXT I
50 PRINT "Количество цифр в тексте ="; N%
55 END
-----------------------
Ввод х, у.
начало
2000 г.
[pic]
x < y
x > y
yx+1-5x
(2x-1)y
x = y
окончание
Начало
Ввод N
S = 0
i = 1
S = S +i / (2 * i –1)
i < N
Окончание