Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лабораторная работа № 1 3



Тема: Массивы.

Цель работы: Ознакомление с массивами в Borland C ++ Builder.

 

Литература:

1. Глушаков С.В., Коваль А.Б. Язык программирования C - Учебный курс – 2001, с. 114-122.

2. Павловська Т.О. Программирование на языке высокого уровня - Учебник для вузов, СПб.: Пітер, 2003, с. 58-65.

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

Borland C++ Builder представляет собой интерпретированную систему быстрой разработки приложений.

Массивы - это группа элементов одинакового типа (double, float, int и т.п.). Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве.

Для объявления массивов (одномерных или многомерных) используется такая структура:

< тип переменных> < имя массива переменных> [размер] ([размер] … [размер]);

 

Порядок выполнения работы:

1. Создать проект под названием < ФИО студента> _< Номер варианта>;

2. В проекте создать две формы: 1 – Главная форма (MainForm), 2 – Подчиненная форма (SlaveForm);

3. Разместить на Главной форме кнопку и посредствам команды «Form2→ Show(); » в соответствующей функции обеспечить вызов подчиненной формы;

4. разместить объекты, задать им необходимые свойства:

- объект Label1, свойство Caption → одномерный массив

- объект StringGrid1 (страница Addition)

 свойства ColCount → 10 (количество столбцов)

              RowСount → 1 (количество строк);

- объект Button1 для запуска проекта, свойство Caption → вычислить

- объект Label2, свойство Caption → свойство по вашему заданию

- объект Label3 для вывода результата

6. Компоненты назвать и заполнить данными;

7. Разработать программу для объявления массива на 10 элементов и для решения задачи в соответствии с индивидуальным заданием. В соответствии с таблицей объявить необходимые переменные.

8. Сохранить проект в вашу рабочую папку.

**Выводить значения массивов можно в файл или на форму, используя разнообразные компоненты С++ Builder. При этом выводить значения элементов массивов можно только поэлементно, для чего следует организовывать циклы с изменением значений индексов. Организация вывода массивов в файл будет рассмотрена в лекциях четвертого модуля. Здесь рассмотрим организацию вывода одномерных массивов на форму с помощью компонентов Edit, Label, Memo, ListBox и функции ShowMessage.

В последующих примерах будут использованы следующие переменные: float A[10];

int i; AnsiString st;

1 Вывод в Edit

В компонент Edit можно выводить одномерные массивы, отделяя элементы пробелами (" " ) или другим символом. Количество элементов массива, которые можно увидеть, ограничено длиной компонента Edit на форме.

Пример фрагмента программы вывода массива А:

st = " " ;                   // очистка строки st

for(i=0; i< =9; i++) // начало цикла по индексам массива

{ st += FormatFloat(" 0.00", A[i])+" "; } // накапливание в строке значений массива

Edit1-> Text=st; // вывод в компонент Edit1 сформированной строки

2 Вывод в Label

В компонент Label можно выводить массивы, отделяя элементы пробелами (" " ) или символами перехода к новой строке (" \13" ). Вывод одномерного массива в строку организовывают по тем же правилам, что и в компонент Edit, только в программе вместо

Edit1.Text следует указать Label1-> Caption ( например Label1-> Caption=st; ). Для вывода одномерного массива в столбец следует свойство WordWrap компонента Label установить

True вместо False.

3 Вывод в окно сообщений

Вывод в окно сообщений с помощью функции ShowMessage организовывают так же, как и для Edit или Label, только вместо оператора присвоения следует записать оператор вызова процедуры. Например, вместо оператора

Edit1-> Text = st;

надо записать

ShowMessage(st);

4 Вывод в Memo

В многострочный компонент Memo можно выводить массивы с любым количеством элементов, поскольку возможно использование полос прокрутки (указав свойству ScrollBars значение ssBoth или ssVertical ). Основное свойство Lines содержит все строки компонента.

Пример фрагмента программы вывода массива А (в столбец):

Memo1-> Clear();       // очистка компонента

for(i = 0; i < = 9; i++) // начало цикла по индексам массива

Memo1-> Lines-> Add(FormatFloat(" 0.00", A[i])); // вывод одного элемента массива

5 Вывод в ListBox

Вывод массивов с помощью компонента ListBox организовывают так же, как и с компонентом Memo, только вместо Memo следует указать компонент ListBox. Основное свойство Items содержит все строки списка. Например, вместо оператора

Memo1-> Lines-> Add(FormatFloat(" 0.00", A[i]));

следует записать

ListBox1-> Items-> Add(FormatFloat(" 0.00", A[i]));

Ввод элементов одномерного массива

 

Вводить значения массивов можно используя такие компоненты С++ Builder, как Memo, ListBox, Edit. Как и при выводе массивов, при вводе следует организовывать циклы изменения значений индекса.

1 Ввод из окна Memo

С помощью компонента Memo можно вводить массивы, как в процессе выполнения программы, так и при конструировании формы проекта через окно свойств Lines (для перехода к новой строке при вводе значений следует нажать клавишу < Enter > ).

Пример фрагмента программы ввода значений элементов одномерного массива А (в каждой строке по одному числу):

for(i=0; i< =9; i++) A[i]=StrToFloat(Memo1-> Lines-> Strings[i]);

2 Ввод из ListBox

С помощью компонента ListBox можно вводить массивы так же, как и в компонент Memo, только вместо свойства Lines надо использовать свойство Items.

3 Ввод из Edit

Ввод элементов одномерного массива с помощью компонента Edit (в одну строку через пробел) требует создания специальной функции для ввода строки и преобразования ее в массив величин другого типа. Такая функция будет рассмотрена при изучении работы со строками.

 

Таблица 6– Варианты заданий

Заполнить одномерный массив целыми случайными числами из

диапазона [-20; 20] размерностью 10

№ варианта

Определить

1 Минимальный элемент и его порядковый номер  
2 Максимальный элемент и его порядковый номер  
3 Среднее арифметическое значение  
4 Сумму положительных чисел  
5 Сумму отрицательных чисел  
6 Количество элементов равных нулю  
7 Количество элементов большее нуля  
8 Количество элементов меньшее нуля  
9 Сумму квадратов элементов массива  
10 Разницу максимального и минимального элементов  
11 Сумму минимального и максимального элементов  
12 Сумму элементов больше 5  
13 Количество элементов больше 2  
14 Среднее арифметическое значение всех элементов меньше 1  
15 Сумму элементов кратных 2  
16 Сумму простых чисел  
17 Среднее арифметическое значение всех элементов больше 3  
18 Среднее арифметическое значение элементов кратных 5  
19 Разницу между суммой положительных и отрицательных элементов  
20 Произведение всех простых чисел  
21 Произведение всех отрицательных чисел  
22 Количество элементов кратных 3  
23 Элементы в порядке возрастания и их порядковые номера  
24 Элементы в порядке убывания и их порядковые номера  
25 Произведение всех четных элементов  

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

1. Какая общая структура объявления массива?

2. Какая максимальная размерность массива?

3. Как обратится к значению массива?

4. Как хранятся многомерные массивы в памяти?

 

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

1. Отчеты по лабораторным работам должны включать:

· Титульный лист с указанием номера работы, названия дисциплины, темы, группы, ФИО студента, номера варианта;

· Условие задания;

· Листинги программы (если необходимо);

2. При сдаче отчета обязательна загрузка проекта в Borland C++ Builder и демонстрация работы проекта.

 


Поделиться:



Последнее изменение этой страницы: 2019-05-04; Просмотров: 347; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.028 с.)
Главная | Случайная страница | Обратная связь