
- •Про проходження навчальної практики після третього року навчання
- •Черкаси 2013
- •Постановка задачі та алгоритм вирішення 34
- •4.1.1. Постановка задачі та алгоритм вирішення. 41
- •Щоденник проходження навчальної практики
- •1.1. Програмування з використанням рядків, файлів
- •Постановка задачі та алгоритм вирішення.
- •Лістинг програми
- •Результати тестування програми
- •Пошук та сортування масивів
- •1.3.1. Постановка задачі та алгоритм вирішення
- •1.4 Об‘єктно-орієнтоване прорамування
- •Постановка задачі та алгоритм вирішення.
- •Лістинг програми
- •Результати тестування програми
- •Умови задач:
- •Лістинги програм
- •Результати тестування програм
- •Стандартна бібліотека шаблонів stl. Алгоритми та діопазони
- •Умови задач:
- •Лістинги програм
- •Результати тестування програм
- •Стандартна бібліотека шаблонів stl. Послідовні контейнери
- •Умови задач:
- •Лістинги програм
- •Стандартна бібліотека шаблонів stl. Адаптер контейнерів
- •Розробка баз даних
- •База даних в 1нф
- •База даних в 2нф
- •Лістинги Лістинги форм проекту ”Міський транспорт”
- •Опис візуальних форм і модуля в роботі
- •4.1. Лінійний обчислювальний процес
- •4.1.1. Постановка задачі та алгоритм вирішення.
- •4.1.2. Лістинг програми
- •4.1.3. Результати виконання програми
- •4.2 Реалізація алгоритмів розгалуження
- •4.2.1. Постановка задачі та алгоритм вирішення.
- •4.2.2. Лістинг програми
- •4.2.3. Результати виконання програми
- •4.3 Реалізація циклічних алгоритмів
- •4.3.1. Постановка задачі та алгоритм вирішення.
- •4.3.2. Лістинг програми
- •4.5.3. Результати виконання програми
- •4.6 Обробка двомірних динамічних масивів
- •4.6.1. Постановка задачі та алгоритм вирішення.
- •4.6.2. Лістинг програми
- •4.7.3. Результати виконання програми
- •4.8 Обробка структур з використанням файлів
- •4.8.1. Постановка задачі та алгоритм вирішення.
- •4.8.2. Лістинг програми
- •4.9.3. Результати виконання програми
- •Висновок
- •Список використаної літератури
1.1. Програмування з використанням рядків, файлів
Постановка задачі та алгоритм вирішення.
У всіх завданнях вихідні дані вводити за допомогою компонента TEdit в компонент TListBox або за допомогою властивості Text у властивість Items компонента TComboBox. Скалярний результат виводити c допомогою компонента TLabel. Введення рядка закінчувати натисканням клавіші Enter. Для виходу з програми використовувати кнопку Close. Для розрахунків вводити кілька різних рядків.
Умова задачі: Дано рядок, що складається з груп нулів та одиниць. Кожна група відокремлюється від іншої одним або декількома пропусками. Знайти кількість груп з п'ятьма символами.
Лістинг програми
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Form1->ComboBox1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (Key==13)
{
ComboBox1->Items->Add(ComboBox1->Text); // Строка из окна редактирования заносится в ComboBox1
ComboBox1->Text=""; // Очистка окна редактирования
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Click(TObject *Sender)
{
int n,i,nst;
nst=ComboBox1->ItemIndex; // Определение номера выбранной строки
String st=ComboBox1->Items->Strings[nst]; // Занесение выбранной строки в
// переменную st
if (st[1]!=' ') n=1; else n=0;
for(i=1;i<st.Length();i++) // Просмотр всех символов строки st
if(st[i]==' '&&st[i+1]!=' ') n++;
Form1->Label3->Caption=IntToStr(n); // Вывод числа слов в Label3
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
Результати тестування програми
Рис.1. Головна форма програми
Рис.2. Програма в роботі
ПРОГРАМУВАННЯ З ВИКОРИСТАННЯМ МЕХАНІЗМУ ОБРОБКИ ВИКЛЮЧНИХ СИТУАЦІЙ
-
-
Постановка задачі та алгоритм вирішення.
Створити додаток Windows, що використовує механізм обробки виняткових ситуацій, що дозволяє виконувати переклад дійсного числа з однієї системи числення в іншу. Для позначення використовувати цифри 0 ... 9 і букви латинського алфавіту (великі та малі).
Умова задачі: Переклад числа з четверичной системи числення у п'ятирічну..
Лістинг програми
#include <vcl.h>
#include<math.h>
#include<stdlib.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
double logaritm(int X, int Y)
{
double lgX, lgY, logXY;
lgX = log(X);
lgY = log(Y);
logXY = lgX/lgY;
return logXY;
}
//---------------------------------------------------------------------------
int dvoy(int X, int Y)
{
return 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a; // основание
int b; // число
b = StrToInt(Edit1->Text);
a = StrToInt(Edit2->Text);
if (ComboBox1->ItemIndex == 0)
{
Edit3->Text = logaritm(b, a);
Edit4->Text = log10(b);
}
if (ComboBox1->ItemIndex == 1)
{
ShowMessage("ERROR!!!");
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2Change(TObject *Sender)
{char *endptr;
int j=3;
AnsiString C,CComp="ABCDEFGabcdefg0123456789";
if (Edit2->Text!="")
{try
{ if (Edit1->Text!="") Edit3->Color=clFuchsia;
if((Edit2->Text[1]=='-')&&(Edit2->Text.Length()==1)) return;
C=Edit2->Text[Edit2->Text.Length()];
try
{j=j/CComp.AnsiPos(C);}
__except(EXCEPTION_EXECUTE_HANDLER)
{Application->MessageBox("Вы ввели недопустимый символ!",
"Ошибка",MB_OK);
throw EAssertionFailed("");}
value=strtol(Edit2->Text.c_str(),&endptr,17);
if((Edit2->Text.Length()>11)&&(value==MaxInt))
throw EIntOverflow("");
}
catch (EAssertionFailed &)
{if (Edit2->Text!='-') ShowMessage("Возможны лишь цифры от 0 до 9 "+ );
Edit2->Text=Edit2->Text.Delete(Edit2->Text.Length(),1);
Edit2->SelStart=Edit2->Text.Length();
}
catch (EIntOverflow &)
{ShowMessage("Слишком большое число!");
Edit2->Text=Edit2->Text.Delete(Edit2->Text.Length(),1);
Edit2->SelStart=Edit2->Text.Length();}
catch (...)
}