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




СОДЕРЖАНИЕ

 

ЛАБОРАТОРНАЯ РАБОТА №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 <stdio.h>

int main(){

int i;

printf("Введите целое число\n");

scanf("%d", &i);

printf("Вы ввели число %d, спасибо!", i);

}

 

Пример 2

Вывести на экран:

a=5, b=6, c=9

 

Код программы:

 

#include <stdio.h>

#include <conio.h>

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 <stdio.h>

#include <conio.h>

#include <string.h>

#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<n;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<n;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
Проектирование и реализация алгоритмов и структур данных

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: