- •Объектно-ориентированное программирование
- •/ И. М. Виноградова. — Барановичи: рио БарГу, 2011 — с. Экз.
- •Структура программы. Операторы и выражения
- •Краткие теоретические сведения
- •Классификация данных
- •Декларирование объектов
- •Стандартные математические функции
- •Структура программы
- •Ввод с помощью потока cin
- •Вывод с помощью потока cout
- •Пример программы работы
- •Задания:
- •Контрольные вопросы
- •Операторы ветвления. Битовые операции
- •Краткие теоретические сведения
- •If (условие) оператор1; [else оператор2;]
- •Замечания
- •Цикл с предусловием (while)
- •Битовые операции
- •Примеры
- •Задания
- •Варианты задания
- •Контрольные вопросы
- •Циклические и вычислительные процессы
- •Краткие теоретические сведения Цикл с постусловием (do while)
- •Оператор break
- •Оператор break
- •Задания
- •Контрольные вопросы
- •Обработка статических массивов
- •Краткие теоретические сведения Объявление массива
- •Пример решения задачи по массивам
- •Полный текст программы
- •Варианты задания
- •Контрольные вопросы
- •Массивы и указатели
- •Краткие теоретические сведения
- •Указатели
- •Указатели и массивы
- •Формирование динамических массивов с использованием операций new и delete
- •Постановка задачи
- •Порядок выполнения работы
- •Варианты задания
- •Контрольные вопросы
- •Обработка символов, строк, текста
- •Краткие теоретические сведения
- •"Строковый ввод-вывод"
- •Примеры решения задач
- •Код программы
- •Код программы 2
- •Варианты задания:
- •Контрольные вопросы
- •Модульное программирование
- •Цель работы:
- •Краткие теоретические сведения.
- •Параметры функции
- •Локальные и глобальные переменные
- •Передача одномерных массивов как параметров функции
- •Передача строк в качестве параметров функций
- •Передача многомерных массивов в функцию
- •Постановка задачи
- •Порядок выполнения работы
- •Варианты заданий
- •Контрольные вопросы
- •Цель работы:
- •Краткие теоретические сведения
- •Id_класса id_объекта;
- •Id_объекта. Id_метода;
- •Задание к лабораторной работе № 8
- •Постановка задачи
- •Контрольные вопросы
- •Объектно-ориентированное программирование Методические указания
- •225404 Г. Барановичи, ул. Войкова, 21
Контрольные вопросы
Способ описания нединамического массива.
Какой максимальный номер элемента у нижеследующего массива: int mas[100].
Производится ли автоматический контроль выхода индекса за границы массива.
Для объявления массива
Double score[5];
Укажите следующее:
имя массива;
базовый тип данных;
объявленный размер массива;
диапазон значений индекса;
один из элементов массива.
Допущены ли ошибки в следующих объявлениях, если да, то какие?
int x[4] = { 8, 7, 6, 4, 3 };
int x[] = { 8, 7, 6, 4 };
const int SIZE = 4;
int x[SIZE];
ЛАБОРАТОРНАЯ РАБОТА 5
Массивы и указатели
Цели:
Организация динамических массивов.
Краткие теоретические сведения
При традиционном определении массива:
тип имя_массива [количество_элементов];
общее количество памяти, выделяемой под массив, задается определением и равно
количество_элементов * sizeof(тип).
Указатели
Каждая переменная в программе это объект, имеющий имя и значение по имени можно обратиться к переменной и получить ее значение. Оператор присваивания ( = ) выполняет обратное действие: имени переменной ставится в соответствие значение.
a=10;
Выражение &a позволяет получить адрес участка памяти, выделенного переменной а. Операция & применима только к объектам имеющим имя и размещенным в памяти.
. Указатель - это переменная, значением которой служит адрес объекта конкретного типа.
Нулевой адрес обозначается константой NULL, которая определена в заголовочном файле stdio.h. Чтобы определить указатель надо сообщить на объект какого типа ссылается этот указатель.
char *z;
int *k,*i;
float *f;- это операция разыменования. Операндом этой операции всегда является указатель.
Операции над указателями.
присваивание (=);
получение значения объекта, на который ссылается указатель (*);
получение адреса самого указателя (&).Пример:
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, указатель переходит к началу следующего (предыдущего) поля той длины, которая определяется типом объекта, адресуемого указателем.
Указатели и массивы
Имя массива без индекса является указателем-константой, т. е. адресом первого элемента массива (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);