Работа с экранным меню Турбо Си

Автор работы: Пользователь скрыл имя, 09 Февраля 2015 в 19:58, реферат

Описание работы

С++ - это язык программирования общего назначения, хорошо известный своей эффективностью, экономичностью, и переносимостью. Указанные преимущества С++ обеспечивают хорошее качество разработки почти любого вида программного продукта. Использование С++ в качестве инструментального языка позволяет получать быстрые и компактные программы. Во многих случаях программы, написанные на С++, сравнимы по скорости с программами, написанными на языке ассемблера.

Содержание работы

Введение
1. Работа с экранным меню Турбо Си
2. Ввод - вывод данных
3. Операторы и операции.
4. Функции
5. Типы констант. Использование констант вТурбо Си
6. Управляющие структуры
7. Массивы в ТС++
Задачи

Файлы: 1 файл

реферат.DOC

— 109.00 Кб (Скачать файл)

Одни символьные константы соответствуют символам, которые можно вывести на печать, другие - управляющим символам, задаваемым с помощью 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:

последовательность_операторов_1;

break;

case значение_2:

последовательность_операторов_2;

break;

. . .

case значение_n:

последовательность_операторов_n;

break;

default:

последовательность_операторов_n+1;

}

Ветку default можно не описывать. Она выполняется, если ни одно из вышестоящих выражений не удовлетворено.

-------------------------------------------------------------------

Оператор цикла.

В Турбо Си имеются следующие конструкции, позволяющие программировать циклы: while, do while и for. Их структуру можно описать следующим образом:

while( логическое выражение)

оператор;

Цикл с проверкой условия наверху

--------------------------------------------------------------

do

оператор;

while (логическое выражение);

Цикл с проверкой условия внизу

--------------------------------------------------------------

for (инициализация, проверка, новое_значение)

оператор;

----------------------------------------------------------------

 

Задание:

  1. Составить и получить распечатку программы выбора всех четных чисел от 1 до 1000.
  2. Составить и получить распечатку программы выбора всех нечетных чисел от 1 до 1000.
  3. Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 5, от 1 до 1000.
  4. Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 2, от 1 до 1000.
  5. Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 3, от 1 до 1000.
  6. Составить и получить распечатку программы выбора всех чисел, заканчивающихся на цифру 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 ( “\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                                       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 и соединить их так, как указано в данной матрице.

Информация о работе Работа с экранным меню Турбо Си