Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
ВЯТСКИЙ СОЦИАЛЬНО-ЭКОНОМИЧЕСКИЙ ИНСТИТУТ
ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
Кафедра информатика и вычислительная техника
Предмет: Информатика
Контрольная работа № 1
Вариант № 1
Студент: 1 курса, группы ИВТс-13
Ф.И.О.: Тестов Григорий Николаевич
Преподаватель: Буторина Екатерина Александровна
Дата сдачи работы «___» __________ 2013 г.
Оценка: _______________
Проверил:_______________
Киров
2013
Задание №1. Перевести из десятичной системы счисления в заданную:
Число |
Основание |
Число |
Основание |
Число |
Основание |
25 |
2 |
199 |
8 |
178 |
16 |
Решение 1
Целая часть от деления |
Остаток от деления |
25 div 2 = 12 |
25 mod 2 = 1 |
12 div 2 = 6 |
12 mod 2 = 0 |
6 div 2 = 3 |
6 mod 2 = 0 |
3 div 2 = 1 |
3 mod 2 = 1 |
1 div 2 = 0 |
1 mod 2 = 1 |
Остаток от деления записываем в обратном порядке. Получаем число в 2-ой системе счисления: 11001
2510 = 110012
2.
Целая часть от деления |
Остаток от деления |
199 div 8 = 24 |
199 mod 8 = 7 |
24 div 8 = 3 |
24 mod 8 = 0 |
3 div 8 = 0 |
3 mod 8 = 3 |
0 div 8 = 0 |
0 mod 8 = 0 |
Остаток от деления записываем в обратном порядке. Получаем число в 8-ой системе счисления: 307
19910 = 3078
3.
Целая часть от деления |
Остаток от деления |
178 div 16 = 11 |
178 mod 16 = 2 |
11 div 16 = 0 |
11 mod 16 = 11 |
0 div 16 = 0 |
0 mod 16 = 0 |
Остаток от деления записываем в обратном порядке. Получаем число в 16-ой системе счисления: B2
17810 = B216
Задание №2. Перевести из заданной системы счисления в десятичную:
Число |
Основание |
Число |
Основание |
Число |
Основание |
101011010 |
2 |
45 |
8 |
178 |
16 |
Задание №3. Сложить, вычесть, умножить в двоичной системе счисления (с проверкой по десятичной):
Числа |
||
111000101 100011 |
1100110011 111111 |
111000111 1010101 |
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
1 |
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
0 |
В 1-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 2-й разряд.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
1 |
1 |
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
|
|
|
|
|
|
|
0 |
0 |
В 2-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 3-й разряд.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
|
|
|
|
|
|
0 |
0 |
0 |
В итоге получаем:
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
1 |
1 |
1 |
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
Результат сложения: 111101000
Проверка:
В десятичном представлении эти числа имеют вид:
1111010002=45310
1000112=3510
1111010002 = 48810
453+35=488
Заменим операцию вычитание на сложение: 1100110011 + (-111111)
Представим числа 11001100112 и 1111112 в дополнительном коде.
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 1100110011 имеет обратный код 1100110011
Двоичное число -111111 имеет обратный код 1000000
Сложим числа 1100110011 и 1111111111000001
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
||||||||||
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
В 1-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 2-й разряд.
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
1 |
|||||||||
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
В 8-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 9-й разряд.
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
1 |
1 |
||||||||
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
В 9-ом разряде возникло переполнение (1 + 1 + 1 = 11). Поэтому записываем 1, а 1 переносим на 10-й разряд.
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
1 |
1 |
1 |
|||||||
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
В 10-ом знаковом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, и вычисления прекращаем
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
1 |
1 |
1 |
|||||||
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
В итоге получаем:
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
1 |
1 |
1 |
|||||||
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
Результат сложения: 1011110100
Проверка
В десятичном представлении это число имеет вид:
10111101002 = 75610 11001100112 = 81910 1111112 = 6310
819 - 63=756
Умножение начинаем с младших разрядов: если текущий разряд второго числа равен 0, то его пропускаем, если 1 - то переписываем первое число.
|
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
|
|
|
0+1 |
0+1 |
1+1 |
0+1 |
0+1 |
1 |
1+1 |
0 |
1+1 |
0+1 |
1+1 |
0+1 |
0 |
1 |
1 |
|
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
При суммировании в разрядах 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14 возникло переполнение. Причем переполнение возникло и в старшем разряде, поэтому записываем 1 впереди полученного числа, и получаем: 1001001404010011
В десятичной системе счисления данное число имеет следующий вид:
Для перевода необходимо умножить разряд числа на соответствующую ему степень разряда.
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 111000111 и 1010101 в десятичное представление.
111000111 = 455
1010101 = 85
455 * 85 = 38675
Задание №4. Вычислить значения логической функции на всех наборах ее аргументов:
F(X1, X2, X3) = (X1 X2) ((X1 X3) (X2 X3))
Составим таблицу истинности для нахождения значения логической функции на всех наборах ее аргументов
F(X1, X2, X3) |
||||||||
X1 |
X2 |
X3 |
X1v X2 |
X1v X3 |
X2v X3 |
(X1v X3)Λ(X2v X3) |
((X1v X3)Λ(X2v X3)) |
(X1v X2) ((X1v X3)Λ(X2v X3)) |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
Задание №5. Определить значения логических выражений при заданных значениях переменных a и b.
Начальные присваивания |
Логическое выражение |
a = TRUE b = FALSE |
a AND b AND a OR a OR NOT b a AND (b AND a) OR (a OR NOT b) ((a AND b) AND a) OR a OR NOT b |
Для вычисления значений логических выражений для каждого из них составим таблицу истинности
A |
Λ |
B |
Λ |
A |
v |
A |
v |
B |
A |
B |
A Λ B |
A Λ B Λ A |
A Λ B Λ A v A |
B |
A Λ B Λ A v A v B |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
A |
Λ |
( |
B |
Λ |
A |
) |
v |
( |
A |
v |
B |
) |
A |
B |
B Λ A |
A Λ ( B Λ A ) |
B |
A v B |
A Λ ( B Λ A ) v ( A v B ) |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
( |
( |
A |
Λ |
B |
) |
Λ |
A |
) |
v |
A |
v |
B |
A |
B |
A Λ B |
( A Λ B ) Λ A |
( ( A Λ B ) Λ A ) v A |
B |
( ( A Λ B ) Λ A ) v A v B |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
Задание №6. Составьте алгоритм решения задачи, представьте его блок-схему и программную реализацию на языке Си.
1. Дано трехзначное число. Найти число, полученное при прочтении его цифр справа налево.
Блок-схема
Программа
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d; cin>>d; a=d/100; b=d% 100/10; c=d% 10;
cout<< a+10*b+100*c<< endl;
cin.get(); cin.get();
}
2. Составить программу, которая уменьшает первое введенное число в два раза, если оно больше второго введенного числа по абсолютной величине.
Блок-схема
Программа
#include <iostream>
#incude <math.h>
using namespace std;
int main()
{
int a, b;
cout<<"vvedite a: ";
cin>>a;
cout<<"vvedite b: ";
cin>>b;
{
if (abs (a) > b)
a/=2;
cout<<"a = "<<a<<"\n";
}
system("pause");
return 0;
}
3. Даны целые числа K и N (N > 0). Вывести N раз число K.
Блок-схема
Программа
#include <iostream>
using namespace std;
int main()
{
int N, K;
cout<<"vvedite K: ";
cin>>K;
cout<<"vvedite N: ";
cin>>N;
for(int i=0;i<N;i++)
{
cout<<K<<" "<<endl;
}
system("pause");
return 0;
}
Задание №7. Задачи обработки одномерных массивов. Напишите программу на языке Си для решения задачи в соответствии с заданными условиями.
Составьте программу нахождения наибольшего среди тех элементов одномерного массива, что лежат в интервале (С, D).
Блок-схема
Программа
#include <iostream>
using namespace std;
int max(int *a,int c,int d)
{
int i,max = a[c];
for (i = c+1; i <= d; ++i){
if(a[i] > max) max = a[i];
}
return max;
}
int main()
{
int n,c,d,i;
int a[100]; // объявляем целочисленный массив;
cout<<"razmer massiva:\n";cin>>n;
cout<<"vvedite meassiv:\n";
for (i = 0; i < n; ++i)
{
//printf("vvedite meassiv:\n",i);
cin >> a[i]; // считываем вводимые с клавиатуры числа
}
printf("vvedite interval: c and d\n");
scanf("%d %d",&c,&d);
printf("The max element between %d and %d elements is %d \n",c,d,max(a,c,d));
system("pause");
return 0;
}
Список литературы
Программное обеспечение
Microsoft Office
Dev-С++
Visual studio 2010 express
PAGE \* MERGEFORMAT 9
начало
ввод
d
a=d/100;
b=d% 100/10;
c=d% 10
вывод
a+10*b+100*c
конец
нет
а
начало
ввод
a,b
abs (a) > b
вывод
a
а=а/2
конец
ввод
K, N
начало
i=0..N-1
вывод
х
конец
Начало
'vvedite interval : '
2
c,d
3
'razmer massiva : '
4
n
5
'vvedite meassiv : '
6
i:=1 to n
7
x[i]
8
max := x[1]
9
n_ := 1
10
i:=1 to n
11
(max < x[i]) and
(x[i] >= c) and
(x[i] <= d)
12
Да
max := x[i]
13
n_ := i
14
'max element : x[',n,']=',max
15
Конец
16
1