- •Языки программирования
- •Санкт-Петербург
- •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)
- •Дополнительная литература:
3.3. TPlab2_3 «Массивы и функции»
Цель работы – изучение массивов в качестве параметров функций.
Условие задачи: ввести данные о рабочих: фамилия и зарплата; определить рабочих, у которых зарплата меньше прожиточного минимума.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_3.
Создается исходный файл TPlab2_3.cpp, который будет содержать всего одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab2_3.h, файл кодов TPlab2_3.cpp и файл кодов TPlab2_3f.cpp.
Создать файл TPlab2_3.h, ввести текст файла и сохранить его:
//файл заголовков TPlab2_3.h
#include <iostream>
using std::cin;
using std::cout;
#include <iomanip>
using std::setw;
using std::setprecision;
const int max_rab=100;
Void vvod1(int n, char m1[][20]);
Void vvod2(int n, float m2[]);
Void vyvod(int n, char m1[][20], float m2[]);
char menu();
Добавить в файл кодов TPlab2_3.cpp тексты функций main() и menu():
//файл кодов TPlab2_3.cpp
#include "stdafx.h"
#include "TPlab2_3.h"
int _tmain(int argc, _TCHAR* argv[])
{
char selector;
do
{
selector=menu();
}
while(selector!='0');
return 0;
}
char menu()
{
char ch;
static char fio[max_rab][20];
static float zarp[max_rab];
static int kol;
cout<<'\t'<<"MENU\n\n";
cout<<'\t'<<"1 Vvod dannyx\n\n";
cout<<'\t'<<"2 Vyvod rezultatov\n\n";
cout<<'\t'<<"0 Vyxod\n\n";
cout<<'\t'<<"Vash vybor: ";
cin>>ch;
switch(ch)
{
case '1': cout<<"Vvedite kolichestvo rabochix:";
cin>>kol;
vvod1(kol, fio);
vvod2(kol, zarp);
break;
case '2': vyvod(kol, fio, zarp);
break;
case '0': break;
}
return (ch);
}
Аналогично создать файл кодов TPlab2_3f.cpp. Необходимо выбрать вкладку типа файл C/C++Source File.
//файл кодов TPlab2_3f.cpp
#include "stdafx.h"
#include "lab2_3.h";
void vvod1(int n, char m1[][20])
{
for(int i=0; i<n; i++)
{
cout<<"Fio rabochego "<<i+1<<':';
cin>>m1[i];
}
return;
}
void vvod2(int n, float m2[])
{
for(int i=0; i<n; i++)
{
cout<<"Zarplata rabochego "<<i+1<<':';
cin>>m2[i];
}
return;
}
void vyvod(int n, char m1[][20], float m2[])
{
float min;
int ch;
cout<<"Minimum:";
cin>>min;
cout<<"\tFio\tZarplata\n\n";
for(int i=0;i<n;i++)
if (m2[i]<min)
{
cout<<'\t'<<m1[i];
cout<<'\t'<<setw(8)<<setprecision(2)<<m2[i]<<'\n';
}
cout<<"Konec vyvoda";
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab2_3. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
3.4. TPlab2_4 «Типовые операции над массивами»
Цель работы - изучение типовых операций над массивами: ввод, вывод, сортировка, слияние, поиск и т.д..
Условие задачи: ввести два массива, отсортировать их, и затем произвести их слияние.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab2_4.
Создается исходный файл TPlab2_4.cpp, который будет содержать всего одну пустую функцию main():
int _tmain(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab2_4.h и файл кодов TPlab2_4.cpp.
Создать файл TPlab1_2.h, ввести текст файла и сохранить его:
//файл заголовков TPlab2_4.h
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
const int nmax=100;
const int nmaxr=200;
void vvod(int n, float m[]);
void sort(int n, float m[]);
void slijanie(int n1, float m1[], int n2, float m2[], float m[]);
void vyvod(int n, float m[]);
Добавить в файл кодов TPlab2_4.cpp тексты функций:
//файл кодов TPlab2_4.cpp
#include "stdafx.h"
#include "TPlab2_4.h"
int _tmain(int argc, _TCHAR* argv[])
{
int k, k1, k2;
float a1[nmax], a2[nmax], a[nmaxr];
cout<<"Vvedite chislo elementov massiva 1: ";
cin>>k1;
vvod(k1, a1);
sort(k1, a1);
cout<<"Vvedite chislo elementov massiva 2: ";
cin>>k2;
vvod(k2, a2);
sort(k2, a2);
k=k1+k2;
slijanie(k1, a1, k2, a2, a);
vyvod(k, a);
return 0;
}
void vvod(int n, float m[])
{
for(int i=0; i<n; i++)
{
cout<<"Vvedite element "<<i+1<<": ";
cin>>m[i];
}
return;
}
void sort(int n, float m[])
{
int i=0;
int perest=1;
while(i<=n-1 && perest)
{
perest=0;
for(int j=n-1; j>0; j--)
if(m[j-1]>m[j])
{
perest=1;
float b=m[j-1];
m[j-1]=m[j];
m[j]=b;
}
i++;
}
return;
}
void slijanie(int n1,float m1[],int n2,float m2[],float m[])
{
int i, i1, i2;
i=i1=i2=0;
while(i1<n1 && i2<n2)
if(m1[i1]<m2[i2])
{
m[i]=m1[i1];
i++;
i1++;
}
else
{
m[i]=m2[i2];
i++;
i2++;
}
if(i1==n1)
{
for(int k=i2; k<n2; k++)
{
m[i]=m2[k];
i++;
}
}
else
{
for(int k=i1; k<n1; k++)
{
m[i]=m1[k];
i++;
}
}
return;
}
void vyvod(int n, float m[])
{
cout<<"Resultat: "<<endl;
for(int i=0; i<n; i++)
cout<<m[i]<<" ";
return;
}
Компиляция, запуск и тестирование приложения
Выбрать команду Build->Build TPlab2_4. Выполняется компиляция и компоновка программы. Выбрать команду Debug ® Start Without Debugging - запуск на выполнении программы.
4. Блок лабораторных работ №3 по теме
«Обработка файлов данных»
4.1. TPlab3_1 «Файл последовательного доступа»
Цель работы – создание файла последовательного доступа, запись в файл и чтение данных из файла.
Условие задачи: ввести данные о рабочих (фамилия, зарплата) и записать в файл; читать данные из файла и определить рабочих, у которых зарплата меньше прожиточного минимума.
Создание проекта консольного приложения
Выполнить этапы согласно п. 2.1 и ввести имя проекта TPlab3_1.
Создается исходный файл TPlab3_1.cpp, который будет содержать всего одну пустую функцию main():
int t_main(int args, _TCHAR* argv[])
{return 0;}.
Создание и добавление исходных файлов в проект
Проект должен содержать файл заголовков TPlab3_1.h и файл кодов TPlab3_1.cpp.
Создать файл TPlab3_1.h, ввести текст файла и сохранить его:
//файл заголовков TPlab3_1.h
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <iomanip>
using std::setw;
using std::setprecision;
#include <fstream>
using std::ofstream;
using std::ifstream;
using std::ios;
struct trab
{
char tabn[6];
char fio[20];
float zarp;
};