Инфоурок Информатика Другие методич. материалыМассивы. Обработка массивов данных.

Массивы. Обработка массивов данных.

Скачать материал

Практическое задание 1.

Массивы. Обработка массивов данных.

Цель работы: получить навык работы с массивами в среде Visual C++.

 

 

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

В терминах разработки .NET приложение с графическим интерфейсом пользователя Windows называется приложением Windows Forms (или Winforms). Разработка проекта Windows Forms с помощью Visual C++ в общих чертах не отличается от разработки на других языках .NET, таких как Visual Basic или C#.

 

Приложения Windows Forms в Visual C++ используют классы .NET Framework и иные функциональные возможности .NET с новым синтаксисом Visual C++.

 

Библиотека iostream

Библиотека iostream подключается в разделе объявлений файла исходного кода:

 #include <iostream>

Библиотека iostream интересна как прекрасный пример объектно-ориентированного проектирования, так как содержит многие характерные приемы и конструкции.

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

При пользовании библиотекой iostream ошибки, связанные с "перепутыванием" типов данных, исключены. Если вы используете в операции ввода-вывода переменную типа unsigned long, то вызывается подпрограмма, ответственная именно за этот тип.

 

Библиотека stdio поддерживает средства языка С, позволяющее использовать переменное число параметров. Но такая гибкость дается недаром – на этапе компиляции проверка соответствия между спецификацией формата, как в функциях printf() и scanf(), не выполняется.

В библиотеке iostream применен другой подход. Операторы ввода-вывода оформляются в виде выражений с применением переопределяемых функций-операторов для каждого из типов данных, встречающихся в выражении. Если вам необходимо использовать новый тип данных в операциях ввода-вывода, вы можете расширить библиотеку iostream своими функциями-операторами.

 

Библиотека iostream более медленная, чем stdio, но это небольшая плата за надежность и расширяемость, базирующиеся на возможностях объектно-ориентированных средств вывода.

 

 

Массивы.

В  Си++ определены и многомерные массивы. Двумерный массив (матрицу) можно объявить так:


тип       имя_переменной [
n][m];

где n – количество строк в матрице(строки нумеруются от 0 до n-1), 

m – количество столбцов (столбцы нумеруются от 0 до m-1).

Например,    int   A [10][15];

Описана матрица A, состоящая из 10 строк и 15 столбцов (строки нумеруются от 0 до 9, столбцы от 0 до 14).

Для обращения к элементу матрицы необходимо указать ее имя, и в квадратных скобках номер строки, а затем в квадратных скобках – номер столбца. Например, A[2][4] – элемент матрицы A, находящийся в третьей строке и пятом столбце.

 

 

В Си++ можно описать многомерные массивы, которые можно объявить с помощью оператора следующей структуры:    тип       имя_переменной [n1][n2]…[nk];

Пример.

#include "stdafx.h"

       #include <iostream>

       using namespace std;

            

       int main()

       {

       setlocale(0,"");

    int size;

       int a[100];

       cout << "\nВведите размер массива:";

           cin >> size;

             for (int i=0;i<size;i++) {a[i]=rand()%10; cout << a[i]<<" ";}

             system ("pause");

           return 0;

           }

 

 

Блок-схемы основных алгоритмов обработки матриц

Блок-схема ввода матрицы

http://teacher.dn-ua.com/old_version/CPP/7/matrices.files/image002.jpg

Блок-схема вывода матрицы

http://teacher.dn-ua.com/old_version/CPP/7/matrices.files/image004.jpg

 

 

Пример.

Найти сумму элементов матрицы, лежащих выше главной диагонали

http://teacher.dn-ua.com/old_version/CPP/7/matrices.files/image008.gif

Для начала, необходимо продумать алгоритм решения и можно составить блок-схему:

http://teacher.dn-ua.com/old_version/CPP/7/matrices.files/image010.gif http://teacher.dn-ua.com/old_version/CPP/7/matrices.files/image012.gif

Код:

 

Замечание: отобразите окно свойств для элементов (Вид→Другие окна→Окно свойств или Alt+Enter).

 

Замечание: знакомьтесь с назначением элементов формы, просматривая всплывающие подсказки:

 

 

 

Ход работы

Задание 1.

Создайте программу, генерирующую массив заданной размерности.

 

1.      Создайте новый проект С++ (Файл→Создать→Проект→ВыбратьCLR+Приложение Windows Forms).

2.      Разместите на форме:

-        четыре надписи: label1, label2, label3, label4;

-        три текстовых поля: TextBox1 и TextBox2, TextBox3;

-        кнопку button1;

-        панель для группировки элементов panel1.


Примерный вид формы с необходимыми элементами:

 

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

 

3.      Измените свойства для следующих элементов (картинки в папке “Для П.р.№1”):

-        для элементов типа label Text, AutoSize=False, BackColor =Transparent (на вкладке Интернет), Font;

-        для Form1 – Text, BackgroundImage, Icon;

-        для panel1 BackgroundImage;

-        для button1 – Text, Font.

 

Примерный вид формы:

 

 

 

4.         Дважды кликните по кнопке Генерация и введите код в обработчик событий (Form1.h):

5.         Опишите операции, производимые в строках 201, 202, 203 (см. примет ниже)

 

Пример описания из предыдущей лабораторной работы:

 описываем переменные a и b вещественного типа double, значения заносим с помощью конверта из текстовых полей с именами num1 и num2

 

– инициализирум переменную sum типа double

– преобразуем полученную сумму в строку и присваиваем её третьему текстовому полю num3

 

 

6.      Подключите библиотеку  iostream в файле исходного кода вашего проекта для работы функции rand() . Для этого в Обозревателе решений дважды кликните по файлу prakt1.cpp (название_проекта.cpp)  и  допишите строку #include <iostream> (после #include “stdafx.h”!!!)

 

 

#include "stdafx.h"

#include <iostream>

#include "Form1.h"

 

 

7.      Выполните отладку (F5) и проверьте её работоспособность.

 

Примерный результат работы вашей программы:

 

Задание 2.

Попробуйте самостоятельно написать код сортировки массива.

 

Замечание: введите переменную b для временного хранения значения элементов массива во время замены. Например, for ( i=0;i<size;i++) for (int k=i+1;k<size; k++)if (a[i]>a[k]) {  b=a[i];a[i]=a[k]; a[k]=b; };

 

 

 

Задание 3.

Попробуйте написать  программу подобной обработки для двумерного массива, изменив размерность массива, добавив ещё один цикл по j   и  переход на новую строку с помощью спецификаций \r\n.

Замечание: для того, чтобы увеличить размер элемента формы textbox,  на панели свойств задайте multiline=true или  нажмите на “стрелочку” над ним:

 

       Вывод двумерного массива:                   Элементы отсортированы по строкам:

              

 

Задание 4.

Измените код программы так, чтобы массив содержал положительные и отрицательные числа.

 

8.         Покажите выполненную работу преподавателю и получите дополнительное задание.

9.         Ответьте на контрольные вопросы.

 

 

Контрольные вопросы:

1.     Как отправить содержимое TextBox в целочисленную  переменную?

2.     Что позволяет выполнить запись label1->Text = System::Convert::ToString(s)?

3.     Каково назначение функции rand()%3?

4.     Расшифруйте аббревиатуру ООП.

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Массивы. Обработка массивов данных."

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по коллекторской деятельности

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 661 525 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 21.12.2016 1443
    • DOCX 1.2 мбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Ченская Ирина Борисовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Ченская Ирина Борисовна
    Ченская Ирина Борисовна
    • На сайте: 8 лет и 1 месяц
    • Подписчики: 0
    • Всего просмотров: 112587
    • Всего материалов: 70

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Технолог-калькулятор общественного питания

Технолог-калькулятор общественного питания

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Педагогическая деятельность по проектированию и реализации образовательного процесса в общеобразовательных организациях (предмет "Математика и информатика")

Учитель математики и информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 38 человек из 18 регионов
  • Этот курс уже прошли 33 человека

Курс профессиональной переподготовки

Информатика: теория и методика преподавания с применением дистанционных технологий

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 18 человек

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 74 человека

Мини-курс

Психология обучения и развития детей: от садика до школы

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 27 человек из 18 регионов
  • Этот курс уже прошли 11 человек

Мини-курс

Сельский и индустриальный туризм

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Практические навыки трекинга и менторства

4 ч.

780 руб. 390 руб.
Подать заявку О курсе