- •3.3 Задача 3 33
- •1.1 Системы программирования
- •1.1.1 Основные понятия
- •1.2 Классификация языков программирования
- •1.2.1.1 Машинный язык
- •1.2.2.2 Диалоговые языки
- •1.2.2.3 Непроцедурные языки
- •1.3 Обзор современных языков программирования
- •1.3.1 Си и его разновидности
- •1.3.2 Паскаль
- •1.3.3 Фортран
- •1.3.4 Бейсик
- •2 Системы счисления
- •2.1 Задание 1
- •2.2 Задание 2
- •2.3 Задание 3
- •2.4 Задание 4
2 Системы счисления
2.1 Задание 1
Перевести десятичное число 87,5 в двоичную, восьмеричную и шестнадцатеричную системы счисления.
а) Перевод в двоичную систему счисления:
1) перевод целой части путем деления на 2:
2) перевод дробной части:
Конечный результат перевода: 87,5 (10) = 1010111,10 (2)
б) Перевод в восьмеричную систему счисления:
1) перевод целой части путем деления на 8:
2) перевод дробной части:
Конечный результат перевода: 87,5 (10) = 127,4 (8)
в) Перевод в шестнадцатеричную систему счисления:
1) перевод целой части путем деления на 16:
2) перевод дробной части
Конечный результат перевода: 87,5 (10) = 57,8 (16)
2.2 Задание 2
Перевести данные числа в десятичную систему счисления
а) Перевод числа 1100,01 (2) в десятичную систему счисления:
1100,01 (2) = 1*23+1*22+0*21+0*20+0*2-1+1*2-2=12,25 (10)
б) Перевод числа 10,10 (2) в десятичную систему счисления:
10,10 (2)=1*21+0*20+1*2-1+0*2-2=2,5 (10)
в) Перевод числа 6701,03 (8) в десятичную систему счисления:
6701,03 (8) = 6*83+7*82+0*81+1*80+0*8-1+3*8-2 =3521,046875 (10)
г) Перевод числа 25A,19 (16) в десятичную систему счисления:
25A,19 (16) = 2*162+5*161+10*160+1*16-1+9*16-2= 602,09765625 (10)
2.3 Задание 3
Перевести двоичное число 1010111,10 (2) в восьмеричную и шестнадцатеричную системы счисления:
а) Перевод в восьмеричную систему счисления:
При нахождении результата был применен метод триад (таблица 1, приложение Д.
б) Перевод в шестнадцатеричную систему счисления:
При нахождении результата был применен метод тетрад(таблица 2, приложение Д).
2.4 Задание 4
Перевести в двоичную систему счисления заданные восьмеричное и шестнадцатеричное число.
а) Перевод числа 6701,03 (8) в двоичную систему счисления:
При нахождении результата был применен метод триад( таблица1, приложение Д).
б) Перевод числа 25A,19 (16) в двоичную систему счисления:
При нахождении результата был применен метод тетрад (таблица 2, приложение Д).
2.5 Задание 5
Сложить и умножить двоичные числа 1100,01(2) и 10,10(2)
а) Сложение чисел:
Результат: 1100,01 (2) +10,10 (2)=1110,11(2)
б) Умножение чисел:
Результат: 1100,01(2) х 10,10 (2) =11110,1010(2)
3 Основы программирования
3.1 Задание 1
Составить блок-схему и программу нахождения всех членов геометрической прогрессии от 1 до 25 со знаменателем 1,25.
Алгоритм решения задачи представлен в виде блок-схемы на рис. 3.1
Рис. 3.1- Блок-схема к заданию 1
Программа определения всех членов геометрической прогрессии на языке программирования С++, представлена в приложении А.
3.2 Задание 2
Вычислить значение S:
S=
Алгоритм решения задачи представлен в виде блок-схемы на рис. 3.2
Рис 3.2- Блок-схема к заданию 2
Программа определения суммы на языке программирования С++, представлена в приложении Б.
3.3 Задание 3
Дана матрица A (n,n). Найти сумму элементов, принадлежащих главной диагонали матрицы, разделив ее на максимальный диагональный элемент.
Алгоритм решения задачи представлен в виде блок-схемы на рис. 3.3
Рис.3.3- Блок-схема к заданию 3.3
Продолжение рис. 3.3
Продолжение рис.3.3
Окончание рис. 3.3.
Программа определения суммы элементов, принадлежащих главной диагонали матрицы, разделив ее на максимальный диагональный элемент на языке программирования С++ , представлена в приложении В.
3.4 Задание 2а
При поступлении в институт лица, получившие двойку на первом экзамене, ко второму не допускаются. Считая фамилии абитуриентов и их оценки после первого экзамена исходными данными, составить список абитуриентов, допущенных ко второму экзамену.
Алгоритм решения задачи представлен в виде блок-схемы на рис. 3.4
Рис.3.4-Блок-схема к заданию 2а
Окончание рис.3.4
Программа определения списка допущенных выпускников ко второму экзамену на языке программирования С++, представлена в приложении Г.
Заключение
Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её (если конечно Вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ. Поверьте мне, это не сарказм, вы только посмотрите как развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: “языки программирования "высочайшего" уровня”. Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, и в этот момент, где-нибудь в Запорожье, Амстердаме, Токио или Иерусалиме, перед стареньким 133MHz горбится молодой, никем не признанный специалист и разрабатывает новейшую систему искусственного интеллекта, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с машиной на ТЫ.
Размышляя над этим, хочется верить в прогресс науки и техники, в высоко - компьютеризированное будущее человечества, как единственного существа на планете, пусть и не использующего один, определенный разговорный язык, но способного так быстро прогрессировать и развивать свой интеллект, что и перехода от многоязыковой системы к всеобщему пониманию долго ждать не придется.
Библиографические записи
Лесневский А.С. Объективно-ориентированное программирование для начинающих: учебник- М: Бином, 2005.232с.
Мозговой М.В. Классика программирования: алгоритмы, языки, автоматы, компиляторы, практический подход: учебник - М: Наука и техника, 2006.320с.
Эккель Б. Философия С++. Введение в стандартном С++: учебник - М: Питер, 2004.572с.
Димитриева Л.Л. Методическое руководство по оформлению курсовых и дипломных проектов: Ростов-на-Дону, 2009. 35 с.
Мирошниченко И.И. Задание: Ростов-на-Дону,2011. 13с.
Приложения
(с.42-48)
П риложение А
(обязательное)
Программный код к заданию 3.1
# include <iostream>
using std::cout;
using std::endl;
using std::cin;
int main()
{ double b,s;
b=1.0;
while (b<=20)
{
s=b*1.25;
cout<<"s="<<s;
cout<<endl;
b=b+1;
}
system("pause");
return 0;
}
На рис. 3.1.1 приведена консоль программы к заданию 3.1
Рис. 3.1.1 - Консоль программы к заданию 3.1
Приложение Б
(обязательное)
Программный код к заданию 3.2
# include <iostream>
using std ::cout;
using std::cin;
using std::endl;
int main()
{int i;
double Z,S(0),k;
for ( i=0.0; i<=10.0;i++);
{
Z= (3^i)+(2^i);
k=1/Z;
S=S+k;}
cout<<"S="<< S;
cout<<endl;
system("pause");
return 0;
}
На рис. 3.2.2 приведена консоль программы к заданию 3.2.2
Рис. 3.2.2 – Консоль программы к заданию 3.2
Приложение В
(обязательное)
Программный код к заданию 3.3
#include<iostream>
#include<math.h>
#include <stdio.h>
# include<stdlib.h>
using namespace std;
int main()
{ double Z=0.0;
int S(0),n,max;
int a[256][256];
cout<<"Vvedite razmernost' matricy A(n,n):\n";
cin>>n;
for (int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cout<<"Vvedite element";
cin>>a[i][j];
max=a[0][0];
if (i==j) {S=S+a[i][j];
if (a[i][j]>max)
max=a[i][j];}
else {if (i+j==n-1)
{ if (max<a[i][j]) max=a[i][j];
}}}
cout<<endl;
}
for(int i=0;i<n;i++)
{ for (int j=0;j<n;j++)
{cout<<a[i][j];}
cout<<endl;}
Z=S/max;
cout<<"Z= "<<Z;
cout<<endl;
system("pause");
return 0;
}
Продолжение приложения В
На рис. 3.4.4 приведена консоль программы к заданию 3.3
Рис. 3.4.4 - Консоль программы к заданию 3.3
Приложение Г
(обязательное)
Программный код к заданию 3.2а
# include<iostream>
#include<math.h>
using namespace std;
int main()
{ int n,i,k;
int T[256];
int m[5];
cout<<"Vvedite kol-vo vipusknikov";
cin>>n;
for(i=0;i<n;i++)
{ cout<<"Vvedite nomer vipusknika";
cin>>T[i];
cout<<"Vvedite ozenku vipusknika";
cin>>m[i];
}
for( int i=0;i<n;i++)
{if ((m[i]>2)&&(m[i]<6))
cout<<"Vedomost dopushennih ";
cout <<" nomer "<<T[i] <<" ozenka " <<m[i];
cout<<endl;}
cout<<endl;
system("pause");
return 0;
}
Продолжение приложения Г
На рис. 3.3.3 приведена консоль программы к заданию 3.2а
Рис. 3.3.3- Консоль программы к заданию 3.2а
Приложение Д
(дополнительное)
Таблицы систем счисления
Таблица1-Восьмеричная система Таблица2-Шестнадцатеричная счисления система счисления
8-я |
2-я |
0 |
000 |
1 |
001 |
2 |
010 |
3 |
011 |
4 |
100 |
5 |
101 |
6 |
110 |
7 |
111 |
16-я |
2-я |
0 |
0000 |
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
A |
1010 |
B |
1011 |
C |
1100 |
D |
1101 |
E |
1110 |
F |
1111 |