КОНТРОЛЬНАЯ РАБОТА
ПО
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКЕ
И
ПРОГРАМИРОВАНИЮ
Студентки
I
-го курса
МГТУ ГА
Шифр – э991613
Широковой С.Х.
Задание
№1
Перевести десятичное число в систему счисления с основанием “b”.
Представим число 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
Теперь сложим целую и дробную часть, получим 7
155
,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 – ричное число в десятичное.
Используем следующую формулу для перевода.
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-ричную систему счисления.
Сначала число 426,574 переведем в двоичную систему счисления, а затем двоичное переведем в 16-ричную систему счисления.
, = 100010110,101111100 двоичная система счисления.
Теперь переведем в 16-ричную систему счисления
, = 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
Осуществить алгебраическое сложение целых двоичных чисел в обратном коде.
Сначала переведем числа в двоичную систему счисления.
18 : 2 = 9 (остаток 0)
9 : 2 = 4 (остаток 1)
4 : 2 = 2 (остаток 0)
2 : 2 = 1 (остаток 0)
1 : 2 = 0 (остаток 1)
10010
т.к. число 18 отрицательное то код примет вид 1.10010
, а обратный код числа –18 будет выглядеть 1.01101
|
19 : 2 = 9 (остаток 1)
9 : 2 = 4 (остаток 1)
4 : 2 = 2 (остаток 0)
2 : 2 = 1 (остаток 0)
1 : 2 = 0 (остаток 1)
10011
обратный код числа 19
совпадет с прямым кодом 10011
|
Теперь сложим обратные коды чисел.
1.01101
+
10011
10
.00000
т.к. возник перенос из знакового разряда, к результату прибавляем 1
0,00000 + 1 = 0,00001, то есть результатом операции является десятичное число +1.
(-18) + 19 = 1.
Задание
№5
Перемножить два целых положительных двоичных числа.
Сначала переведем числа в двоичную систему счисления.
35 : 2 = 17 (остаток 1)
17 : 2 = 8 (остаток 1)
8 : 2 = 4 (остаток 0)
4 : 2 = 2 (остаток 0)
2 : 2 = 1 (остаток 0)
1 : 2 = 0 (остаток 1)
100011
|
11 : 2 = 5 (остаток 1)
5 : 2 = 2 (остаток 1)
2 : 2 = 1(остаток 0)
1 : 2 = 0 (остаток 1)
1011
|
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,10110
1
*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.
Составить программу вычисления и печати значений следующего выражения:
/ln(x + y) + [sin (y)]-1/5
, для исходных данных, вводимых с клавиатуры.
05 REM Вычисление выражения.
10 CLS
15 PRINT “
/
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 “
/
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 =+ + + +…+
Алгоритм:
Вывод 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.000S= 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
|