- •Языки программирования
- •Санкт-Петербург
- •1. Общие положения по организации
- •2. Блок лабораторных работ №1 по теме «Представление управляющих структур программирования
- •2.1. TPlab1_1 «Структура ветвления с двойным
- •2.2. TPlab1_2 «Структура ветвления с множественным
- •2.3. TPlab1_3 «Структура повторения с
- •Int kol, //счетчик введенных оценок
- •2.4. TPlab1_4 «Структура повторения с предусловием
- •Int kol, //счетчик введенных оценок
- •2.5. TPlab1_5 «Структура повторения for»
- •Int god; //число лет
- •2.6. TPlab1_6 «Структура повторения с постусловием
- •Int kol, f, ocenka;
- •2.7. TPlab1_7 «Вложенные управляющие структуры»
- •3. Блок лабораторных работ №2 по темам
- •3.1. TPlab2_1 «Функции, определяемые программистом»
- •3.2. TPlab2_2 «Рекурсивные алгоритмы»
- •Int fact(int);
- •Int fact(int n)
- •3.3. TPlab2_3 «Массивы и функции»
- •Void vvod1(int n, char m1[][20]);
- •Void vvod2(int n, float m2[]);
- •Void vyvod(int n, char m1[][20], float m2[]);
- •3.4. TPlab2_4 «Типовые операции над массивами»
- •Void vvod();
- •Void vyvod();
- •4.2. TPlab3_2 «Создание файла прямого доступа»
- •Int nomer;
- •If(!outf)
- •4.3. TPlab3_3 «Запись в файл прямого доступа»
- •Int nomer;
- •If(!outf)
- •4.4. TPlab3_4 «Чтение из файла прямого доступа»
- •5. Индивидуальное задание по теме «Технология процедурного программирования»
- •Vyvod(outprintf, client);
- •Vyvod(cout, client);
- •Void dobzap(fstream &dobf)
- •Дополнительная литература:
Vyvod(outprintf, client);
Vyvod(cout, client);
}
readf.read((char *)&client, sizeof(tip_client));
}
}
Void dobzap(fstream &dobf)
{
int schet=vvod_nomer("Vvedite novyj nomer scheta: ");
dobf.seekg((schet-1)*sizeof(tip_client), ios::beg);
tip_client client;
dobf.read((char *) &client, sizeof(tip_client));
if(client.nomer==0)
{
cout<<"Vvedite familiju, imja, balance\n: ";
cin>>client.fam>>client.im>>client.balance;
client.nomer=schet;
dobf.seekp((schet-1)*sizeof(tip_client), ios::beg);
dobf.write((char *) &client, sizeof(tip_client));
}
else
cerr<<"Schet № "<<schet<<" imeetcja"<<endl;
}
void zamzap(fstream &zamf)
{
int schet=vvod_nomer("Vvedite nomer scheta zamenj: ");
zamf.seekg((schet-1)*sizeof(tip_client), ios::beg);
tip_client client;
zamf.read((char *) &client, sizeof(tip_client));
if(client.nomer!=0)
{
vyvod(cout, client);
cout<<"Vvedite rashod (+) ili doplatu (-): ";
float rasdop;
cin>>rasdop;
client.balance+=rasdop;
vyvod(cout, client);
zamf.seekp((schet-1)*sizeof(tip_client), ios::beg);
zamf.write((char *) &client, sizeof(tip_client));
}
else
cerr<<"Schet № "<<schet<<" ne imeet inf."<<endl;
}
void udzap(fstream &udf)
{
int schet=vvod_nomer("Vvedite nomer scheta udalenija: ");
udf.seekg((schet-1)*sizeof(tip_client), ios::beg);
tip_client client;
udf.read((char *) &client, sizeof(tip_client));
if(client.nomer!=0)
{
tip_client client0={0, "", "", 0.0};
udf.seekp((schet-1)*sizeof(tip_client), ios::beg);
udf.write((char *) &client0, sizeof(tip_client));
cout<<"Schet № "<<schet<<" udalen"<<endl;
}
else
cerr<<"Schet № "<<schet<<" pustoj"<<endl;
}
void vyvod(ostream &output, const tip_client &cl)
{
output<<setiosflags(ios::left)<<setw(10)
<<cl.nomer<<setw(16)<<cl.fam<<setw(11)
<<cl.im<<setw(10)<<setprecision(2)<<resetiosflags(ios::left)
<<setiosflags(ios::fixed | ios::showpoint)<<cl.balance<<endl;
}
int vvod_nomer(const char * const nom)
{
int schet;
do
{
cout<<nom<<" (1 - 100):";
cin>>schet;
}
while(schet<1 || schet>100);
return schet;
}
6. Рекомендуемая литература
Основная литература:
Павлов Ф.Ф. Технология программирования: Конспект лекций (спец.-230201).-ИзПК СПбГИЭУ, 2009
Павлов Ф.Ф. Технология программирования на Visual C++: Учеб. пособие. - СПб.: СПбГИЭУ, 2007.
Павлов Ф.Ф. Методы программирования в экономике: Учеб. пособие. - СПб.: СПбГИЭУ, 2004.
Технология программирования: Методические указания к выполнению лабораторного практикума на Visual C++ 2005 (напр. подг.-230200): Сост. Ф.Ф. Павлов.- ИзПК СПбГИЭУ, 2010.
Дополнительная литература:
Дейтел Х, Дейтел П. Как программировать на С++: Пер. с англ. –М.: ЗАО «Изд. БИНОМ», 2001.
Кораблев В. Самоучитель Visual C++ .NET. – СПб.: Питер; Киев: Изд. Группа BHV, 2004.
Павлов Ф.Ф. Высокоуровневые методы информатики и программирования: лабораторный практикум на Visual C++.NET 2003: СПб.: СПбГИЭУ, 2007.
Разработка приложений на Microsoft Visual C++ 6.0. Учебный курс: Официальное пособие Microsoft для самостоятельной подготовки/Пер. с англ. – М.: Издательско-торговый дом «Русская Редакция», 2000.
Савитч У. Язык С++. Курс объектно- ориентированного программирования, Пер. с англ.-М.: Изд. дом «Вильямс», 2001.
Хортон А. Visual C++ 2005: Пер. с англ. –М.:ООО “И.Д. Вильямс”. 2007.
7. Содержание
|
|
1. Общие положения по организации лабораторного практикума на Visual C++ |
3 |
2. Блок лабораторных работ №1 по теме «Представление управляющих структур программирования» |
4 |
2.1. TPlab1_1 «Структура ветвления с двойным выбором if/else» |
4 |
2.2. TPlab1_2 «Структура ветвления с множественным выбором switch» |
7 |
2.3. TPlab1_3 «Структура повторения с предусловием while, управляемая счетчиком» |
8 |
2.4. TPlab1_4 «Структура повторения с предусловием while, управляемая меткой» |
10 |
2.5. TPlab1_5 «Структура повторения for» |
11 |
2.6. TPlab1_6 «Структура повторения с постусловием do/while» |
13 |
2.7. TPlab1_7 «Вложенные управляющие структуры» |
14 |
3. Блок лабораторных работ №2 по темам «Структуры данных фиксированного размера» и «Функции (процедуры)» |
16 |
3.1. TPlab2_1 «Функции, определяемые программистом» |
16 |
3.2. TPlab2_2 «Рекурсивные алгоритмы» |
18 |
3.3. TPlab2_3 «Массивы и функции» |
19 |
3.4. TPlab2_4 «Типовые операции над массивами» |
22 |
4. Блок лабораторных работ №3 по теме «Обработка файлов данных» |
25 |
4.1. TPlab3_1 «Файл последовательного доступа» |
25 |
4.2. TPlab3_2 «Создание файла прямого доступа» |
28 |
4.3. TPlab3_3 «Запись в файл прямого доступа» |
29 |
4.4. TPlab3_4 «Чтение из файла прямого доступа» |
31 |
5. Индивидуальное задание по теме «Технология процедурного программирования» TPlab4_1 «Операции с базой данных» |
34 |
6. Рекомендуемая литература |
39 |