- •Проект Builder
- •Типы данных
- •Массивы
- •Арифметические операции
- •Математические функции
- •Линейный вычислительный процесс
- •Windows приложение в графической среде
- •Ввод данных с клавиатуры
- •Циклический вычислительный процесс Оператор цикла for
- •Генерация случайных чисел
- •Обработка одномерных массивов
- •Обработка двумерных массивов
Циклический вычислительный процесс Оператор цикла for
Общий вид оператора:
for (выражение_1; выражение_2; выражение_3 ) тело цикла;
выражение_1 — присваивает начальное значение параметру цикла
выражение_2 — условное выражение, задающее условие продолжения цикла
выражение_3 — задаёт изменение параметра цикла
тело цикла — может быть либо простой, либо составной оператор
Пример 3. Создать в графической среде Builder проект для вычисления значения функции
Результат вывести в виде таблицыZ L
………….
Порядок действий:
создать и сохранить проект
разместить объекты, задать им необходимые свойства:
для вывода результатов в виде таблицы установить на форме объект StringGrid1 (страница Addition). Определить количество строк в таблице по формуле ;
задать свойства объекта StringGrid1:
ColCount = 2 (количество столбцов)
RowСount = 21 (количество строк);
объекты Label1 и Label12, дать им заголовки L и Z соответственно;
объект Button1, для запуска проекта.
Дизайн
обработчик события щелчок по кнопке имеет вид:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float x, y, l, z, a; //объявление переменных
int i = 0; //задание начального номера строки
a=3.0;
for (l = -5;l <= 5;l += 0.5)
{
x=3*l+cos(l);
y=2*sin(l);
if (x > l) z = a*x*x+l;
else
z = a*y+x;
StringGrid1->Cells[0][i]=l; // Cells[int Col][int Row]
StringGrid1->Cells[1][i]=z; // вывод результатов в таблицу
i++; // изменение номера строки в таблице
}
}
запустить на выполнение RUN
сохранить отлаженный проект File→ Save All
Генерация случайных чисел
Функция rand() генерирует целое число в диапазоне от 0 до RAND_MAX(константа). Для того чтобы выбрать целые числа в конкретном диапазоне используется операция вычисления остатка % в сочетании с rand:
Например: rand() % 6 целые числа в диапазоне от 0 до 5
1+rand() % 6 целые числа в диапазоне от 1 до 6
rand() % 9 - 4 целые числа в диапазоне от -4 до 4
Совместно с функцией rand используется библиотечная функция srand, которая задаёт точку входа в таблицу случайных чисел.
srand ( time (NULL) );
Функция time возвращает текущее календарное время в секундах. Для подключения этих функций используем
include<stdlib.h>
Обработка одномерных массивов
Пример 4. Сгенерировать одномерный массив целых чисел в диапазоне [-20;20] размерностью 10. Найти среднее арифметическое отрицательных элементов массива. Составить блок-схему алгоритма и создать проект в графической среде Builder.
Порядок действий:
создать новый проект и сохранить его
Дизайн
разместить объекты, задать им необходимые свойства:
объект Label1, свойство Caption → Одномерный массив
объект StringGrid1 (страница Addition)
свойства ColCount → 10 (количество столбцов)
RowСount → 1 (количество строк);
объект Button1 для запуска проекта, свойство Caption → вычислить
объект Label2, свойство Caption → Среднее арифметическое
объект Label3 для вывода результата
обработчик события щелчок по кнопке вычислить имеет вид:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x[10];
double sa;
int i, sum=0, k=0;
srand(time(NULL));
for (i=0;i<=9;i++)
{
x[i]=rand()%41-20; //заполнение массива случайными числами
StringGrid1->Cells[i][0] =x[i]; //вывод массива
if(x[i]<0)
{
sum+=x[i];
k++;
}}
sa=(double)sum/(double)k; //нахождение среднего арифметического
Label3->Caption=sa;
}
запустить на выполнение RUN
сохранить отлаженный проект File→ Save All