Контрольная по информатике

Контрольная по информатике

КОНТРОЛЬНАЯ РАБОТА

ПО

ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКЕ

И

ПРОГРАМИРОВАНИЮ

Студентки 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 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

Окончание