Цель работы: приобрести практический опыт программирования динамических структур

СОДЕРЖАНИЕ

ЛАБОРАТОРНАЯ РАБОТА №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
Проектирование и реализация алгоритмов и структур данных

IT Собеседование: Алгоритмы


Похожие статьи.

Понравилась статья? Поделиться с друзьями: