Автор работы: Пользователь скрыл имя, 09 Февраля 2015 в 19:58, реферат
С++ - это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества С++ обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование С++ в качестве инструментального языка позволяет получать быстрые и компактные программы. Во многих случаях программы, написанные на С++, сравнимы по скорости с программами, написанными на языке ассемблера.
Введение
1. Работа с экранным меню Турбо Си
2. Ввод - вывод данных
3. Операторы и операции.
4. Функции
5. Типы констант. Использование констант вТурбо Си
6. Управляющие структуры
7. Массивы в ТС++
Задачи
Одни символьные константы соответствуют символам, которые можно вывести на печать, другие - управляющим символам, задаваемым с помощью esc - последовательности, третьи - форматирующими символами, также задаваемым с помощью esc - последовательности.
Например:
символ " апостроф " задается как '\'', переход на новую
строку - как '\', а обратный слэш - как '\\'.
Каждая esc - последовательность должна быть заключена в кавычки.
Управляющие коды
\n Новая строка
\t Горизонтальная табуляция
\v Вертикальная табуляция
\b Возврат на символ
\r Возврат в начало строки
\f Прогон бумаги до конца страницы
\\ Обратный слэш
\' Одинарная кавычка
\" Двойная кавычка
\а Звуковой сигнал
\? Знал вопроса
\ddd Код символа в ASCII от одной до трех восьмеричных цифр
\xhhh Код символа в ASCII от одной до трех шестнадцатеричных цифр.
Строковые константы
Строковые константы состоят из нуля или более символов, заключенных в двойные кавычки. В строковых константах управляющие коды задаются с помощью esc - последовательности. Обратный слэш используется как символ переноса текста на новую строку.
Пример описания строковых констант:
# include <stdio.h>
main( )
{
char *str1, *str2;
str1=“ Пример использования\n\n”;
str2=“строковых\
констант.\n\n”;
printf(str1);
printf(str2);
}
Программа выведет следующий текст:
Пример использования
строковых констант.
Задание: Написать и распечатать программу, выводящую на экран строковую константу и число, состоящее из цифр вашего дня рождения, заданное в виде десятичной, восьмеричной и шестнадцатеричной константы.
Лабораторная работа 6
Управляющие структуры (Турбо) Си
(2 часа)
Цель работы: Изучение приемов использования операторов ветвления и операторов циклов в Турбо Си.
Управляющие структуры или операторы управления служат для управления последовательностью вычислений в программе. Операторы ветвления и циклы позволяют переходить к выполнению другой части программы или выполнять какую-то часть программы многократно, пока удовлетворяется одно или более условий .
Блоки и составные операторы.
Любая последовательность операторов, заключенная в фигурные скобки, является составным оператором(блоком). Составной оператор не должен заканчиваться (;), поскольку ограничителем блока служит сама закрывающаяся скобка. Внутри блока каждый оператор должен ограничиваться (;).
Составной оператор может использоваться везде, где синтаксис языка допускает применение обычного оператора.
Пустой оператор.
Пустой оператор представляется символом (;), перед которым нет выражения. Пустой оператор используют там, где синтаксис языка требует присутствия в данном месте программы оператора, однако по логике программы оператор должен отсутствовать.
Необходимость в использовании пустого оператора часто возникает, когда действия, которые могут быть выполнены в теле цикла, целиком помещаются в заголовке цикла.
Операторы ветвления.
К операторам ветвления относятся if, if else, ?,switch и go to. Общий вид операторов ветвления следующий:
if (логическое выражение)
оператор;
------------------------------
if (логическое выражение)
оператор_1;
else
оператор_2;
------------------------------
<логическое выражение> ? <выражение_1> : <выражение_2>;
Если значение логического выражения истинно, то вычисляется выражение_1, в противном случае вычисляется выражение_2.
------------------------------
switch (выражение целого типа)
{
case значение_1:
последовательность_операторов_
break;
case значение_2:
последовательность_операторов_
break;
. . .
case значение_n:
последовательность_операторов_
break;
default:
последовательность_операторов_
}
Ветку default можно не описывать. Она выполняется, если ни одно из вышестоящих выражений не удовлетворено.
------------------------------
Оператор цикла.
В Турбо Си имеются следующие конструкции, позволяющие программировать циклы: while, do while и for. Их структуру можно описать следующим образом:
while( логическое выражение)
оператор;
Цикл с проверкой условия наверху
------------------------------
do
оператор;
while (логическое выражение);
Цикл с проверкой условия внизу
------------------------------
for (инициализация, проверка, новое_значение)
оператор;
------------------------------
Задание:
Лабораторная работа 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[
/* Программа, иллюстрирующая использование массивов */
/*Файл 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 ( “\nСреднее значение массива data =%f\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
3 4 5 дает матрицу 1 4 7
6 7 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 и соединить их так, как указано в данной матрице.