Главная страница
Навигация по странице:

  • Отчет

  • ПРОВЕРИЛА : Н.Б.Ташпулатова Ташкент – 2022 Лабораторн ая работа № 1 Тема: Исследование статических структур данных

  • Цель работы

  • К стандартным относят 5 типов: Пустой ( VOID )

  • Числовые типы

  • [unsigned] char | wchar_t

  • К пользовательским относят 4 типа

  • Задание 1. Написать программу обработки текстов

  • Листинг программы

  • Результат программы

  • ЛАБ-1.Халикова.В_Гр_065_20№_1 (2). Отчет по лабораторной работе 1 Тема Исследование статических структур данных Факультет Профессиональное образование в сфере икт


    Скачать 120.84 Kb.
    НазваниеОтчет по лабораторной работе 1 Тема Исследование статических структур данных Факультет Профессиональное образование в сфере икт
    Дата24.12.2022
    Размер120.84 Kb.
    Формат файлаdocx
    Имя файлаЛАБ-1.Халикова.В_Гр_065_20№_1 (2).docx
    ТипОтчет
    #862158


    МИНИМТЕРСТВО РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИИ РЕСПУБЛИКИ УЗБЕКИСТАН ТАШКЕНТСКИЙ УНИВЕРСТИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИЙ

    Отчет

    по лабораторной работе № 1

    Тема: «Исследование статических структур данных»




    Факультет: «Профессиональное образование в сфере ИКТ»

    Группа: 065-20 SKAFr (5350600 – «Информационно-библиотечная деятельность»)


    ВЫПОЛНИЛА:

    В.Ф.Халикова
    ПРОВЕРИЛА :

    Н.Б.Ташпулатова

    Ташкент – 2022

    Лабораторная работа № 1

    Тема: Исследование статических структур данных

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

    Теоретическая часть:

    Статические структуры представляют собой структурированное множество примитивных, базовых, структур. Поскольку статические структуры отличаются отсутствием изменчивости, память для них выделяется автоматически - как правило, на этапе компиляции или при выполнении - в момент активизации того программного блока, в котором они описаны.

    Со статическими структурами связано понятие фундаментальных (стандартных) типов данных языка программирования и понятие переменная. На основе, которых строят структурированные типы данных. Для хранения данных в программе используются идентификаторы для переменных, в которых будут храниться данные какого-либо предопределенного типа.

    К стандартным относят 5 типов:

    1. Пустой (VOID)

    Тип данных предусматривающий действие, которое не влияет на ячейки памяти, то есть не используют их. Обычно такой тип данных используется в подпрограммах, модулях и библиотеках.

    Числовые типы: Целый и Вещественный.

    Целый тип включает некоторое подмножество целых, размер которого варьируется от машины к машине.

    Числа делятся на знаковые и беззнаковые. Для каждого из них имеется свой диапазон значений:

    a)(0..2n-1) для беззнаковых чисел

    1..n

    Целое число

    b) (-2n-1.. 2n-1-1) для знаковых.

    1

    2..n

    Знак

    Целое число

    Где, n– число битов памяти выделяемых для хранения данных.


    Синтаксис объявления переменных целого типа в языке С++:

    [signed | unsigned] short | long | int ;


    Для переменных объявленных одним из этих трех зарезервированных слов соответственно будет выделяться 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 – семи битам.


    Синтаксис объявления переменных вещественного типа:

    float | [long ] double ;


    Для переменных float выделяется память в четыре байта, double – восемь байтов, а long double 12 байтов.

    1. Логический;

    Значениями логического типа может быть одна из предварительно объявленных констант false (ложь) или true (истина). Данные логического типа занимают один байт памяти. При этом значению false соответствует нулевое значение байта, а значению true соответствует любое ненулевое значение байта.


    Синтаксис объявления переменных логического типа:

    bool ;


    1. Символьный;

    Значением символьного типа являются символы из некоторого предопределенного множества. В большинстве современных персональных компьютерах этим множеством является ASCII (American Standard Code for Information Intechange - американский стандартный код для обмена информацией). Значение символьного типа занимает в памяти 1 байт. Код от 0 до 255 в этом байте задает один из 256 возможных символов ASCII таблицы. ASCII, однако, не является единственно возможным множеством. Другим достаточно широко используемым множеством является код EBCDIC (Extended Binary Coded Decimal Interchange Code - расширенный двоично-кодированный десятичный код обмена).


    Синтаксис объявления переменных символьного типа:

    [unsigned] char | wchar_t ;


    Символьные данные задаются в одинарных кавычках (апострофах) ‘ ’ или целым числом (кодом символа)

    Например: char C1 = ‘A’ , C2 = 65;

    Две переменные содержат одну и ту же информацию, то есть прописную латинскую букву А.

    1. Указательный.

    Указатель это переменная, хранящая уникальный номер ячейки памяти. Указатель определяет некоторое место в оперативной памяти, в котором может находиться какая либо переменная.

    Указатель обычно является типизированным и объявляется следующим способом:

    <имя типа> * <имя указателя> = <начальное значение>;

     К пользовательским относят 4 типа:

    1. перечисляемый (ENUM);

    2. диапазонный(битовый) (INTERVAL)

    3. приведенный (TYPEDEF)

    4. препроцессоры (DEFINE)

    Статические структуры в языках программирования связаны со структурированными типами данных. Структурированные типы в языках программирования являются теми средствами интеграции, которые позволяют строить структуры данных сколь угодно большой сложности.

    К таким типам относятся:

    • Массивы

    • Записи

    • Таблицы

    • Объекты

    Массив - такая структура данных, которая характеризуется:

    фиксированным набором элементов одного и того же типа;

    каждый элемент имеет уникальный набор значений индексов;

    количество индексов определяют мерность массива. Например, один индекс - одномерный массив (вектор), два индекса - двумерный массив (матрица), три индекса - трехмерный массив (куб, пространство);

    обращение к элементу массива выполняется по имени массива и значениям индексов для данного элемента.


    Синтаксис описания массивов в языке С++

    <Тип элемента> <Имя> [<Размер>]


    Пример: int a[]={2, 3, 4, 5} или int a[4]; или int *a = new int [4];

    Запись - конечное упорядоченное множество полей, характеризующихся различным типом данных. Записи являются удобным средством для представления программных моделей реальных объектов предметной области, ибо, как правило, каждый такой объект обладает набором свойств, характеризуемых данными различных типов.

    struct BirthDay

    {

    int day;

    int month;

    long year;

    } a,b;

    Полем записи может быть в свою очередь интегрированная структура данных - вектор, массив или другая запись. Полем записи может быть другая запись, но ни в коем случае не такая же.

    Важнейшей операцией для записи является операция доступа к выбранному полю записи - операция квалификации. Практически во всех языках программирования обозначение этой операции имеет вид:

    <имя переменной-записи>.<имя поля>

    a.day = 18;

    a.month = 06;

    a.year = 1982;

    Таблица представляет собой вектор, элементами которого являются записи, то есть упорядоченный набор полей данных разного содержимого (типа). Характерной логической особенностью таблиц, которая определяет их отдельное рассмотрение, является то, что доступ к элементам таблицы производится не по номеру (индексу), а по ключу - по значению одного из свойств объекта, описываемого элементом таблицы.

    Доступ к полям данных в статических записях осуществляется через точку (‘.’), а динамических записях через, так называемую оператор стрелка (‘->’).

    При задании таблицы указывается количество содержащихся в ней записей

    S truct Book

    { char Author[25];

    char Name[25];

    int pages;

    int year;

    char Izd[15];

    };

    Book LibraryA[250];

    Book *LibraryB;

    Объект – это совокупность абстрактных типов данных, то есть набор полей характеризующих свойства объекта и методов характеризующие события объекта. Объекты определяются как class или FILE.

    Задание 1. Написать программу обработки текстов

    Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.

    Листинг программы

    #include

    #include

    char *strReverse(char *s){

    char *head, *tail, c;

    if ( !s || !(*s) )

    return NULL;

    for ( head = s, tail = s + strlen(s) - 1; head < tail; head++, tail-- ){

    c = *head;

    *head = *tail;

    *tail = c;

    }

    return s;

    }

    int main(){

    char str[] = "abcdef";

    printf("Original: %s\n", str);

    printf("Reversed: %s\n", strReverse(str));

    return 0;

    }
    Результат программы








    написать администратору сайта