Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. "Знакомство с Си++. Выполнение программы простой структуры"





НазваниеПрактикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. "Знакомство с Си++. Выполнение программы простой структуры"
страница4/12
Дата публикации30.08.2013
Размер0.86 Mb.
ТипЛабораторная работа
100-bal.ru > Информатика > Лабораторная работа
1   2   3   4   5   6   7   8   9   ...   12

Лабораторная работа № 4
"Работа с одномерными массивами"


Цель: Получение навыков обработки одномерных массивов.

  1. Краткие теоретические сведения

1.1. Определение массива

Определение массива содержит тип элементов, имя массива и количество элементов в массиве.

int mas[10];































0

1

2

3

4

5

6

7

8

9


Т. е. индексы элементов в массиве mas могут меняться от 0 до 9, всего в массиве 10 элементов.

1.2. Инициализация массива

Инициализация массивов возможна при их определении:

double d[] = {1, 2, 3, 4, 5};

Длина массива вычисляется компилятором по количеству значений перечисленных в фигурных скобках.

1.3. Указатели

Каждая переменная в программе это объект, имеющий имя и значение по имени можно обратиться к переменной и получить ее значение. Оператор присваивания ( = ) выполняет обратное действие: имени переменной ставится в соответствие значение.




a=10;


Выражение &a позволяет получить адрес участка памяти, выделенного переменной а. Операция & применима только к объектам имеющим имя и размещенным в памяти.

Имея возможность определить адрес переменной с помощью &, надо иметь возможность работать с этим адресом: сохранять его, передавать, преобразовывать. Для этого вводится понятие указателя. Указатель - это переменная, значением которой служит адрес объекта конкретного типа. Нулевой адрес обозначается константой NULL, которая определена в заголовочном файле stdio.h. Чтобы определить указатель надо сообщить на объект какого типа ссылается этот указатель.

char *z;

int *k,*i;

float *f;

* - это операция разыменования. Операндом этой операции всегда является указатель. Результат операции - это тот объект, который адресует указатель_операнд.

*z=’$ ‘;




*k=*i=0;




Пример:

int e, c, b, *m;

. . . . . . . . .

m = &e ;

*m = c + b ;
Операции над указателями.

  • присваивание (=);

  • получение значения объекта, на который ссылается указатель (*);

  • получение адреса самого указателя (&).

Пример:

int date = 10;

int *i, *k;;

i = &date;

k = i;

z = NULL;
Подобно любым переменным переменная типа указатель имеет имя, арес в памяти и значение.



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

Пример:

char *z;

int *k,*i;

float *f;

. . . . . . .

z++; // значение изменяется на 1

i++; // значение изменяется на 2

f++; // значение изменяется на 4

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

1.4. Указатели и массивы

Имя массива без индекса является указателем-константой, т. е. адресом первого элемента массива (a[0]).

a


























*a = = a[0] ;

*(a+1) = = a[1];

. . . . . . . . .

*(a+i) = =a[i];
В соответствии с синтаксисом в Си существуют только одномерные массивы, но их элементами , в свою очередь, тоже могут быть массивы.

int a[5][5];

Для двумерного массива:

a[m][n] = = *(a[m]+n) = = *(*(a+m)+n);
2. Варианты заданий

1.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить элемент с номером К.

  4. Добавить после каждого четного элемента массива элемент со значением 0.

  5. Распечатать полученный массив.


2.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить первый элемент равный 0.

  4. Добавить после каждого четного элемента массива элемент со значением M[ I-1 ]+2.

  5. Распечатать полученный массив.



3.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить все элементы равные 0.

  4. Добавить после первого четного элемента массива элемент со значением M[ I-1 ]+2.

  5. Распечатать полученный массив.

4.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить элементы, индексы которых кратны 3.

  4. Добавить после каждого отрицательного элемента массива элемент со значением | M[ I-1 ]+1|.

  5. Распечатать полученный массив.


5.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить элементы кратные 7.

  4. Добавить после каждого нечетного элемента массива элемент со значением 0.

  5. Распечатать полученный массив.


6.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить элемент с заданным номером.

  4. Добавить после первого четного элемента массива элемент со значением M[ I-1 ]+2.

  5. Распечатать полученный массив.


7.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить последний элемент равный 0.

  4. Добавить после элемента массива с заданным индексом элемент со значением 100.

  5. Распечатать полученный массив.


8.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить все элементы с заданным значением.

  4. Добавить перед каждым четным элементом массива элемент со значением 0.

  5. Распечатать полученный массив.


9.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить первый элемент с заданным значением.

  4. Сдвинуть массив циклически на К элементов вправо.

  5. Распечатать полученный массив.


10.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить 5 первых элементы массива.

  4. Добавить в конец массива 3 новых элемента.

  5. Распечатать полученный массив.


11.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить 5 последних элементов массива.

  4. Добавить в начало массива 3 элемента с значением M[ I+1 ]+2.

  5. Распечатать полученный массив.


12.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Поменять местами минимальный и максимальный элементы массива.

  4. Удалить из массива все элементы превышающие его среднее значение более, чем на 10%.

  5. Распечатать полученный массив.


13.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Удалить из массива все элементы совпадающие с его минимальным значением.

  4. Добавить в начало массива 3 элемента с значением равным среднему арифметическому массива.

  5. Распечатать полученный массив.


14.

  1. Сформировать одномерный массив целых чисел, используя датчик случайных чисел.

  2. Распечатать полученный массив.

  3. Перевернуть массив и, если число элементов массива нечетное, удалить его средний элемент.

  4. Добавить в начало массива 3 элемента с значением M[ I+10 ]-2.

  5. Распечатать полученный массив.


15.

  1. Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).

  3. Удалить из кольца первый и последний элементы.

  4. Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).


16.

Реализовать с использованием массива очередь (первый пришел, первый ушел), для чего организовать добавление, удаление элементов в массив и печать массива после каждой операции.
17.

  1. Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).

  3. Добавить в кольцо первый и последний элементы.

  4. Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).


18.

  1. Реализовать с использованием массива однонаправленное кольцо (просмотр возможен слева направо, от последнего элемента можно перейти к первому).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К-1.

  3. Добавить в кольцо первый и последний элементы.

  4. Удалить из кольца четные элементы.

  5. Распечатать полученный массив, начиная с К-ого элемента и до К-1.


19.

  1. Реализовать с использованием массива однонаправленное кольцо (просмотр возможен справа налево, от первого элемента можно перейти к последнему).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К+1.

  3. Добавить в кольцо первый и последний элементы.

  4. Удалить из кольца нечетные элементы.

  5. Распечатать полученный массив, начиная с К-ого элемента и до К+1.

20.

  1. Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).

  3. Добавить в кольцо после элементов с индексами кратными 5 элементы равные 0.

  4. Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).


21.

  1. Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).

  3. Добавить в кольцо первый и 3 последних элемента.

  4. Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).


22.

Реализовать с использованием массива стек (первый пришел, последний ушел), для чего организовать добавление, удаление элементов в массив и печать массива после каждой операции.
23.

  1. Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К-1 ( по кольцу влево).

  3. Удалить из кольца все элементы совпадающие с его максимальным значением.

  4. Распечатать полученный массив, начиная с К-ого элемента (и до К+1 по кольцу вправо).


24.

  1. Реализовать с использованием массива однонаправленное кольцо (просмотр возможен слева направо, от последнего элемента можно перейти к первому).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К-1.

  3. Упорядочить элементы по возрастанию

  4. Удалить из кольца четные элементы.

  5. Распечатать полученный массив, начиная с К-ого элемента и до К-1.


25.

  1. Реализовать с использованием массива однонаправленное кольцо (просмотр возможен справа налево, от первого элемента можно перейти к последнему).

  2. Распечатать полученный массив, начиная с К-ого элемента и до К+1.

  3. Упорядочить элементы по убыванию

  4. Удалить из кольца нечетные элементы.

  5. Распечатать полученный массив, начиная с К-ого элемента и до К+1.

3. Методические указания

1) При выполнении работы используются статические массивы. Для организации статических массивов с псевдопеременными границами необходимо объявить массив достаточно большой длины, например, 100 элементов:

int N=100;

int a[N];

Затем пользователь вводит реальную длину массива (не больше N) и работает с массивом той длины, которую он сам указал. Остальные элементы (хотя память под них и будет выделена) не рассматриваются.

2) При уменьшении или увеличении длины массива необходимо изменять его реальную длину.

4. Содержание отчета

  1. Вариант задания.

  1. Текст программы.

  2. Результат решения конкретного варианта.



1   2   3   4   5   6   7   8   9   ...   12

Похожие:

Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconПрактикум по курсу Информатика (раздел Работа с пакетами прикладных...
Лабораторная работа №6. Обобщение данных. Создание таблицы подстановки. Подведение итогов 28
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconУчебно-методический комплекс «Внеаудиторная самостоятельная работа...
Методические рекомендации разработаны на основании фгос по специальности по 270802 «Строительство и эксплуатация зданий и сооружений»,...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconПрактикум по работе в вики-среде на примере Русской Википедии (для...
Учебник предназначен для студентов технических вузов по специальности 010100 математика. Работа студентов по этому учебнику позволит...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconУроков
Вид учебных занятий: лекция, экскурсия, исследовательская лабораторная работа, учебный и трудовой практикум
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconЛабораторная работа №2 Использование логической функции если
Методические указания к семинарским занятиям, практикум, контрольные работы и задания
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconАннотация рабочей программы дисциплины «Лабораторная диагностика»...
В соответствии с гос впо дисциплина «Лабораторная диагностика» в структуре учебного плана Основной образовательной программы выделена...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconТипы уроков Урок изучения и первичного закрепления новых знаний
Вид учебных занятий: лекция, экскурсия, исследовательская лабораторная работа, учебный и трудовой практикум
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconЛабораторная работа №
Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconБиология 7 класс
Отдел Настоящие Грибы. Лабораторная работа №1 «Строение плесневого гриба мукора». Лабораторная работа №2 «Строение дрожжей»
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconАнализ посещенного урока
Наименование прорабатываемой на занятиях темы знакомство с объектно-ориентированным языком программирования Visual Basic. Лабораторная...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconМетодика подготовки к уроку
Урок изучение и первичное закрепление новых знаний. Вид учебных занятий: лекция, экскурсия, исследовательская лабораторная работа,...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconТипы открытых уроков
Урок изучения и первичного закрепления новых знаний. Вид учебных занятий: лекция, экскурсия, исследовательская лабораторная работа,...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconОтчет по дисциплине «Учебная практика по информатике»
Лабораторная работа № Тема: «Операционная система ms windows». Знакомство с ос windows xp. 4
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconПрограмма курса «Русский язык и культура речи». Для студентов Пермского...
Е. В. Зырянова, Е. М. Крижановская. Интернет-ресурсы и виртуальные словари для делового общения, учебно-методическое пособие. Пермь,...
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconПрактикум по специальности 210404 Многоканальные телекоммуникационные...
Практикум предназначен для студентов заочной формы обучения по специальности: 210404 Многоканальные телекоммуникационные системы
Практикум для студентов специальности асу пермь, 2001 Лабораторная работа №1. \"Знакомство с Си++. Выполнение программы простой структуры\" iconРабочая программа Основы цитологии Индекс сд. 08 По специальности...
Государственными требованиями к минимуму содержания и уровню выпускников (гос спо) по специальности: 060110. 51 «Лабораторная диагностика»...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск