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

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


                                     ПО


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

                                      И
                               ПРОГРАМИРОВАНИЮ
                            Студентки 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


                                  Окончание