return;
}
main()
{
int k,k1,k2;
float a1[nmax],a2[nmax];
float a[nmaxr];
clrscr();
cout<<"Введите кол-во элементов 1-го массива:";
cin>>k1;
vvod(k1,a1);
sort(k1,a1);
cout<<"Введите кол-во элементов 2-го массива:";
cin>>k2;
vvod(k2,a2);
sort(k2,a2);
k=k1+k2;
slijanie(k1,a1,k2,a2,a);
vyvod(k,a);
getch();
}
1.3. Этапы разработки программ
Разработка программы задачи состоит из следующих этапов:
- проектирование структурной схемы программы;
- программировние функций верхнего уровня схемы;
- программирование функций нижнего уровня схемы.
Условие задачи.
Имеются данные о рабочих: фио, зарплата. Определить рабочих, у которых зарплата меньше величины, задаваемой по запросу.
Требования к программе: обработка массивов в ОП.
Пример практического занятия №3
Цель работы (этап 1): приобретение практических навыков по проектированию структурной схемы программы, программирова-нию функций верхнего уровня схемы программы (главной функции и функций меню).
Структурная схема программы и форма меню:
main
| 1 Ввод данных
menu 2 Вывод результатов
/ \ 0 Выход
vvod1 vyvod
vvod2
Предусмотреть программирование двух способов управления меню: по идентификатору опции и по выделенному цвету опции (в нашем примере - по идентификатору опции).
//файл заголовков lab2.hpp
#define zaglushka(st) gotoxy(2,23); cprintf("%*s",60," "); \
gotoxy(2,23); cprintf("%s",st); getch();
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
const int max_rab=100; //определение именной константы
const int col=25;
void vvod1(int n,char m1[][20]);//прототип функции
void vvod2(int n,float m2[]); //прототип функции
void vyvod(int n,char m1[][20],float m2[]);//прототип функции
char menu();
//файл кодов lab2_f1.cpp, функции main и menu
#include "lab2.hpp"
main()
{
char selector;
clrscr();
do
{
selector=menu();
}
while (selector!='0');
}
char menu()
{
char ch;
char fio[max_rab][20];
float zarp[max_rab];
int kol;
clrscr();
gotoxy(col,10);
cout<<" МЕНЮ";
gotoxy(col,12);
cout<<"1 Ввод данных";
gotoxy(col,14);
cout<<"2 Вывод результатов";
gotoxy(col,16);
cout<<"0 Выход";
gotoxy(col,20);
clreol();
cout<<"Ваш выбор:";
cin>>ch;
switch (ch)
{
case '1':clrscr();
cout<<"Введите количество рабочих:";
cin>>kol;
vvod1(kol,fio);
vvod2(kol,zarp);
break;
case '2':vyvod(kol,fio,zarp);
break;
case '0':break;
}
return(ch);
}
//файл кодов lab2_f2.cpp, функции vvod1,vvod2,vyvod с заглушками
#include “lab2.hpp”
void vvod1(int n,char m1[][20])
{ zaglushka("Вызвана функция vvod1, нажмите <Enter>"); }
void vvod2(int n,float m2[])
{ zaglushka("Вызвана функция vvod2, нажмите <Enter>"); }
void vyvod(int n,char m1[][20],float m2[])
{ zaglushka("Вызвана функция vyvod, нажмите <Enter>"); }
Пример практического занятия №4
Цель работы (этап 2): приобретение практических навыков по программированию функций нижнего уровня схемы программы (функций ввода, обработки, вывода).
//файлы lab2.hpp и lab2_f1.cpp без изменений
//файл кодов lab2_f2.cpp
#include "lab2.hpp" //вкл. файла заголовков
void vvod1(int n,char m1[][20])//определение функции, n-принимае-
{ //мый параметр,m1[]-возвращаемый
clrscr();
for (int i=0;i<n;i++)
{
cout<<"Фио раб.N%"<<i+1<<':';
cin>>m1[i];
}
return;
}
void vvod2(int n,float m2[])//определение функции,n-принимаемый
{ //параметр,m2[]-возвращаемый
clrscr();
for (int i=0;i<n;i++)
{
cout<<"Зарплата раб.N%"<<i+1<<':';
cin>>m2[i];
}
return;
}
void vyvod(int n,char m1[][20],float m2[])//определение функции,
{ //n,m1[],m2[] - принимаемые параметры
float min;
clrscr();
cout<<"Минимум:";
cin>>min;
gotoxy(25,3);
cout<<"Фио Зарплата";
int k=0;
for (int i=0;i<n;i++)
if (m2[i]<min)
{
k++;
gotoxy(15,k+4);
cout<<m1[i];
gotoxy(40,k+4);
cout<<setw(8)<<setprecision(2)<<m2[i];
if (k==10)
{
gotoxy(10,24);
cout<<"Нажмите <Enter>";
getch();
k=0;
clrscr();
gotoxy(25,3);
cout<<"Фио Зарплата";
}
}
gotoxy(10,24);
cout<<"Конец вывода,нажмите <Enter>";
getch();
}
Лабораторная работа №2
Выполнить последовательно два этапа разработки программы, используя пункты лабораторной работы №1.
Глава 2
ПРОЦЕДУРНОЕ ПРОГРАММИРОВАНИЕ
Метод процедурного программирования основан на модели построения программы как иерархии функций. Основными методами (приемами) процедурного программирования являются метод функциональной декомпозиции и метод модульной (файловой) организации.
Изучение метода построено на разработке программы мини-системы управления и содержит практические занятия №5,6 и лабораторные работы №3,4,5, соответствущие последовательности этапов разработки программ. Работа студента заключается в последовательном, согласно иерархии, программировании, отладке и выполнении функций пользовательского интерфейса, файловой обработки и управления базой данных мини-системы управления.
Пример задания
Разработать мини-систему управления картотекой служащих. Картотека содержит следующие реквизиты: табельный номер, фио, должность, оклад. Создать базу данных с индексной организацией.
2.1. Проектирование структуры программы и интерфейсов
функций. Программирование главной функции и функций меню.
Пример практического занятия №5
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.