СОДЕРЖАНИЕ
ЛАБОРАТОРНАЯ РАБОТА №1 Стиль программирования. 3
ЛАБОРАТОРНАЯ РАБОТА №2 Алгоритмы и структуры данных. 6
ЛАБОРАТОРНАЯ РАБОТА №3 Проектирование и реализация алгоритмов и структур данных. 9
ЛАБОРАТОРНАЯ РАБОТА №4 Интерфейсы программных продуктов 13
ЛАБОРАТОРНАЯ РАБОТА №5 Отладка программных продуктов. 18
ЛАБОРАТОРНАЯ РАБОТА №6 Тестирование программных продуктов 23
ЛАБОРАТОРНАЯ РАБОТА №7 Быстродействие программных продуктов 27
ЛАБОРАТОРНАЯ РАБОТА №1
Стиль программирования
Цель работы: Изучение стандартной библиотеки функций языка C++, приобретение навыков ввода и вывода информации, а так же выполнение простейших операций на языке C++.
Теоретические сведения
Алфавит C++ включает:
— прописные и строчные латинские буквы и знак подчеркивания;
— арабские цифры от 0 до 9;
— специальные знаки: {, %, # и т.д.;
— пробельные символы: пробел, символы табуляции, символы перехода на новую строку.
Схема подготовки исполняемого кода программы (exe -файла) представлена на рисунке 1.
Рисунок 1 — Схема подготовки исполняемого кода программы
Основная цель любой программы состоит в обработке данных. Данные различного типа хранятся и обрабатываются по-разному. В любом алгоритмическом языке каждая константа, переменная, результат вычисления выражения или функции должны иметь определенный тип.
Тип данных определяет:
— внутреннее представление данных в памяти компьютера;
— множество значений, которые могут принимать величины этого типа;
— операции и функции, которые можно применять к величинам этого типа.
Исходя из этих характеристик, программист выбирает тип каждой величины, используемой в программе для представления реальных объектов. Обязательное описание типа позволяет компилятору производить проверку допустимости различных конструкций программы. От выбора типа величины зависит последовательность машинных команд, построенная компилятором.
Все типы языка С++ можно разделить на простые (скалярные), составные (агрегатные) и функциональные. Простые типы могут быть стандартными и определенными программистом.
В языке C++ определено шесть стандартных простых типов данных для представления целых, вещественных, символьных и логических величин. На основе этих типов, а также массивов и указателей (указатель не является самостоятельным типом, он всегда связан с каким-либо другим конкретным типом), программист может вводить описание собственных простых или структурированных типов. К структурированным типам относятся перечисления, функции, структуры, объединения и классы.
Программа на языке C++ состоит из функций, описаний и директив. Одна из функций должна иметь имя main.
Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат:
тип_возвращаемого_значения имя ( [ параметры ] )
{операторы, составляющие тело функции}
Как правило, функция используется для вычисления какого-либо значения, поэтому перед именем функции указывается его тип. О функциях рассказывается в разделе «Функции». В данном пункте приведенылишь самые необходимые сведения:
1 Если функция не должна возвращать значение, указывается тип void.
2 Тело функции заключается в фигурные скобки.
3 Функции не могут быть вложенными.
4 Каждый оператор заканчивается точкой с запятой (кроме составного оператора).
5 Программа может состоять из нескольких модулей (исходных файлов) и, как правило, содержит директивы препроцессора.
Практическая часть
Пример 1
#include
int main(){
int i;
printf(Введите целое число\n);
scanf(%d, i);
printf(Вы ввели число %d, спасибо!, i);
}
Пример 2
Вывести на экран:
a=5, b=6, c=9
Код программы:
#include
#include
void main(){
int a, b, c;
// Объявление переменных
a=5;
b=6;
c=9;
printf(a=%d, b=%d, c=%d,a,b,c);
_geеtch();
}
Задания для самостоятельного выполнения
1 Написать программу, выводящую цифры от 1 до 10 с использованием цикла for;
2 Написать программу, определяющую четное или нечетное число было введено, и сообщающую об этом;
3 Построить их блок-схемы.
4 Контрольные вопросы
1 Какие типы данных используются в Си?
2 Каким образом определяется прототип функции?
3 Как вызвать функцию в теле программы?
Содержание отчета
1 Тема и цель работы
2 Выполненные задания 1-3
3 Вывод о проделанной работе
ЛАБОРАТОРНАЯ РАБОТА №2
Алгоритмы и структуры данных
Цель работы: приобрести практический опыт программирования динамических структур
Теоретические сведения
Структура – это фиксированное число элементов одного или нескольких типов. Т.е. в отличие от массивов, в которых содержатся элементы одного типа, в структурах могут содержаться элементы как одного, так и разных типов. Элементами структуры могут быть базовые типы, массивы, указатели, структуры и т.д. Элементы структуры вместе с их описанием называются полями. Над полями можно выполнять действия, допустимые для данных этого типа.
Все структуры должны быть описаны до использования. Все идентификаторы полей в структуре должны быть различными.
Например, структуру Воок можно описать следующим образом:
struct card {char аuthor [15]; char title[20]; int year ; float cena;} Book;
или struct card { char аuthor [15]; char title[20]; int year ; float cena;};
stuct card Book;
Тип структуры (например, card) вводит только шаблон и с его именем не связан никакой конкретный объект. Объект (например, структура Book) должен быть также объявлен. Обращение к полю структуры выполняется с помощью составного имени, которое состоит из имени_структуры . имени_поля. Например, присвоить значения элементам записи Author и Title можно так: Book.author= “Довгаль С.И.”; Book.title=”Турбо Паскаль V 7.0”;
Ввод цены книги с клавиатуры : scanf (“%f”, Book.cena);
Можно создавать массив структур: Struct card bibl[100];
Обращение к полю элемента массива: bibl[i].title;
Практитческая часть
Дана информация о 10 товарах: название, цена, количество. Вычислить общую стоимость товара, название которого вводится с клавиатуры.
//lab7_1
#include
#include
#include
#define n 10
main()
{
int i,k; float sum; //k-количество искомых товаров, sum- их общая стоимость.
struct tov {char name[10]; float c; int kol;} t; //Объявление структуры t
struct tov mag[n]; //объявление массива структур mag[n]
char nazv[10]; //Наименование искомого товара
clrscr();
printf(“\n Введите информацию о товарах \n“);
for (i=0;i
{ printf(\n наименование , цена, количество : );
scanf(%s%f%d,t.name,t.c,t.kol);//Заполнение информацией структуры t
mag[i]=t; //Присвоение i-му элементу массива структуры t целиком
}
printf(\n введите искомый товар: );
scanf(%s,nazv);
for (i=0,sum=0,k=0;i
if (strcmp(mag[i].name,nazv)==0)
{ sum+=mag[i].c*mag[i].kol;
k++;
}
printf(Товаров %s %d, их стоимость %5.2f ,nazv,k,sum);
getch();
}
Выполнение работы
В соответствии с вариантом написать и выполнить программу.
Варианты заданий
1 Дана информация о пяти студентах. Запись имеет вид: фамилия, год рождения, факультет. Вывести данные о студентах по факультетам.
2 Дана информация о пяти школах. Запись имеет вид: номер школы, год, количество выпускников, число поступивших в ВУЗы. Вывести данные об общем количестве выпускников и доле поступивших в ВУЗ.
3 Дана информация о пяти комнатах в общежитии. Запись имеет вид: фамилии, номер комнаты, факультет, площадь. Вывести данные о комнатах по факультетам, а также количество комнат на факультетах.
4 Дана информация о пяти рабочих цеха. Запись имеет вид: фамилия, размер зарплаты, стаж работы. Вывести данные о рабочем с наибольшей зарплатой и наименьшим стажем.
5 Дана информация о четырех вузах. Запись имеет вид: название вуза, число студентов, количество факультетов, количество кафедр. Вывести данные об общем числе студентов, факультетов и кафедр.
6 Дана информация о шести вкладчиках в сберкассы. Запись имеет вид: фамилия, район, социальное положение, величина вклада. Вывести данные о том, сколько среди вкладчиков служащих, рабочих и колхозников.
7 Дана информация о пяти больных. Запись имеет вид: фамилия, возраст, пол, давление. Вывести данные о больных с повышенным давлением (больше 140) .
8 Дана информация о пяти квартирах. Запись имеет вид: фамилия владельца, площадь, число комнат, этаж. Вывести данные о квартирах с площадью меньше 30 кв.м и подсчитать их количество.
9 Дана информация о шести студентах. Запись имеет вид: фамилия, год рождения, место рождения, факультет. Вывести данные о старших по возрасту студентах, предполагая что год рождения может быть одинаков.
10 Дана информация о пяти школах. Запись имеет вид: номер школы, год, количество выпускников, число поступивших в ВУЗы. Вывести данные о школе с самым большим отношением числа поступивших к числу выпускников.
11 Дана информация о пяти комнатах в общежитии. Запись имеет вид: фамилии, номер комнаты, факультет, площадь. Вывести данные о комнате, в которой наименьшая площадь.
12 Дана информация о пяти квартирах. Запись имеет вид: фамилия владельца, площадь, число комнат, этаж. Вывести данные о квартирах с самой большой площадью и самой маленькой.
4 Контрольные вопросы
1 Какие типы данных относятся к простым, какие к составным?
2 Как объявляются структуры и чем отличается структура от массива?
3 Как обращаться к полям структуры?
4 Какие операции допустимы над структурой в целом?
Содержание отчета
1 Тема и цель работы
2 Выполненное индивидуальное задание
3 Вывод о проделанной работе
ЛАБОРАТОРНАЯ РАБОТА №3
Проектирование и реализация алгоритмов и структур данных