Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
poa.doc
Скачиваний:
24
Добавлен:
15.03.2015
Размер:
1.02 Mб
Скачать

Лабораторная работа 1. Условный оператор if и операторы цикла

Вычислить множество значений y, где x меняется с заданным шагом в заданном диапазоне. Сделать три версии программы, используя все операторы цикла.

1. Шаг: 1. Диапазон [-20, 20]

2. Шаг: 5. Диапазон [-30, 30]

3. Шаг: 20. Диапазон [-40, 40]

4. Шаг: 1. Диапазон [-10, 10]

5. Шаг: 5. Диапазон [-20, 20]

6. Шаг: 6. Диапазон [-30, 30]

7. Шаг: 10. Диапазон [-40, 40]

8. Шаг: 8. Диапазон [-50, 20]

Пример

Шаг: 10. Диапазон [-20, 60]

Цикл FOR:

# include <iostream.h>

# include <conio.h>

void main(void)

{const a=-20, b=60, c=10;

float x, y;

clrscr();

for (x=a; x<=b; x+=c)

{

if (x<2) y=30+2*x;

else if (x>=50) y=x+6;

else y=6-2*x;

cout<<"x="<<x<<": y="<<y<<"\n";

}

getche();

}

Цикл WHILE:

# include <iostream.h>

# include <conio.h>

void main(void)

{const a=-20, b=60, c=10;

float x=a, y;

clrscr();

while (x<=b)

{

if (x<2) y=30+2*x;

else if (x>=50) y=x+6;

else y=6-2*x;

cout<<"x="<<x<<": y="<<y<<"\n";

x+=c;

}

getche();

}

Цикл DO-WHILE:

# include <iostream.h>

# include <conio.h>

void main(void)

{const a=-20, b=60, c=10;

float x=a, y;

clrscr();

do

{

if (x<2) y=30+2*x;

else if (x>=50) y=x+6;

else y=6-2*x;

cout<<"x="<<x<<": y="<<y<<"\n";

x+=c;

}

while (x<=b);

getche();

}

4. Массивы, строки и указатели

В языках Си/Си++, кроме базовых типов, разрешено вводить и использовать производные типы, полученные на основе базовых. Массивы и указатели – наиболее простые и известные производные типы.

4.1. Одномерные массивы

Массив – это упорядоченная последовательность переменных одного типа. Каждому элементу массива отводится одна ячейка памяти. Элементы одного массива занимают последовательно расположенные ячейки памяти. Все элементы имеют одно имя – имя массива и отличаются индексами – порядковыми номерами в массиве. Количество элементов в массиве называется его размером. Чтобы отвести в памяти нужное количество ячеек для размещения массива, надо заранее знать его размер. Резервирование памяти для массива выполняется на этапе компиляции программы.

Int a[100]; // массив из 100 элементов целого типа

Операция sizeof(a) даст результат 400, т. е. 100 элементов по 4 байта.

Элементы массива всегда нумеруются с 0.

Чтобы обратиться к элементу массива, надо указать имя массива и номер элемента в массиве (индекс):

a[55] – индекс задается как константа,

a[I] – индекс задается как переменная,

a[2*I] – индекс задается как выражение.

Элементы массива можно задавать при его определении:

int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

Операция sizeof(a) даст результат 40, т.е. 10 элементов по 4 байта.

Если количество значений меньше, чем объявленная длина массива, то эти значения получат только первые элементы, остальные будут содержать так называемый «мусор»:

int a[10]={1, 2, 3, 4, 5};

Если размер массива не указан явно, то его длина вычисляется компилятором по количеству значений, перечисленных при инициализации:

int a[ ]={1, 2, 3, 4, 5};

Здесь будет определен массив из 5 элементов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]