
- •Лабораторная работа 1
- •Лабораторная работа 2 Переменные и константы. Базовые типы. Арифметические операции
- •Операции
- •Ввод и вывод данных
- •Лабораторная работа 3 Циклический и ветвящийся поток управления
- •Алгоритмы разветвляющейся структуры
- •Операторы выбора
- •Операторы циклов
- •Операторы перехода
- •Задание
- •Лабораторная работа 4 Функции. Вызов функций с формальными параметрами, передаваемыми по значению
- •Задание
- •Лабораторная работа 5 Одномерные массивы
- •Задание
- •Лабораторная работа 6 Многомерные массивы
- •Задание
- •Лабораторная работа 7 Функции для работы с символами
- •Лабораторная работа 8 Строки, литералы. Передача строк в функции
- •Строки и литералы
- •Библиотечные функции для работы со строками
- •Выделение памяти под строки
- •Передача строк в качестве параметров функций
- •Задание
- •Лабораторная работа 9 Указатели и динамические массивы
- •Задание
- •Варианты
- •Лабораторная работа 10 Динамические структуры данных
- •Структуры и указатели
- •Задание
- •Лабораторная работа 11 Объектно-ориентированное программирование. Создание классов и объектов
- •Задание
- •Лабораторная работа 12 Знакомство со средой быстрой разработки приложений. Использование компонент библиотеки vcl
- •Лабораторная работа 13 Вывод в форму результатов работы программы
- •Лабораторная работа 14 Изучение обработчиков событий компонентов библиотеки vcl
- •Лабораторная работа 15 Использование таймера для создания различных эффектов
- •Лабораторная работа 16 Рисование в канве. Построение графиков функций
- •Лабораторная работа 17 Изучение принципа работы текстового редактора
- •Список рекомендуемой литературы
- •Оглавление
Задание
Запустите C++Builder.
Составьте программу в соответствии с вашим вариантом задания, вычисляющую многократно значение функции при изменении аргумента в указанном диапазоне и с заданным шагом (см. таблицу вариантов задания). Вычисления проводить в отдельной функции. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы:
x |
y(x) |
… |
… |
… |
… |
Выполнить компиляцию программы. При наличии ошибок внести исправления.
Сдайте отчет преподавателю.
Варианты
№ |
Функция |
Диапазон изменения аргумента и шаг (h) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Продолжение табл.
№ |
Функция |
Диапазон изменения аргумента и шаг (h) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Продолжение табл.
№ |
Функция |
Диапазон изменения аргумента и шаг (h) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Продолжение табл.
№ |
Функция |
Диапазон изменения аргумента и шаг (h) |
|
|
|
|
|
|
Лабораторная работа 5 Одномерные массивы
Цель работы – познакомиться с одномерными массивами, приобрести навыки написания программ на языке C++ с использованием одномерных массивов.
Теория
Массив – это структура однотипных данных, занимающих непрерывную область памяти. Массив имеет размер – количество элементов в нем. Определение одномерного массива:
type имя_массива [константное_выражение];
Здесь имя_массива – идентификатор; константное_выражение – количество элементов в массиве; type – произвольный тип данных языка C++, который будут иметь элементы массива, например, int, double и т.д. В некоторых случаях допустимо описание массива без указания количества его элементов, т.е. без константного выражения в квадратных скобках.
Каждый элемент массива имеет свой номер (также называемый индексом), обращение к элементу массива осуществляется путем указания его индекса. В языке C++ элементы нумеруются, начиная с 0, поэтому последний элемент массива имеет номер на 1 меньше размера массива.
Пример
//Здесь создаются 4 элемента массива – a[0], a[1], a[2], a[3].
float a[4];
При определении массива может выполняться его инициализация, т.е. элементы массива получают конкретные значения. Инициализация выполняется по умолчанию, если массив статический или внешний. В этих случаях всем элементам массива компилятор автоматически присваивает нулевые значения.
Пример
void f (void)
{
static float F[4]; //Внутренний статический массив
long double A[10] ; //Массив автоматической памяти
}
void main ()
{
extern int D[]; //Описание массива
…
f ();
…
}
int D[8]; //Внешний массив (определение)
Массивы D[8], F[4] инициализированы нулевыми значениями.
Явная инициализация элементов массива разрешена только при его определении и возможна двумя способами: либо с указанием размера массива в квадратных скобках, либо без явного указания (без конкретного выражения) в квадратных скобках.
Пример
char СН[] = { 'А', 'В', 'С', 'D'}; //Массив из 4 элементов
int IN[6] = { 10, 20, 30, 40 }; //Массив из 6 элементов
char STR[] == "ABCD", //Массив и» 5 элементов
В тех случаях, когда массив не определяется, а описывается, список начальных значений задавать нельзя. В описании массива может отсутствовать и его размер.
Пример
/*программа, которая создает массив типа int[], заданного размера, считывает с клавиатуры его элементы, затем прибавляет к каждому элементу массива число 1, затем выводит результат на экран*/
#include <iostream.h>
int main()
{
const int n=20; //Размер массива
int i; //Счетчик в циклах
int arr[n]; //Объявление массива
//Считываем массив
cout<<"Введите "<<n<<" целых чисел: ";
for(i=0;i<n; ++i)
cin>>arr[i];
//Прибавляем по 1 к каждому элементу
for(i=0;i<n;++i)
arr[i]+=1;
//Выводим массив на экран
for(i=0;i<n;++i)
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}
При написании программ часто возникает потребность в присвоении переменной случайного значения или в заполнении массива случайными числами. Для этого используется генератор случайных значений rand ()%n, который генерирует псевдослучайные числа в диапазоне от 0 до n-1. Для того чтобы генератор работал, необходимо подключить библиотеки <stdlib.h> и <stdio.h>, а до использования генератора написать функцию randomize(), которая инициализирует генератор.
Пример
/*программа, которая выводит на экран 10 чисел, сгенерированных случайным образом*/
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int i;
randomize();
printf("Ten random numbers from 0 to 99\n\n");
for(i=0; i<10; i++)
printf("%d\n", rand() % 100);
return 0;
}
/*программа, которая заполняет массив с помощью генератора случайным чисел*/
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int i;
randomize();
const int n=20;
int arr[n];
for(i=0;i<n; ++i)
arr[i]= rand() % 100;
return 0;
}