Исследование статических структур данных
Статические структуры в языках программирования. Написание программы обработки массивов и текстов. Характерная логическая особенность таблиц, которая определяет их отдельное рассмотрение. Представление программных моделей объектов предметной области.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 23.11.2020 |
Размер файла | 819,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство по развитию информационных технологий и коммуникаций Республики Узбекистан.
Ташкентский Университет Информационных Технологий Имени
Мухаммада аль - Хоразмий
Лабораторная работа
ТЕМА: ИССЛЕДОВАНИЕ СТАТИЧЕСКИХ СТРУКТУР ДАННЫХ
Выполнил:
Мирхосилов Мурод
Ташкент 2020.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Статические структуры представляют собой структурированное множество примитивных, базовых, структур. Поскольку статические структуры отличаются отсутствием изменчивости, память для них выделяется автоматически - как правило, на этапе компиляции или при выполнении - в момент активизации того программного блока, в котором они описаны.
Со статическими структурами связано понятие фундаментальных (стандартных) типов данных языка программирования и понятие переменная. На основе, которых строят структурированные типы данных. Для хранения данных в программе используются идентификаторы для переменных, в которых будут храниться данные какого-либо предопределенного типа.
К стандартным относят 5 типов:
1. Пустой (VOID)
Тип данных, предусматривающий действие, которое не влияет на ячейки памяти, то есть не используют их. Обычно такой тип данных используется в подпрограммах, модулях и библиотеках.
2. Числовые типы: Целый и Вещественный.
Целый тип включает некоторое подмножество целых, размер которого варьируется от машины к машине.
Числа делятся на знаковые и беззнаковые. Для каждого из них имеется свой диапазон значений:
a)(0..2n-1) для беззнаковых чисел
1..n |
|
Целое число |
b) (-2n-1.. 2n-1-1) для знаковых.
1 |
2..n |
|
Знак |
Целое число |
Где, n- число битов памяти выделяемых для хранения данных.
Размещено на http://www.allbest.ru/
Для переменных объявленных одним из этих трех зарезервированных слов соответственно будет выделяться 2 байта (short), 8 байт (long) (если операционная система 64 разрядная), 4 байта (int).
Например, при объявлении int A,B,C; В оперативной памяти будет выделено 12 байтов.
Вещественные типы образуют ряд подмножеств вещественных чисел, которые представлены в машинных форматах с плавающей точкой. Числа в формате с плавающей точкой характеризуются целочисленными значениями мантиссы и порядка, которые определяют диапазон изменения и количество верных знаков в представлении чисел вещественного типа. X = +/- M * q(+/-P)
язык программирование таблица текст
1 |
2..m-1 |
m |
m+1..n |
|
Знак мантиссы |
Мантисса |
Знак порядка |
Порядок |
Порядок для до 32 битных вещественных чисел равен пяти битам и один бит для знака, а выше 32 - семи битам.
Размещено на http://www.allbest.ru/
Для переменных float выделяется память в четыре байта, double - восемь байтов, а long double 12 байтов.
3. Логический;
Значениями логического типа может быть одна из предварительно объявленных констант false (ложь) или true (истина). Данные логического типа занимают один байт памяти. При этом значению false соответствует нулевое значение байта, а значению true соответствует любое ненулевое значение байта.
Размещено на http://www.allbest.ru/
4. Символьный;
Значением символьного типа являются символы из некоторого предопределенного множества. В большинстве современных персональных компьютерах этим множеством является ASCII (American Standard Code for Information Intechange - американский стандартный код для обмена информацией). Значение символьного типа занимает в памяти 1 байт. Код от 0 до 255 в этом байте задает один из 256 возможных символов ASCII таблицы. ASCII, однако, не является единственно возможным множеством. Другим достаточно широко используемым множеством является код EBCDIC (Extended Binary Coded Decimal Interchange Code - расширенный двоично-кодированный десятичный код обмена).
Символьные данные задаются в одинарных кавычках (апострофах) ` ' или целым числом (кодом символа)
Например: char C1 = `A', C2 = 65;
Две переменные содержат одну и ту же информацию, то есть прописную латинскую букву А.
5. Указательный.
Указатель это переменная, хранящая уникальный номер ячейки памяти. Указатель определяет некоторое место в оперативной памяти, в котором может находиться какая либо переменная.
Указатель обычно является типизированным и объявляется следующим способом:
<имя типа> * <имя указателя> = <начальное значение>;
К пользовательским относят 4 типа:
1. перечисляемый (ENUM);
2. диапазонный(битовый) (INTERVAL)
3. приведенный (TYPEDEF)
4. препроцессоры (DEFINE)
Статические структуры в языках программирования связаны со структурированными типами данных. Структурированные типы в языках программирования являются теми средствами интеграции, которые позволяют строить структуры данных сколь угодно большой сложности.
К таким типам относятся:
· Массивы
· Записи
· Таблицы
· Объекты
Массив - такая структура данных, которая характеризуется:
o фиксированным набором элементов одного и того же типа;
o каждый элемент имеет уникальный набор значений индексов;
o количество индексов определяют мерность массива. Например, один индекс - одномерный массив (вектор), два индекса - двумерный массив (матрица), три индекса - трехмерный массив (куб, пространство);
o обращение к элементу массива выполняется по имени массива и значениям индексов для данного элемента.
Пример: int a[]={2, 3, 4, 5} или int a[4];
Запись - конечное упорядоченное множество полей, характеризующихся различным типом данных. Записи являются удобным средством для представления программных моделей реальных объектов предметной области, ибо, как правило, каждый такой объект обладает набором свойств, характеризуемых данными различных типов.
struct BirthDay
{
int day;
int month;
long year;
} a,b;
Полем записи может быть в свою очередь интегрированная структура данных - вектор, массив или другая запись. Полем записи может быть другая запись, но ни в коем случае не такая же.
Важнейшей операцией для записи является операция доступа к выбранному полю записи - операция квалификации. Практически во всех языках программирования обозначение этой операции имеет вид:
<имя переменной-записи>.<имя поля>
a.day = 18;
a.month = 06;
a.year = 1982;
Таблица представляет собой вектор, элементами которого являются записи, то есть упорядоченный набор полей данных разного содержимого (типа). Характерной логической особенностью таблиц, которая определяет их отдельное рассмотрение, является то, что доступ к элементам таблицы производится не по номеру (индексу), а по ключу - по значению одного из свойств объекта, описываемого элементом таблицы.
При задании таблицы указывается количество содержащихся в ней записей
Struct Book
{ char Author[25];
char Name[25];
int pages;
int year;
char Izd[15];
};
Book LibraryA[250];
Объект - это совокупность абстрактных типов данных, то есть набор полей характеризующих свойства объекта и методов характеризующие события объекта.
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ
Задание 1. Написать программу обработки массивов
4) Найти все элементы, модуль которых больше 20 и меньше 50, с помощью линейного поиска.
Задание 2. Написать программу обработки текстов
4) Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв.
Задание 1. Написать программу обработки массивов
4) Найти все элементы, модуль которых больше 20 и меньше 50, с помощью линейного поиска.
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <iomanip>
using namespace std;
int main(){
srand(time(0));
int num, x=0;
cout<<"Find all numbers that supported all rules";
cout<<"\n greater than 20 and less than 50: "<<endl;
cout<<"\n Enter the number of items: "<<endl;
cin>>num; cout<<endl;
int arr[num-1];
for(int i=0; i<num; i++){
arr[i] = rand()%100;
}
for(int i=0; i<num; i++)
cout<<arr[i]<<" ";
for(int i=0; i<num; i++)
if(arr[i]>20 && arr[i]<50){
x = x + 1;
}
cout<<endl<<"\n All matching elements are "<<x;
return 0;
}
Задание 2. Написать программу обработки текстов
4) Дана строка. Подсчитать количество содержащихся в ней прописных латинских букв.
#include <iostream>
#include <string>
using namespace std;
int main(){
int sum=0;
string str;
cout<<"Please, enter the text in latin letters."<<endl;
while(str.size()==0){
getline(cin, str);
}
for(int i=0; i<str.size(); i++){
if (isupper(str[i])==true){
sum=sum+1;}
}
cout<<endl<<endl<<"The amount of capital letters:"<<sum;
return 0;
}
Размещено на Allbest.ru
...Подобные документы
Структура – это объединение одного либо более объектов (переменных, массивов, указателей, других структур). Понятие структурной переменной. Создание массивов структур. Использование вложенных структур в виде элементов массивов person, date, pibm.
лабораторная работа [17,6 K], добавлен 15.07.2010Изучение условий поставленной задачи и используемых данных для разработки программы хранения информации о рейсах поезда. Описание разработанных функций, листинга, блок-схем алгоритмов и дерева функции. Рассмотрение сценария диалога данной программы.
курсовая работа [532,7 K], добавлен 20.07.2014Разработка программы, которая выполняет удаление элементов внешних таблиц, а также очистку файлов, вывод таблиц на экран. Описание программного продукта. Выбор языка программирования. Схема информационных потоков. Комплект поставки и инсталляция.
курсовая работа [180,0 K], добавлен 09.03.2009Разработка базы данных "Доставка товара" в среде MS Access, ее структуры, объектов (таблиц, запросов, форм, отчетов, макросов). Анализ предметной области базы данных, описание ее схемы, полей таблиц, разработанных объектов. Требования к работе приложения.
контрольная работа [2,6 M], добавлен 07.08.2013Способы ограждения пользователей от деталей фактического устройства данных. Список описателей переменных, указателей или массивов. Статические или динамические структуры данных. Доступ к различным элементам данных. Добавление и удаление элементов.
презентация [57,8 K], добавлен 14.10.2013Информационно-логическая модель предметной области по нотациям Ричарда Баркера. Даталогическая модель реляционной базы данных в виде диаграммы схемы отношений. Приложение интерфейса для базы данных на языке программирования С# в среде Visual Studio.
курсовая работа [3,6 M], добавлен 23.12.2014Понятия банка и базы данных, ее компоненты. Многоуровневые модели предметной области, их представление в базе данных. Идентификация объектов и записей. Способы обращения к записям или отдельным элементам данных, их поиск. Определение структуры данных.
контрольная работа [39,6 K], добавлен 10.04.2010Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.
курсовая работа [711,4 K], добавлен 27.07.2014Типология свойств объекта, его связей и моделей представления информации. Изображение предметной области в виде логических и физических моделей. Требования к системам баз данных. Достоинства трехуровневой архитектуры. Процесс идентификации объектов.
лекция [60,0 K], добавлен 19.08.2013Обработка текстовых данных, хранящихся в файле. Задачи и алгоритмы обработки больших массивов действительных и натуральных чисел. Практические задачи по алгоритмам обработки данных. Решение задачи о пяти ферзях. Программа, которая реализует сортировку Шел
курсовая работа [29,2 K], добавлен 09.02.2011Использование класса статических массивов структур и базы данных "ODER" при создании программы на языке С++. Основные формы выдачи результатов. Технические и программные средства. Тесты для проверки работоспособности алгоритма создания программы.
курсовая работа [1,1 M], добавлен 17.03.2015Этапы написания программы на четырех языках программирования (Turbo Pascal 7.0, Borland C++ 3.11, Delphi 7, Builder C++ 6.0), которая выводит на экран имя и фамилию студента, используя стандартные средства графики и простейшие геометрические фигуры.
контрольная работа [1,4 M], добавлен 05.06.2010Анализ предметной области, концептуальных требований и информационных потребностей к разрабатываемой базе данных студентов. Выбор информационных объектов и проектирование информационной структуры. Создание таблиц, отчетов, запросов на выборку и форм.
курсовая работа [69,4 K], добавлен 18.11.2010Сущность языка программирования, идентификатора, структуры данных. Хранение информации, алгоритмы их обработки и особенности запоминающих устройств. Классификация структур данных и алгоритмов. Операции над структурами данных и технология программирования.
контрольная работа [19,6 K], добавлен 11.12.2011Характеристика предметной области. Проведение исследования функциональных требований к системе. Проектирование структуры хранения данных. Программирование функциональной структуры. Реализация программного средства. Особенность тестирования программы.
курсовая работа [632,0 K], добавлен 23.02.2023Концептуальное проектирование базы данных. Характеристика предметной области. Выходная и входная информация. Выделение информационных объектов. Алгоритмы реализации отчетов и сервисных процедур. Реализация базы данных. Создание структуры таблиц и отчетов.
курсовая работа [2,0 M], добавлен 12.03.2016Описание объекта информатизации и предметной области. Анализ параметров объектов предметной области, сбор исходных данных. Архитектура проекта, создание интерфейса базы данных. Поиск по объектам, датам. Редактирование, отчеты. Назначение программы.
курсовая работа [2,3 M], добавлен 20.01.2016Разработка программы в среде программирования Borland Pascal, которая является электронным тестирующим пособием в области химии для 8-10 классов. Написание алгоритма решения задачи, определение необходимых функций, процедур, модулей, файловых переменных.
контрольная работа [389,3 K], добавлен 19.09.2010Описание возможностей языка программирования Turbo Pascal. Написание программы создания файлов с прямым доступом, которая также будет обрабатывать наборы данных с определенными полями и ограничениями. Контрольный пример работы поисковой программы.
курсовая работа [563,6 K], добавлен 22.01.2016Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.
курсовая работа [336,2 K], добавлен 27.06.2015