- •Практикум
- •Г. Петропавловск-Камчатский
- •Введение
- •Задание №1. Операции ввода-вывода. Арифметические операции.
- •Int a;b;c; double X,
- •Int a,b,c; float a,b,c;
- •Float X; scanf (“%f”,X);
- •Задание №2. Операторы условного перехода if-case
- •Int main(int argc, char* argv[])
- •Найдите синтаксические и логические ошибки в инструкциях (если есть)
- •Задание №3. Оператор цикла for
- •Int main(int argc, char* argv[])
- •Задание №4. Одномерные и многомерные массивы
- •Задание №5. Алгоритмы поиска и сортировки данных
- •Найдите синтаксические и логические ошибки в инструкциях
- •Сформулируйте одной фразой, какое действие выполняет фрагмент:
- •Задание №6. Массивы символов
- •Int _tmain(int argc, _tchar* argv[])
- •Написать программу для решения задачи:
- •Написать программу для решения задачи:
- •Класс string
- •Функции работы со строками Задание №7. Функции
- •Void fill_screen (void)
- •Напишите функцию для:
- •Задание №1. Создание программ с использованием компонентов: tEdit, tButton, tLabel
- •Проектирование интерфейса приложения:
- •Программирование приложения
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Задание №2. Создание программ с использованием компонентов: tComboBox, tListBox
- •Задание №3. Создание программ с использованием компонента Timer
- •Создайте приложение «Угадай число»
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Void __fastcall tForm1::CheckBox1Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №4. Написание программ для выполнения операций с файлами
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •If (FileExists("meteo.Txt"))
- •Void __fastcall tForm1::Edit1KeyPress(tObject *Sender, wchar_t &Key)
- •Задание для самостоятельного выполнения:
- •Задание №5. Использование компонентов tRichEdit, tMainManu, tOpenDialog и др.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::imOpenClick(tObject *Sender)
- •Void __fastcall tForm1::imSaveClick(tObject *Sender)
- •Void __fastcall tForm1::imToolBarClick(tObject *Sender)
- •Void __fastcall tForm1::AboutClick(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Задание №6. Работа с графикой. Вывод текста. Программа Приветствие
- •Напишите процедуру при изменении размера формы:
- •Void __fastcall tForm1::FormResize(tObject *Sender)
- •Void __fastcall tForm1::Button4Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button5Click(tObject *Sender)
- •Задание №8. Базы данных. Создание приложения Записная книжка
- •Создание базы данных.
- •Проектирование интерфейса приложения
- •Программирование приложения
- •Void __fastcall tForm1::BitBtn1Click(tObject *Sender)
- •Задание №9. Ежедневник
- •Void __fastcall tForm1::FormShow(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button3Click(tObject *Sender)
- •Задание №10. Будильник
- •Int cHour, cMinute;
- •Int alrHour, alrMinute;
- •Void __fastcall CreateTrayIcon (int n, AnsiString Tip);
- •Void __fastcall DeleteTrayIcon (int n);
- •Void __fastcall tForm1::CreateTrayIcon (int n, AnsiString Tip)
- •Void __fastcall tForm1::DeleteTrayIcon (int n)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №11. Часы
- •Int ahr, amin, asec;
- •Void __fastcall tForm1::Timer1Timer(tObject *Sender)
- •Задание №12. Очистка диска
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Задание для самостоятельного выполнения:
- •Рекомендуемая литература
Задание №4. Одномерные и многомерные массивы
Цель занятия: Научиться работать с массивами
Студенты должны знать: понятие одномерного и многомерного массива;
уметь: производить подсчёт элементов массива;
Теория.
Линейным массивом в программе на С++ называется упорядоченный набор однотипных переменных, которые располагаются в памяти последовательно. Любой массив характеризуется тремя параметрами: именем, типом элементов и размером. Массив объявляется, например, так: int A[15] – массив 15-ти целых чисел.
Одномерные массивы.
Фрагмент программы для вычисления суммы 10 заданных чисел.
int A[10];
for (int i=0; i<10; i++)
{cout <<”A[“<<i<<”]=”; cin >>A[i]}
//ввод данных в массив
int sum=0;
for (int i=0; i<10; i++) sum+=A[i];
cout << “\nSum=”<<sum;
//подсчёт суммы и вывод на экран
Многомерные массивы.
Фрагмент программы нахождения произведения элементов массива
float X[4] [4];
for (int i=0; i<4; i++)
for (int j=0; j<4; j++)
{cout <<”X[“<<i<<”,”<<j<<”]=”; cin >>X[i][j] };
//ввод элементов
float p=1; for (int i=0; i<4; i++)
{for (int j=0; j<4; j++) p*=X[i][j];
//вычисление произведения P
Константы.
Для определения типизированной константы используется count тип имя=выражение. Нетипизированная константа определяется так: #define stud 15. Типизированные константы используются для указания размеров массива const int N=4. При работе с массивом предыдущего примера вместо 4 – N.
Инициализация элементов массива при объявлении: тип имя [размер]={значения массива через ,…}. Например, float m[5]={7.3, 2.5, 6.6, 8.0, 4.9}, int F[2][2]={{2,1},{8,9}} или float m[2]; m[0]=1.1; m[1]=1.1;
Задание.
Создайте консольное приложение.
Определите, что будет выведено на экран в результате выполнения инструкций. Объясните работу.
int A[5]={1,2,3,4,5}; cout <<”A[0]=”<<A[0];
int A[5]={5,4,3,2,1}; cout <<”A[4]=”<<A[4];
int b[3]={9,8,7}; cout <<b[0] <<endl <<b[1] <<endl <<b[2];
int g[2][2]={{1,2},{3,4}}; for (int i=2; i>=0; i--) cout << g[i][i];
int C[5]; for (int i=0;i<5;i++) C[i]=2*i; cout <<C[3];
int DDD[5]; for (int k=0;k<5;k++) {DDD[k]=0.; cout <<”!”;}
int E[3]={0,1,2}; E[0]++; int r=E[0]+E[1]+E[2]; cout << r;
int f[3]={0,1,2}; for (int k=2; k>=0; k--) cout <<f[k];
int f[3]={2,1,0}; for (int k=2; k>=0; k--) cout <<f[k];
int g[2][2]={{1,2},{3,4}}; for (int i=0; i<2; i++) cout << g[i][i];
int H[2][2]={{5,6},{7,8}}; for (int i=0;i<2;i++) cout << H[i][1-i];
int H[2][2]={{5,6},{7,8}}; for (int i=2;i>=0;i--) cout << H[i][1-i];
Одномерные массивы. Напишите программу для решения задачи:
Заполнить массив N чисел значениями и вывести на экран сумму элементов с чётными номерами.
Заполнить массив N чисел значениями и вывести на экран сумму элементов с нечётными номерами.
Заполнить массив N чисел значениями и вывести на экран сумму чётных элементов массива.
Заполнить массив N чисел значениями и вывести на экран сумму нечётных элементов массива.
Заполнить массив N чисел значениями и вывести на экран только положительные элементы массива.
Заполнить массив N чисел значениями и вывести на экран только отрицательные элементы массива.
Заполнить массив N чисел значениями и вывести на экран в обратном порядке.
Заполнить массив N чисел значениями и вывести на экран произведение элементов с чётными номерами.
Заполнить массив N чисел значениями и вывести на экран произведение элементов с нечётными номерами.
Заполнить массив N чисел значениями и вывести на экран произведение чётных элементов массива.
Заполнить массив N чисел значениями и вывести на экран произведение нечётных элементов массива.
Заполнить массив N чисел значениями и вывести на экран их среднее арифметическое.
Многомерные массивы. Напишите программу для решения задачи:
Дана квадратная матрицы А размером 3х3. Найти сумму диагональных элементов матрицы.
Дана квадратная матрицы А размером 3х3. Найти произведение диагональных элементов матрицы.
Дана квадратная матрицы А размером 3х3. Найти сумму элементов на побочной диагонали матрицы.
Дана квадратная матрицы А размером 3х3. Найти произведение элементов на побочной диагонали матрицы.
Даны две квадратные матрицы А и В размером 3х3. Требуется найти С=А – В.
Даны квадратная матрицы А размером 3х3 и число t. Требуется найти С=t*А.
Даны две квадратные матрицы А и В размером 3х3. Требуется найти С=А+В.
Даны две квадратные матрицы А и В размером 3х3. Требуется найти С= В – А.
Даны две квадратные матрицы А и В размером 3х3. Требуется найти С=А х В.
Дана квадратная матрицы А размером 3х3. Требуется вычислить определитель матрицы.
Дана квадратная матрицы А размером 3х3. Требуется отобразить её элементы относительно главной диагонали.
Дана квадратная матрицы А размером 3х3. Требуется поменять местами главную и побочную диагональ матрицы.
Сдайте работу преподавателю
Вопросы для контроля и самоконтроля:
Общие формы объявления одномерного и двумерного массивов. Доступ к элементам массива.
Использование циклов при обращении к элементам массива.
Какой номер у первого и последнего элемента массива?
Типизированные константы – объявление и инициализация. Пример.