
- •Технологии программирования. Лабораторный практикум Составитель: т.В. Лаврухина
- •230100 – Информатика и вычислительная техника
- •Введение
- •Имеется треугольник Паскаля
- •7. Найдите натуральное наименьшее решение уравнения
- •Лабораторная работа № 4. Программирование алгоритмов сортировки
- •Блок – схема программы представлена на рис. 9. Листинг программы
- •Задания к лабораторной работе
- •Typedef struct tree // обьявление типа "Элемент дерева"
- •Tree *add(Tree *root, char newKey[256], float newData) // добавление в дерево
- •Void search(Tree *root, char stringStart[256], char stringEnd[256]) // поиск
- •230100 – Информатика и вычислительная техника
Задания к лабораторной работе
-
№ п/п
Формат ключа
Вид поиска:
1 - по совпадению
2 – по интервалу
3 – по выражению
Формат неключевых полей записи
Метод поиска
1
int
1
char[], float
1
2
int, float[]
2
char[]
2
3
int[]
1
int, int[]
3
4
char[]
1
float
4
5
float[]
2
int, char[]
5
6
char[]
3
int, char
6
7
int, char, float, char[]
1
-
7
8
int[], float, char
2
-
8
9
float
3
int[], char[]
1
10
float[]
1
int, char[]
2
11
char[]
1
int
3
12
char[]
3
int
4
13
int
1
char
5
14
int[]
2
int, float
6
15
float[]
3
float
7
16
char[], char[]
1
-
8
17
char[]
2
float
1
18
char[]
3
int[]
2
19
int[]
2
int, char
3
20
float
2, 3
char[][]
4
Содержание отчета
Титульный лист.
Задание кафедры, соответствующее варианту.
Цель работы.
Краткие теоретические сведения.
Формализованный алгоритм.
Листинг программы.
Контрольный пример.
Выводы по работе.
Пример выполнения работы
Написать программу, реализующую один из алгоритмов программного поиска данных в информационном массиве, расположенном в оперативной памяти. Формат ключа char[], вид поиска – по интервалу, формат неключевых полей записи float, метод поиска – по двоичному дереву.
Блок-схема программы представлена на рисунке 10.
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
int compareStrings(char* string1, char* string2) // Функция для сравнения двух строк, 1 если 1
строка > 2, 0 если равны, -1 в обратном случае
{
int minLength;
if (strlen(string1) >= strlen(string2)) minLength = strlen(string2);
else minLength = strlen(string1);
for (int i = 0; i < minLength; i++)
{
if (string1[i] > string2[i]) return 1;
if (string1[i] < string2[i]) return -1;
}
if (strlen(string1) == strlen(string2)) return 0;
if (strlen(string1) > strlen(string2)) return 1;
return -1;
}