Моделирование программы гипотетической машины

  • Вид работы:
    Отчет по практике
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,28 Мб
  • Опубликовано:
    2015-06-15
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Моделирование программы гипотетической машины

ВВЕДЕНИЕ

Практика - это деятельность <#"864785.files/image001.jpg">

Рисунок 1 - Результат нахождения пути

. Даны вещественные числа n,m,p. Найти квадрат максимального из трех чисел.

Листинг:main()

{n,m,p,s;("N,M,P \n");>>n;>>m;>>p;((n>m)&&(m>p)) s=n*n;((m>n)&&(m>p)) s=m*m;s=p*p;<<"Max,Kv = "<<s;

getch ();0 ;

}

Рисунок 2 - Результат нахождения максимального квадрата

. Проверить истинность высказывания: «Данные числа x,y являются координатами точки, лежащей в первой или третьей координатной четверти».

Листинг:main(int argc, char* argv[])

{x,y;<<"x = ";>>x;<<"y = ";>>y;((x > 0)&&(y > 0)) cout<<"X and Y v pervoi chetverti";if ((x < 0)&&(y < 0)) cout<<"X and Y v tret'ei chetverti";cout<<"X and Y gde-to v drugom meste";

getch ();0;

}

Рисунок 3 - Результат нахождения координат точки

. Проверить истинность высказывания: «Точка с координатами (x,y) лежит внутри прямоугольника, левая верхняя вершина которого имеет координаты (x1,y1)правая нижняя- (x2,y2), а стороны параллельны координатным осям».

Листинг:main(int argc, char* argv[])

{x,y,x1,y1,x2,y2;<<"Input koordinati x,x1,x2,y,y1,y2\n";>>x>>x1>>x2>>y>>y1>>y2;((x > x1) && (x < x2) && (y < y1) && (y > y2))::cout << "True.";std::cout << "False.";

getch ();0;

}

Рисунок 4 - Результат нахождения истинности высказывания

. Подсчитать количество цифр в десятичной записи целого неотрицательного числа.

Листинг:main(int argc, char* argv[])

{n,k;=0;<<"n= ";>>n;(k=1;n>9;n/10){+=k;}<<k;();

return 0;

}

Рисунок 5 - Результат нахождения количества цифр

. Напечатать в убывающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр.

Листинг:main()

{(int i = 999; i > 99; --i)

{(i / 100 != i % 10 && i / 100 != (i % 100)/10 &&  i % 10 != (i % 100)/10)::cout<<i<<" ";

}();0;

}

Рисунок 6 - Результат поиска всех трехзначных цифр

7. Дано 20 действительных чисел. Найти величину наибольшего среди отрицательных чисел этой последовательности.

Листинг:main()

{(time(0));a[20],n, i,sum=0,kol=0,y;<<"AutoComplete - 1, manual input 2 \n";>>y;(y)

{1:<<"\nMassiv A ";(i=0; i<20;i++) {[i] = rand()%15-7;<< a[i]<<" ";

};2:(i=0; i<20;i++)>> a[i];<<"\nMassiv A  ";(i=0; i<20;i++)<< a[i]<<" ";;:<<endl;("pause");(0);

}max=a[0];(int i=1;i<20;i++){(max>a[i])=a[i];

}<<"\n max= "<<max<<"\n";

system("pause");

}

Рисунок 7 - Результат нахождения величины наибольшего среди отрицательных

. Дана последовательность из 20 целых чисел. Определить со сколько отрицательных чисел она начинается.

Листинг:main()

{(time(0));a[20],n, i,sum=0,kol=0,y;<<"AutoComplete - 1, manual input 2 \n";>>y;(y)

{1:<<"\nMassiv A ";(i=0; i<20;i++) {[i] = rand()%15-7;<< a[i]<<" ";

};2:(i=0; i<20;i++)>> a[i];<<"\nMassiv A  ";(i=0; i<20;i++)<< a[i]<<" ";;:<<endl;("pause");(0);

}k=0;(int i=0;i<20;i++){(a[i]<0)=k++;

}<<"\n max= "<<k<<"\n";

system("pause");

}

Рисунок 8 - Результат нахождения количества отрицательных чисел

. Вводится последовательность из N целых чисел. Найти наибольшею по значению четную цифру в каждом числе последовательности (Функцией оформить определение суммы четных цифр числа).

Листинг:maxSgn(int numb)

{mxSgn=0; sgn;(numb>1)

{=numb%10;(sgn%2==0)

{(mxSgn<sgn) mxSgn=sgn;

}=numb/10;

}mxSgn;   

}main()

{int N=10;mas[N];<<"Input "<<N<<" numbers:\n";(int i=0;i<N;i++) cin>>mas[i];(int i=0;i<N;i++)

}();

}

Рисунок 9 - Результат нахождения наибольшего кратного

. Удалить из символьной строки все слоги «ма».

Листинг:namespace std;getlowerstring(const string &S)

{str=S;(int i=0;i<S.length();i++) str[i]=tolower(S[i]);str;

}main(){str;(1251);(1251);S;(cin,S);(getlowerstring(S).find("ma")!=S.npos)  S.erase(getlowerstring(S).find("ma"),2);

cout<<S<<"\n";();

}

Рисунок 10 - Результат удаления слогов «ма»

. В символьной строке удалить все знаки препинания.

Листинг:namespace std;getlowerstring(const string &S)

{str=S;(int i=0;i<S.length();i++) str[i]=tolower(S[i]);str;

}main(){str;(1251);(1251);S;(cin,S);(getlowerstring(S).find(",")!=S.npos)  S.erase(getlowerstring(S).find(","),2);

cout<<S<<"\n";();

}

Рисунок 11 - Результат удаления знаков препинания

12. Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход на члена семьи. Общежитие в первую очередь предоставляется тем, у кого доход на члена семьи меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очередности предоставления мест в общежитии.

Листинг:__fastcall TForm1::N2Click(TObject *Sender)

{(SaveDialog1->Execute())

{->Lines->SaveToFile(SaveDialog1->FileName);

}

}__fastcall TForm1::N3Click(TObject *Sender)

{(OpenDialog1->Execute())

{  Memo1->Lines->LoadFromFile(OpenDialog1->FileName);

}

}__fastcall TForm1::Button1Click(TObject *Sender)

{->Lines->Exchange(1,11);->Lines->Exchange(2,12);->Lines->Exchange(3,13);->Lines->Exchange(4,14);

}

 

Рисунок 12 - Список студентов

Рисунок 13 - Сортировка студентов по доходу

. Написать программу ввода графиков функций Y(x)и ее разложением в ряд S(x) для аргумента x, изменяющегося от a до b с шагом h ,с использованием компонента Chart и графика функции Y(x) с использованием компонента Image.

Листинг:__fastcall TForm1::Button3Click(TObject *Sender)

{x,y,k;=StrToFloat(Edit1->Text);=StrToFloat(Edit2->Text);->Clear();(x;x<=k;x=x+0.5)

{y=(1-(pow(x,2)/2)*cos(x)-(x/2)*sin(x));->AddXY(x,y);}->Refresh();->LeftAxis->Increment=(Chart1->LeftAxis->Maximum-Chart1->LeftAxis->Minimum)/5;

}__fastcall TForm1::Button1Click(TObject *Sender)

{->Picture->Bitmap->Width = Image1->Width;->Picture->Bitmap->Height = Image1->Height;x_min = 0;dx = 2 * M_PI * 10;y_min = 0;dy = 2;x = x_min;y =(1-(pow(x,2)/2)*cos(x)-(x/2)*sin(x));_y = Image1->Picture->Bitmap->Height - (y - y_min) / dy * Image1->Picture->Bitmap->Height;->Picture->Bitmap->Canvas->MoveTo(0, _y);(int i = 0; i < Image1->Picture->Bitmap->Width; i++)

{x = x_min + dx * i / Image1->Picture->Bitmap->Width;y = (1-(pow(x,2)/2)*cos(x)-(x/2)*sin(x));_y = Image1->Picture->Bitmap->Height - (y - y_min) / dy * Image1->Picture->Bitmap->Height;->Picture->Bitmap->Canvas->LineTo(i, _y);

}

}

Рисунок 14 - График

. Средствами  Builder C++ создать проект, содержащий формы для расчета валютных операций.

Главная форма содержит:

Название банка и Сегодняшнее число в виде меток,

Курс ММВБ в тенге за 1$ при помощи компонента для редактирования однострочного текста,

Кнопки (Покупка, Продажа, Выход)

На модальных формах Покупка и продажа разместить следующие данные: моделирование программа символьный число

Курс ММВБ      

Кол-во $ через компонент редактирования однострочного текста,

При активации формы вычислить курс обмена, учитывая, что банк продает $, делая наценку в 30% к курсу ММВБ, а покупает по курсу ниже на 30% , чем ММВБ. Нужные  для конкретной формы данные отобразить при помощи недоступного компонента редактирования однострочного текста. При нажатии кнопки Расчет произвести вычисление тенговой суммы, учитывая установленный курс обмена и заданное кол-во $. Данные отобразить в виде метки.

Закрытие формы производить при нажатии кнопки ОК. При запуске проекта активизировать главную форму, а остальные формы отображать только при нажатии соответствующей кнопки.

Листинг:__fastcall TForm1::Button1Click(TObject *Sender)

{->Hide();->Show();

}__fastcall TForm1::Button2Click(TObject *Sender)

{->Hide();->Show();

}__fastcall TForm1::Button3Click(TObject *Sender)

{->Close();

}__fastcall TForm2::Button1Click(TObject *Sender)

{b=127.4,d,r;=StrToFloat(Edit1->Text);=d*b;->Caption=FloatToStr(r);

}__fastcall TForm2::Button2Click(TObject *Sender)

{->Hide();->Show();

}__fastcall TForm3::Button1Click(TObject *Sender)

{b=236.6,d,r;=StrToFloat(Edit1->Text);=d*b;->Caption=FloatToStr(r);       

{->Hide();->Show();

}

Рисунок 15 - Главная форма Банк

Рисунок 16 - Покупка доллара

Рисунок 17 - Продажа доллара

. Разработать приложение по теме варианта. При выборе соответствующего пункта меню или пиктограммы на панели инструментов на экране отображается графическое изображение соответствующее тематике приложения. При наведение курсора отображается всплывающая подсказка. Разработать приложение «7 Чудес света».

Листинг:__fastcall TForm1::N6Click(TObject *Sender)

{->Image1->Picture->LoadFromFile(".\\Александрийский-маяк.bmp");

Form1->Image1->Hint="В 270 году до н.э. на острове Фарос при входе в порт Александрии воздвигли огромную башню высотой 120 метров. ";

}__fastcall TForm1::N7Click(TObject *Sender)

{->Image1->Picture->LoadFromFile(".\\pyramid-hufu.bmp");

Form1->Image1->Hint="Пирамида Хеопса, или Большая пирамида является единственным из 7 чудес света, сохранившихся до наших дней. Возраст сооружения - 4500 лет.";

}__fastcall TForm1::N4Click(TObject *Sender)

{->Image1->Picture->LoadFromFile(".\\kollos.bmp");

Form1->Image1->Hint="Гигантская статуя древнегреческого бога солнца Гелиоса была установлена у входа в Родосский порт в 292 - 280 гг. до н. э.";

}__fastcall TForm1::N1Click(TObject *Sender)

{->Image1->Picture->LoadFromFile(".\\sad.bmp");

Form1->Image1->Hint="Висячие сады Семирамиды (Около 600 г. до н.э.) - одно из Семи чудес света.";

}__fastcall TForm1::N2Click(TObject *Sender)

{->Image1->Picture->LoadFromFile(".\\mavzole.bmp");

Form1->Image1->Hint="Правитель Карии Мавсол ещё при жизни в 353 году до н.э. начал строительство собственной усыпальницы в Галикарнасе.";

}__fastcall TForm1::N3Click(TObject *Sender)

{->Image1->Picture->LoadFromFile(".\\hram.bmp");

Form1->Image1->Hint="Храм Артемиды был построен в 560 г. до н.э. царем Лидии Крезом в городе Эфесе на побережье Малой Азии.";

}__fastcall TForm1::N5Click(TObject *Sender)

{->Image1->Picture->LoadFromFile(".\\Statuya-Zevsa-v-Olimpi.bmp");

Form1->Image1->Hint="В 435 году до н. э. в Олимпии - был построен величественный храм в честь повелителя богов - Зевса.";

}

Рисунок 18 - 7 Чудес света

. Выбрать интересную вам предметную область. Осуществить поиск и вывод отчета на печать.

Листинг:__fastcall TForm1::Button1Click(TObject *Sender)

{->Locate(ComboBox1->Text,Edit1->Text,TLocateOptions()<< loCaseInsensitive);

}__fastcall TForm1::Button3Click(TObject *Sender)

{->Filtered=false;->Filter=Edit2->Text;->Filtered=true;

}__fastcall TForm1::Button2Click(TObject *Sender)

{->Hide();->Show();

}__fastcall TForm2::Button3Click(TObject *Sender)

{->Hide();->Show();

}__fastcall TForm2::Button1Click(TObject *Sender)

{->Preview();

}__fastcall TForm2::Button2Click(TObject *Sender)

{->Print();

}

Рисунок 19 - База данных «Кинофильмы»

Рисунок 20 - Отчет по кинофильмам

ЗАКЛЮЧЕНИЕ

С помощью языка С++ можно решать всевозможные задачи ставящиеся перед современным программистом: написание системных программ, разработка полноценных Windows-приложений, объектное моделирование. Благодаря тому, что язык С++ первоначально разрабатывался как язык системного программирования, то он предоставляет программисту широкие возможности для работы с аппаратурой. Но так как язык С++ подвергся полномасштабной обработки, то он обеспечивает пользователя широким набором средств для решения задач объектно-ориентированного программирования, благодаря этому язык С++ позволяет осуществить интеграцию принципов объектно-ориентированного программирования на аппаратный уровень.

Прохождение практики является важным элементом учебного процесса по подготовки специалиста в области программирования. Во время её прохождения будущий программист применяет полученные в процессе обучения знания, умения и навыки на практике. В ходе выполнения практики были выполненных задания от простого уровня сложности, задачи в одно действие, до сложных приложений содержащие Базы данных.

Широкий охват отраслей, с которыми пришлось сталкиваться на практике, позволили лучше усвоить изученный теоретический материал, полученных на занятиях в колледже.

Были освоены некоторые тонкости применения программного обеспечения на практике, понял, как работают некоторые программы, подпрограммы, которые мне были не понятны, осознал их значимость в практической деятельности.

Практическая деятельность помогла научиться самостоятельно решать определённый круг задач, возникающих в ходе работы программиста. В частности, научиться составлять некоторые виды программ.

Ещё раз был доказан факт, что на практике будет востребована основная часть знаний, полученных на занятиях. Так же большую помощь в решении поставленных задач оказала мировая сеть Интернет, в которой можно в настоящее время найти множество полезной информации в области программирования.

ЛИТЕРАТУРА

Березин Б. И., Начальный курс С и С++. - М.: Диалог - МРТИ, 1999;

Демидович Е. М., Основы алгоритмизации и программирования. Язык СИ, Бест­принт, 2001;

Керниган Б., Язык программирования СИ, М.: Финансы и статистика, 1992;

Страуструп Б., Язык программирования C++, 2-е изд - Киев ДиаСофт, 1993;

Павловская Т.А., Щупак Ю.А., C/C++. Структурное программирование: Практикум, Питер, 2003; 

Архангельский А. Я., Программирование в С++ Builder 6, М.: ЗАО “Издательство БИНОМ”, 2002;

Культин Н. Б., C++ Builder в задачах и примерах, ХВ-Петербург, 2005;

Шилд, Г. Программирование на Borland С++, Минск: ПОПУРРИ, 1999;

Эккель Б., Введение в стандартный C++, СПб: Питер, 2002;

Тимофеев, В. В. Программирование в среде С++ Builder 5. - М.: БИНОМ, 2000.


ПРИЛОЖЕНИЕ

- присваивает значение любой переменной. - позволяет вывести на экран значение любой переменной или текст.- выводит на экран монитора строку символов, число, значение переменной.- организовывает  вычислений в зависимости от какого-либо условия.- выполняет оператор повторно до тех пор, пока условное значение не станет false. - содержит в себе сразу несколько вещей: переменные, константы и функции для работы с переменными.- позволяет осуществить выбор среди нескольких фрагментов кода, в зависимости от значения целочисленного выражения.- выполняет  оператор или блок операторов, пока определенное выражение не примет значение false.() - возвращает очередной символ, считанный с консоли, но не выводит этот сим­вол на экран.(“pause”) - обеспечивает  передачу  строки  string командному процессору DOS, как если бы эта строка была набрана за терминалом. Текущая программа ожидает конца исполнения команды, а затем возобновляет работу.- используется как пространство имен.

Похожие работы на - Моделирование программы гипотетической машины

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!