Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ПИ_ИКТ Программирование по С++ (1 семестр) _Хотов.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.83 Mб
Скачать

2 Часть вторая

  1. Набрать и откомпилировать следующую программу:

#include <iostream>

using namespace std;

int sum(int *x, const int N)

{

int s = 0;

for (int i = 0; i < N ; i++)

s += x[i];

return s;

}

void main()

{

const int N = 10;

int a[N] = {1, 3, -5, 0, 4, 6, -1, 9, 3, 2};

//найдем максимальный элемент массива

int m = a[0];

for (int i = 1; i < N; i++)

if (m < a[i])

m = a[i];

cout << m << endl;

//найдем сумму элементов массива

int s;

s = sum(a, N);

cout << s << endl;

int z = s / m;

int k = 0;

for (int i = 0; i < N; i++)

if (a[i] > z)

k += a[i];

else

k -= a[i];

cout << k << endl;

int x, y;

cin >> x >> y;

s = 0;

while ((x != 0) && (x != 0))

{

x--;

y--;

s += x + y;

}

cout << s << endl;

return;

}

  1. После каждой строки программы проставить номер. Например, //1, //2 и т.д.

  2. Выполнить трассировку программы (без захода в функции стандартных библиотек), наблюдая за переменными в окне Locals.

  3. Остановить отладку программы.

  4. Установить точку остановки на операторе if (a[i] > z).

  5. Выполнить программу до курсора на строке s = sum(a, N);

  6. Продолжить выполнить программы до точки остановки. Далее продолжать пошаговое выполнение до строки cout << k << endl;.

  7. Добавить в окно Watch 1 переменные x, y, s для наблюдения изменения их значений. Продолжать пошаговое выполнение.

  8. Остановить отладку программы.

  9. В операторе цикла while задать условную точку останова по числу проходов. Запустить программу для отладки.

  10. Продолжать пошаговое выполнение до конца программы, наблюдая изменение значений x, y, s в окне Watch 1.

  11. Записать полученные результаты.

  12. Остановить отладку программы.

  13. В операторе цикла while задать еще одну условную точку останова по логическому условию. Запустить программу для отладки

  14. Продолжать пошаговое выполнение до конца программы, наблюдая изменение значений x, y, s в окне Watch 1.

  15. Записать полученные результаты.

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

  1. Титульный лист.

  2. Наименование и цель работы.

  3. Краткое теоретическое описание.

  4. Задание на лабораторную работу.

  5. Схема алгоритма.

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

  7. Результаты выполнения программы.

  1. Типы данных, определяемые пользователем. Структуры и объединения

Краткая теория

1 Определение типов (typedef)

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

Директива typedef позволяет задать синоним для встроенного или пользовательского типа данных. Имена, определенные с помощью директивы typedef, можно использовать точно так же, как обычные спецификаторы типов.

Синтаксис директивы typedef имеет два варианта:

typedef тип новое_имя;

typedef тип новое_имя [ размерность ];

Второй вариант используется при определении нового имени типа для массива, а квадратные скобки являются элементом синтаксиса.

Например:

typedef unsigned int UINT; //UINT - беззнаковое целое

typedef char msg[100]; //msg - массив из ста символов типа char

Объявленные таким образом имена типов используются так же, как и имена стандартных типов:

UINT i, j; //две переменных типа unsigned int

UINT А[10]; //массив переменных типа unsigned int

msg m; //массив (строка) из ста символов типа char

msg strs[10]; //массив из 10 строк по сто символов каждая