Смекни!
smekni.com

Методическая разработка по C++.(45 страниц) (стр. 5 из 6)

Задание:

Составить и получить распечатку программы выбора всех четных чисел от 1 до 1000.

Составить и получить распечатку программы выбора всех нечетных чисел от 1 до 1000.

Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 5, от 1 до 1000.

Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 2, от 1 до 1000.

Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 3, от 1 до 1000.

Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 4, от 1 до 1000.


Лабораторная работа 7

Массивы в ТС++

(2 часа)

Цель работы: Изучение приемов объявления и обращения к массивам, использования функций и директивы define при работе с массивами.

Массивы - это набор объектов одинакового типа, доступ к которым осуществляется прямо по индексу в массиве. Обращение к массивам в (Турбо) Си осуществляется и с помощью указателей .

Массивы можно описывать следующим образом:

тип_данных имя_массива [ размер массива ];

Используя имя массива и индекс, можно адресоваться к элементам массива:

имя_массива [ значение индекса ]

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

Вот несколько примеров описания массивов:

char name [ 20 ];

int grades [ 125 ];

float income [ 30 ];

double measurements [ 1500 ];

Первый из массивов ( name ) содержит 20 символов. Обращением к элементам массива может быть name [0], name [1], ...,name[19].

Второй массив ( grades ) содержит 125 целых чисел. Обращением к элементам массива может быть grades [0],grades [1],...,grades[124].

Третий массив ( incom ) содержит 30 вещественных чисел. Обращением к элементам массива может быть income [0], incom[1],...,income[29].

Четвертый массив (measurements ) содержит 1500 вещественных чисел с двойной точностью. Обращением к элементам массива может быть measurements[0],measurements[1],...,measurements[1499].

/* Программа, иллюстрирующая использование массивов */

/*Файл array.с*/

#include <stdio.h>

#define size 1000

int data [size];

main ( )

{

extern float average (int a[ ], int s );

int i;

for ( i=0; i<size ; i++­_)

data [ i ]­­­­­­­­= i;

printf ( “&bsol;nСреднее значение массива data =%f&bsol;n”,average (data,size));

}

float average (int a[ ] ,int s )

{

float sum=0.0;

int i;

for ( i=0; i<s ; i ++)

sum+=a[ i ];

return sum/s;

}

В программе заводится массив на 1000 целых чисел. При помощи функции average подсчитывается сумма элементов этого массива. Первым формальным параметром функции average является массив. В качестве второго параметра функции передается число суммируемых значений в массиве a. Обратите внимание на использование константы size (размер). Если изменяется размерность массива, задаваемая этой константой, то это не приводит к необходимости менять что-либо в самом коде программы.

Задание:

Составить и распечатать программу, решающую задачу вычисления максимального и минимального значений с использованием функций max и min. В качестве входных значений для указанных функций задаются массив чисел с плавающей точкой и размер такого массива.


ИТОГОВЫЕ КОНТРОЛЬНЫЕ ЗАДАНИЯ.

1. Построить 10 вложенных квадратов окрашенных поочередно в зеленый и красные цвета.


2. Получить в центре экрана изображение, состоящее из 10 вложенных квадратов со сторонами 10,20,30,...,100 :


3. Вывести на экран 2 прямоугольника. Один заштриховать

вертикальными прямыми, другой - горизонтальными:


4.Построить прямоугольник со сторонами 30 и 50, центр которого совмещен с центром экрана. Стороны прямоугольника должны быть параллельны сторонам экрана.

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

6.Дано 6 целых чисел, определяющих положение вершин треугольника, расположенного в левой половине экрана. Построить на экране этот треугольник, а также треугольник, симметричный данному относительно вертикальной прямой, проходящей через середину экрана.

7.Четыре целых числа задают положение концов отрезков на экране. Получить изображение этого отрезка и изображение отрезка, центрально-симметричного данному относительно точки, расположенной в центре экрана.

8.Получить в центре экрана изображение, состоящее из 9 вложенных квадратов и раскрасить его 3 цветами.

9.Построить 9 концентрических окружностей, окрашенных поочередно в зеленый, красный и коричневый цвета.


1.Транспонированием квадратной матрицы называется такое ее преобразование, при котором строки и столбцы меняются ролями: i-й столбец становится i-й строкой. Например, транспонирование матрицы:

0 1 2 0 3 6

3 4 5 дает матрицу 1 4 7

6 7 8 2 5 8

Дана квадратная матрица размера n*n.

Получить транспонированную матрицу.

2.Таблица круга футбольного чемпионата, в котором участвовало n команд, задана своей верхней правой частью: первые n чисел данной последовательности С1,С2,... относятся к первой строке таблицы, следующие n-1 чисел - ко второй и т.д. Построить всю таблицу целиком.

3.Шахматную доску будем представлять символьной матрицей размера 8*8. Даны натуральные р и q (1<=p<=8,1<=q<=8)- но 8 мера вертикали и горизонтали, определяющие местоположение ферзя. Соответствующий элемент матрицы надо положить равными символу Ф. Поля, находящиеся под угрозой ферзя, надо положить равными символу *, а остальные поля - символу 0. Строки матрицы вывести одну под другой. Решить аналогичную задачу для коня.

1.Дана действительная матрица (xij) размера m*n; упорядочить (переставить) строки матрицы:

а) по неубыванию сумм элементов строк,

б) по неубыванию наименьших элементов строк,

в) по невозрастанию наибольших элементов.

УКАЗАНИЕ: Определить числовой массив: b1,...,bm, положив равным, соответственно, сумме элементов i-й строки, наименьшему элементу i-й строки, наибольшему элементу i-й строки. Можно вместо массива: b1,...,bm рассмотреть дополнительный столбец x1n+1, x2n+1,...,xmn+1.

2.В данной целочисленной квадратной матрице размером n*n (n-некоторая константа) указать индексы всех элементов, имеющих наибольшее значение.

3.Дано: натуральные x1,y1,...,x10,y10, целочисленная матрица (aij) (i=1,...,10,j=1,...,10). Последовательность x1,y1,...,x10, y10 задает положение 10 точек на экране. Матрица указывает, как точки соединены между собой: aij=1, или i-я точка соединена с j-й и aij=0 в противном случае (aij=aji). Получить на экране точки, заданные последовательностью x1,y1,...,x10,y10 и соединить их так, как указано в данной матрице.

4.Дана целочисленная квадратная матрица (aij) размера 7*7..

Получить b1,...,b7, где bi- это:

а) наименьшее из значений элементов, находящихся в начале i-й

строки матрицы до элемента aii включительно,

б) значение 1 по порядку положительного элемента i-й строки

( если таких элементов нет, то принять bi=-1. )

5.Дана действительная квадратная матрица размера n*n. Получить x1xn+x2xn-1+...+xnx1, где xk- наибольшее значение элементов k-го столбца данной матрицы.

1.Написать программу, в ходе выполнения которой круг зеленого цвета, появившись в центре экрана и постепенно расширяясь, увеличивается в размерах в 3 раза, а затем сжимается до начальных размеров.

2.Даны 3 целых числа, определяющих положение центра окружности на экране и ее радиус. Если окружность не пересекает горизонтальную прямую, проходящую через середину экрана, то высветить данную окружность и окружность, симметричную данной относительно этой прямой.

3.Написать программу, в ходе выполнения которой зеленый квадрат, появившись в левом верхнем углу экрана, перемещается вправо вниз по диагонали.

4.Пропеллер состоит из 2 закрашенных треугольников. Получить на экране вращающийся пропеллер.

5.Дано 2 натуральных числа. Написать программу, в ходе выполнения которой отрезок, появившись в левом верхнем углу экрана, передвинется по экрану так, что его левый конец совместится с точкой, положение которой определяется данными числами. Весь путь отрезка должен состоять из 2 участков - горизонтального и вертикального.

6.Дано 8 натуральных чисел x1,y1,l1,h1 и x2,y2,l2,h2. Каждая четверка чисел задает положение на экране прямоугольника со сторонами, параллельными сторонам экрана. Значения x1,y1 определяет положение левого нижнего угла прямоугольника с номером i (i=1,2),li-длину основания, hi-высоту. Построить прямоугольник и закрасить 1-й зеленым цветом, второй- красным. Если прямоугольники пересекаются, то их общую часть закрасить коричневым цветом.

7.Дана последовательность, состоящая из 40 натуральных чисел x1,y1,l1,h1,...,x10,y10,l10,h10. Каждая 4-ка чисел xi,yi,li,hi задает положение прямоугольника на экране. Высветить все прямоугольники и закрасить их коричневым цветом.