Вы находитесь на странице: 1из 42

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Программирование на языке Си

Методические указания
к выполнению лабораторных работ

Пенза 2001
2
УДК 681.3.06

Даны методические указания к проведению 12 лабораторных работ и


соответствующие лабораторные задания. Работы выполняются в рамках
дисциплины "Алгоритмические языки и программирование" и ориентированы
на изучение представления и обработки данных на языке Си. Приведены
описания общих принципов подготовки, выполнения и отладки программ в
системе программирования Си++.
Методические указания подготовлены на кафедре "Вычислительная
техника" и предназначены для студентов специальности 220100.

Ил. 2.

Составители: Л.Г. Коннова, М.Ю. Кулагина, А.В. Никишин, Н.И. Шевченко.

Рецензент: В.В. Духовников, начальник отдела ГНПП "Рубин"


3

Порядок выполнения лабораторных работ


Перед выполнением каждой лабораторной работы необходимо изучить
теоретический материал по теме работы. Вся подготовительная работа - выбор
метода решения задачи, разработка структуры данных и структуры программы,
разработка схемы и текста программы - выполняется до начала лабораторного
занятия. На занятии выполняется:
- ввод текста программы в ПЭВМ;
- отладка программы;
- выполнение программы;
- печать программы и результатов ее работы.
- сдача (защита) отчета по предыдущей работе.
Отчет по текущей работе оформляются после лабораторного занятия и
представляется в начале следующего занятия.

Требования к оформлению работ

По каждой лабораторной работе составляется отчет (один на бригаду),


который должен содержать:
- титульный лист;
- название и цель работы;
- лабораторное задание;
- описание метода решения задачи;
- схему программы;
- распечатку программы и результатов ее выполнения;
- пояснительный текст к программе (описание структуры программы,
назначения ее основных переменных, способов реализации отдельных функций
и т.д.);
- выводы, которые должны доказывать или оценивать правильность
составленной программы или объяснять допущенные ошибки.
4
Программа должна включать:
- комментарий, в котором указывается номер лабораторной работы,
фамилии и учебная группа членов бригады;
- вывод исходных данных по следующей схеме:
<идентификатор переменной> = <значение переменной>;
-вывод результатов с комментариями.
Отчет оформляется на листах формата А4 (297*210).

Пример программы на С++

Представленная в примере программа (рис. 1) осуществляет вычисление


функции по формуле:
y  ((sin(c))3 * (cos(a))2 ) / (5 * (sin( b))d  2 / 15.
Исходными данными для вычислений являются: значения переменных a, b,
c, d и значения постоянных величин 2 и 15. Числовые значения постоянных
величин задаются непосредственно в программе в виде констант, а числовые
значения переменных вводятся с клавиатуры. Это позволяет вычислять значение
функции при различных значениях переменных.

// Лабораторная работа 1
// Выполнили студенты группы 96ВВ-1
// Иванов И.И, Петров П.П, Сидоров С.С.
#include <stdio.h> //Указание прототи-
#include <conio.h> //пов библиотечных
#include <math.h> //функций
void main()
{
const double k1=2.0; //Декларация
const double k2=15.0; // констант
double a,b,c,d,s1,s2,s3,y; // и переменных
clrscr(); //Очистка экрана
printf("Введите значения переменных a, b, c, d: ");
//Сообщение
// для пользователя
5
scanf("%lf%lf%lf%lf",&a,&b,&c,&d); //Ввод переменных
s1=pow(sin(c),3); //Промежу-
s2=pow(cos(a),2); // точные
s3=pow(sin(b),d); // вычисления
у=(s1*s2)/(5*s3)+k1/k2; //Вычисление y
printf("Искомое значение y=%lf\n",y); //Вывод
// результата
} //Конец программы
Рис. 1. Пример программы.
Первые три строки программы представляют собой комментарий, в
котором указывается номер лабораторной работы и сведения о ее исполнителях.
Затем следуют три строки, указывающие на необходимость включения в
данный файл трех заголовочных файлов (*.h), находящихся в стандартной
директории и содержащих внешние декларации (прототипы) библиотечных
функций clrscr(), printf(), scanf(), sin(), cos(), pow(). Библиотеки, содержащие
данные функции также находятся в стандартной директории.
Следующая строка является декларацией функции main() с указанием
имени функции и типа возвращаемого значения (void - никакое значение
функцией не возвращается). Каждая программа обязательно должна иметь одну
функцию со стандартным именем main().
Далее в фигурных скобках описывается тело функции. Назначение
отдельных операторов программы указывается в виде комментариев.
Диалог с пользователем ведется на пользовательском зкране (User screen),
который после выполнения данной программы будет содержать следующую
информацию:

Введите значения переменных a, b, c, d: 9.5 1.365 6.65


Искомое значение y=0.140023

Числовые значения переменных a, b, c, d вводятся с клавиатуры после


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

Среда С++

В разделе приводятся краткие сведения об основных приемах работы в


среде Borland С++ (версии 2.0, 3.1 и др.).
После успешного вызова системы на экране устанавливается окно
редактора, предназначенное для ввода и коррекции текста программ. В его
верхней строке указывается имя того дискового файла, откуда был прочитан
текст программы (или имя NONAMED.C, если текст с диска не читался), два
специальных поля, используемых при работе с устройством ввода "мышь" и
цифра 1 - номер окна. В С++ можно работать одновременно с несколькими
программами (или частями одной программы), каждая из которых может
располагаться в отдельном окне редактора. Среда позволяет использовать до
девяти окон редактора одновременно.
Ниже окна редактора располагается окно MESSAGE, предназначенное для
вывода сообщений для пользователя. Данное окно, которое в общем случае
называется коммуникационным, может служить и для других целей. В
частности, здесь можно наблюдать за значением переменных и выражений
(окно в этом случае будет называться WATCHES). Кроме того, при выполнении
некоторых команд на экране могут присутствовать дополнительные окна и
рамки.
В каждый момент времени активным может быть только одно окно, которое
выделяется дополнительной рамкой.
Верхняя строка экрана содержит главное меню С++, нижняя - краткую
информацию о назначении основных функциональных клавиш.
Для выхода из С++ следует нажать клавишу Alt и, не отпуская ее, - клавишу
с латинской буквой X.
7

Работа с меню

Для перехода из окна редактора к главному меню для выбора одной из


команд используется функциональная клавиша F10. Для возврата в окно
редактора - клавиша Esc.
Главное меню постоянно присутствует на экране и содержит фактически
лишь оглавление дополнительных (выпадающих) меню. В этих меню
сгруппированы близкие по своему характеру действия, условное название
которых и служит кодовым словом соответствующего пункта главного меню.
Ниже перечисляются основные пункты главного меню:
- Е - вспомогательные действия (информация о версии языка, очистка
экрана или восстановление его содержимого и т.д.);
- File (файл) - действия с файлами и каталогами, выход из системы;
- Edit (редактировать) - операции с блоками и временным буфером, отмена
последней команды;
- Search (искать) - поиск текста, строки, функции или места ошибки;
- Run (запустить) - запуск программы в нормальном или отладочном
режимах, задание аргументов командной строки;
- Compile (компилировать) - компиляция и/или линкование программы;
- Debug (отлаживать) - отладка программы;
- Project (проект) - работа с проектом программы, размещенной в
нескольких файлах;
- Options (режимы) - установка и сохранение параметров среды;
- Window (окно) - работа с окнами;
- Help (помощь) - обращение к справочной службе.
Способы выбора команд из меню:
8
1. Нажать клавишу F10. С помощью клавиш ¬ и ® выбрать нужный пункт
главного меню и нажать клавишу Enter. В появившемся подчиненном меню
выбрать нужную команду с помощью клавиш ¯ и и нажать клавишу Enter.
2. Поместить указатель мыши на нужный пункт главного меню и нажать
левую кнопку манипулятора. Поместить указатель мыши на нужную команду
появившегося подчиненного меню и также нажать левую кнопку.
3. Нажать комбинацию клавиш Alt-<буква1>-<буква2>, где буква1 -
выделенная буква пункта главного меню, буква2 - выделенная буква команды
подчиненного меню. Например:
Alt-R-G - выбор команды Goto cursor пункта меню Run.
4. С помощью функциональных клавиш или их комбинации. Например,
нажатие на клавишу F4 эквивалентно комбинации
Alt-R-G.

Функциональные клавиши

Ниже прводится перечень функциональных клавиш, наиболее часто


используемых при разработке и отладке программы
F1 - обратиться за справкой к справочной службе (Help-помощь);
F2 - записать редактируемый текст в дисковый файл;
F3 - прочитать текст из дискового файла в окно редактора (открыть файл);
F4 - используется при отладке программы: начать или продолжить
выполнение программы и остановиться перед выполнением той строки, где
стоит курсор;
F5 - "распахнуть" активное окно на весь экран;
F6 - сделать активным следующее по номеру окно;
F7 - используется при отладке: выполнить следующую строку программы
(с возможностью построчного выполнения вызываемых функций);
9
F8 - используется при отладке: выполнить следующую строку программы
(без прослеживания работы функции - вызов функции и ее исполнение
происходят за один шаг);
F9 - компилировать программу в режиме Compile с формированием файла
типа *.obj;
F10 - перейти к диалоговому выбору режима работы с помощью главного
меню;
Ctrl-F1 - вывод справочной информации относительно идентификатора,
выделенного курсором;
Ctrl-F2 - прекратить выполнение программы (например, при ее
зацикливании);
Ctrl-F3 - выдать на экран рамку стека вызовов функций при отладке
программы;
Ctrl-F4 - выдать на экран рамку вычисления/модификации значений
переменных и выражений Evaluate/modify при отладке программы;
Ctrl-F5 - перемещение или изменение размеров активного окна;
Ctrl-F8 - установка/снятие контрольной точки в строке, где находится
курсор;
Ctrl-F9 - скомпилировать программу в режиме Make с формированием
файла типа *.exe, загрузить ее в оперативную память и выполнить;
Alt-0 - выдать на экран список открытых окон;
Alt-<цифра> - активизация окна, номер которого определяется указанной
цифрой;
Alt-F3 - закрытие активного в данный момент окна;
Alt-F4 - проверка значения указанной переменной (команда Debug-Inspect);
Alt-F5 - переключение на пользовательский экран (User Screen), на который
выводятся сообщения из программы;
Alt-F7 - перемещение к месту предыдущей ошибки;
10
Alt-F8 - перемещение к месту следующей ошибки;

Работа с файлами и каталогами

Для работы с файлами и каталогами служит пункт главного меню File,


включающий следующие команды:
Open - открыть файл, находящийся на диске (клавиша F3);
New - создать новый файл;
Save - сохранить файл на диске под тем же именем (клавиша F2);
Save as - сохранить вновь созданный файл на диске с указанием его имени
или существующий файл под новым именем;
Save all - сохранить файлы из всех редакционных окон;
Change dir - смена текущего каталога;
Print - печать программ и результатов;
Get info - получение справочной информации о программе, находящейся в
активном редакционном окне;
DOS Shell - временный выход в среду DOS для выполения одной или
нескольких команд DOS; возврат в среду C++ происходит по команде Exit;
Quit - окончательный выход из системы C++ (клавиши Alt-X).

Составление и редактирование программ

Составление и корректировка программ осуществляется с помощью


экранного редактора, являющегося составной частью системы
программирования C++. Ниже приводится перечень основных команд
редактора:
¬,®,,¯ - перемещение курсора на одну позицию соответственно влево,
вправо, вверх, вниз;
Home - перемещение курсора в начало строки;
11
End - перемещение курсора в конец строки;
Ctrl-Home - перемещение курсора в начало первой строки экрана;
Ctrl-End - перемещение курсора в конец последней строки экрана;
PgUp - вызов на экран предыдущей страницы;
PgDn - вызов на экран следующей страницы;
Ctrl-PgUp - перемещение курсора в начало файла;
Ctrl-PgDn - перемешение курсора в конец файла;
Backspase, Delete - стирание символа, расположенного соответственно
справа от курсора или в позиции курсора;
Ctrl-T - удаление последних знаков слова;
Ctrl-QY - удаление последних знаков строки;
Ctrl-Y - удаление строки, на которой находится курсор;
Ins - переключение с режима вставки в режим замены знаков и наоборот.
Команды пункта главного меню Edit:

Undo - отмена последней команды редактора (клавиши Alt-Bsp);


Redo - отмена команды Undo;
Cut - "вырезать" во временный буфер выделенную часть текста (клавиши
Shift-Del);
Copy - скопировать выделенную часть текста во временный буфер
(клавиши Ctrl-Ins);
Paste - вставить текст из временного буфера, начиная с позиции,
определяемой курсором (клавиши Shift-Ins);
Show clipboard - показать содержимое временного буфера;
Clear - очистить временный буфер (клавиши Ctrl-Del).
Выделение текста производится с помощью мыши. Указатель мыши подводится
к началу (концу) выделяемого текста и нажимается левая кнопка. Затем,
удерживая кнопку в нажатом состоянии, необходимо переместить указатель к
12
концу (началу) выделяемого текста и отпустить ккнопку. Выделенный текст
меняет цвет при одновременном изменении фона.

Компиляция программы

Для компиляции программы (без ее выполнения) необходимо выбрать


пункт главного меню Compile. Основные команды компиляции приводятся
ниже:
Compile - компиляция программы, находящейся в редакционном окне
(клавиша F9) с получением объектного модуля (файла типа *.obj);
Make - компиляция одного или нескольких файлов, образующих
программу, с последующим автоматическим линкованием объектных файлов и
получением загрузочного модуля (файла типа *.exe). При этом не происходит
повторная компиляция файлов, для которых уже существуют объектные модули;
Build - компиляция одного или нескольких файлов, образующих
программу, с последующим автоматическим линкованием объектных файлов и
получением загрузочного модуля (файла типа *.exe). Компилируются все файлы,
даже те, для которых уже существуют объектные модули.
Link - линкование (объединение) объектных модулей файлов,
составляющих программу, с получением загрузочного модуля (файла типа
*.exe).
Если исходная программа размещается в нескольких файлах, то для ее
компиляции или линкования необходимо создать проект - перечень файлов,
образующих программу. Проект может быть записан на диск в виде текстового
файла типа *.prj. Для работы с проектом служит пункт главного меню Project.
13
Выполнение программы

Выполнение программы происходит при выборе команды Run пункта


главного меню Run (клавиши Alt-R-R или Ctrl-F9). При этом перед
выполнением программы происходит ее компиляция в режиме Make.

Отладка программы

Все системные сообщения об ошибках компиляции, линкования и


выполнения программы выводятся в окно Messages (на одной строке - одно
сообщение). Перемещение между строками сообщений с помощью клавиш и ¯
сопровождается перемещением текста программы в редакционном окне таким
образом, что в редакционном окне выделяется цветом строка программы,
содержащая ошибку, сообщение о которой выделено цветом в окне сообщений.
Переход между окном сообщений и редакционным окном осуществляется при
нажатии клавиши F6. Находясь в редакционном окне, можно быстро
переместиться по тексту программы к месту предыдущей (Alt-F7) или
следующей (Alt-F8) ошибки.
После анализа ошибок вносятся исправления в исходный текст программы
с последующим повторным ее выполнением.
При отладке программы используются отладочные режимы выполнения
программы, задаваемые при выборе пункта Run главного меню с помощью
следующих команд:
Goto cursor - выполнение программы от начала (от текущей позиции) до
места, отмеченного курсором (клавиши Alt-R-G или F4);
Trace into - пошаговое (построчное) выполнение программы с
прослеживанием выполнения операторов всех вызываемых функций (клавиши
Alt-R-T или F7);
Step over - пошаговое (построчное) выполнение программы без
прослеживания выполнения операторов функций (клавиши
Alt-R-S или F8).
14
С помощью пункта главного меню Debug можно задать режим слежения за
ходом выполнения программы. При этом используются следующие команды:
Inspect - проверка значения заданной переменной, (клавиши Alt-F4);
Evaluate/modify - подсчет/модификация значений заданных переменных и
выражений (клавиши Ctrl-F4);
Call stack - выдача на экран рамки стека вызовов функций, отражающего
порядок вызовов функций (клавиши Ctrl-F3);
Watches - наблюдение за значением заданных переменных и выражений;
Toggle breakpoint - установка/снятие контрольной точки в строке, где
находится курсор; контрольная точка - строка программы, выделенная цветом,
перед выполнением которой программа останавливается (клавиши Ctrl-F8);
Breakpoints - установка и снятие адресных и условных контрольных точек.
15

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

ТИПЫ ДАННЫХ И ОПЕРАЦИИ


Цель работы - изучение основных типов данных, способов описания
переменных различных типов, операторов присваивания и вызова функций
вывода.

Методические указания
При выполнении задания к данной лабораторной работе необходимо в
программе использовать два способа задания числовых значений исходных
данных:
- при описании типа переменных;
- оператором присваивания.
Вывод исходных данных и результатов вычисления с комментариями
необходимо выполнить на отдельных строках с использованием функции printf()
с различными модификаторами и спецификациями:
- вывод с левой позиции поля заданной ширины;
- вывод с заданной минимальной шириной поля для целых чисел;
- вывод чисел с плавающей точкой в десятичной и экспоненциальной
форме с заданной точностью.

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта и содержащее
вычисляемое выражение и числовые значения исходных данных .
2. Составить программу, осуществляющую вычисление выражения, вывод
исходных данных и результата. Вывод сопроводить комментариями.
3. Выполнить программу на ЭВМ.

Варианты лабораторных заданий


Вычислить:
1. Y=(arccos(A/B-B)-B/2*log( A 2  B 2 ) , при A=5, B=2.35.
2. Y  ((A  B) / (C  D )) 2  B 2 , при A=6.84, B=3.22, C=4,D=2.5.
3. Y  lg( B  tan(A )) , при A=4, B=13.6.
4. Y  (sin(C )) 3 * (cos(A )) 2 / (5 * sin(B) D ) , при А=9.5, B=1.365,
C=6.6, D=3.
16
5. Y  2 * A * arcsin(314
. / B) , при A=8, B=5.6.
6. Y  2 * B * ln(A  B) / D 2 , при A=5.6, B=2.8, D=3.
7. Y  2 * (A D  4 * C 2 / 3) , при A=5.95, C=3.6, D=-3.
8. Y  05. * lg((1  sin(B)) / (1  sin(A ))) * (C  D ) , при A=3.14, B=-1.57,
C=10.5, D=8.
9. Y  1 / A 2 * (B / 10) 3 * (C  D ) 2 , при A=2.6, B=56.6, C=35, D=-20.3
10. Y  ((A / B  1) / (C / D  1)) 2 , при A=-6, B=1.64, C=0.16, D=0.8.
11. Y  (A  B) / (C  D / (A  C )) , при A=25, B=8.5, C=0.56, D=0.01.
12. Y  sin(A  B  C  D ) 2  tan(A  C ) , при A=8.4, B=-6.4, C=4, D=-
7.
13. Y  (A  B  C ) 2  (A  B  C ) 2 , при A=25, B=8, C=12.5
14. Y  (A 2  B 2  C 2 ) / ln(A * B * C ) , при A=0.6, B=0.5, C=6.
15. Y  A * D 3 / 3  B * C 2 / 2 , при A=0.3, B=2.8, C=-4.5, D=1.35.
17

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

ФУНКЦИИ ВВОДА-ВЫВОДА
Цель работы - изучение функций ввода-вывода и получение навыков
организации простейшего ввода - вывода данных.

Методические указания
При выполнении задания к данной лабораторной работе необходимо в
программе выполнить ввод и вывод данных различных типов:
-ввод символа и его вывод в символьном виде и в виде кода (формат %с);
-ввод строки символов (длина не менее 15 символов), определение ee
длины и вывод строки символов с указанием ее длины (формат %s);
-ввод двух целых десятичных чисел (положительного и отрицательного) и
их вывод в десятичном (формат %d) и шестнадцатиричном виде без
модификации и с модификацией (вывод с левой позиции поля заданной ширины
, вывод с заданной минимальной щириной поля);
-ввод двух чисел с плавающей точкой (положительного и отрицательного)
и их вывод в десятичной (формат %f) и экспоненциальной (формат %e) формах
с заданной точностью (не менее трех знаков после десятичной точки);
-ввод целого беззнакового числа и его вывод ввиде десятичного целого без
знака (формат %u), восьмиричного целого без знака (формат %o),
шестнадцатиричного целого без знака (формат %x).

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта и содержащее
исходные значения переменных различных типов.
2. Составить программу, осуществляющую ввод и вывод исходных данных.
Ввод и вывод сопроводить комментариями.
3. Выполнить программу на ЭВМ.

Варианты лабораторных заданий


Выполнить ввод и вывод переменных заданных типов:
1. ’A’; ’Меня зовут <фамилия и имя>’; 315,-27; 127.361, -574.953; 2124.
2. ’B’; ’Меня зовут <фамилия и имя>’; 789,-76; 956.361, -395.659; 794.
3. ’C’; ’Меня зовут <фамилия и имя>’; 873,-846; 52.471, -426.638; 537.
4. ’D’; ’Меня зовут <фамилия и имя>’; 191,-437; 138.76, -961.753; 993.
18
5. ’E’; ’Меня зовут <фамилия и имя>’; 727,-968; 374.652, -776.23; 108.
6. ’F’; ’Меня зовут <фамилия и имя>’; 356,-592; 1761.98,-394.152; 206.
7. ’G’; ’Меня зовут <фамилия и имя>’; 735,-692; 309.54, -276.372; 489.
8. ’H’; ’Меня зовут <фамилия и имя>’; 896,-372; 682.471,-367.596; 792.
9. ’I’; ’Меня зовут <фамилия и имя>’; 694,-785; 579.851,-468.341; 689.
10. ’J’; ’Меня зовут <фамилия и имя>’; 573,-942; 358.904,-357.986; 468.
11. ’K’; ’Меня зовут <фамилия и имя>’; 426, -794; 246.57,-135.79; 357.
12. ’L’; ’Меня зовут <фамилия и имя>’; 135,-462; 324.56,-236.745; 579.
13. ’M’; ’Меня зовут <фамилия и имя>’; 243,-157; 58.362,-416.68; 362.
14. ’N’; ’Меня зовут <фамилия и имя>’; 642,-357; 369.42,-247.57; 429.
15. ’P’; ’Меня зовут <фамилия и имя>’; 963,-785; 426.37,-653.871; 643.
19

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

ОПЕРАТОРЫ УСЛОВИЯ
Цель работы - изучение операторов условия и приобретение навыков
программирования разветвляющихся алгоритмов

Методические указания
При выполнении задания к данной лабораторной работе необходимо в
программе для проверки истинности условий при выборе возможных вариантов
действий использовать оператор if или конструкцию if - else.

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта.
2. Определить значения исходных данных.
3. Составить алгоритм решения задачи.
4. Составить программу, осуществляющую ввод исходных данных,
необходимые вычисления и вывод результатов. Ввод и вывод сопроводить
комментариями.
5. Выполнить программу на ЭВМ, проверяя правильность всех ветвей
алгоритма.

Варианты лабораторных заданий


1. Определить большую площадь двух фигур - равностороннего
треугольника со стороной А и равнобедренной трапеции с основаниями А , В и
стороной С.
2. Определить номер квадранта, в котором расположена точка X(A+B,C).
3. Определить, какая из двух точек Х(А,В), Y(C,D) расположена ближе к
точке Z(A,D)
4. Даны три отрезка А, B, C. Определить, могут ли они быть сторонами
треугольника.
5. Среди чисел А, B, C найти пару с наименьшей суммой.
6. Даны три числа. Выбрать из них те, которые принадлежат интервалу
(1,3).
7. Определить, попадает ли точка X(A,B) в квадрат со стороной С и
центром в начале координат (стороны квадрата расположены параллельно и
перпендикулярно осям координат).
20
8. Определить, попадает ли точка X(A,B) в круг с радиусом R и центром с
координатами O(C,D).
9. Определить, поместится ли квадрат со стороной А в круг с радиусом R.
10. Среди чисел А, B, C найти пару с наибольшей суммой.
11. Определить, впишется ли окружность с радиусом R в треугольник со
сторонами A, B, C.
12. Дано кольцо с внешним радиусом R1 и внутренним радиусом R2.
Определить, попадает ли в кольцо точка T(X,Y).
13. Даны координаты (как целые от 1 до 8) двух полей шахматной доски.
Определить, может ли конь за один ход перейти с одного из этих полей на
другое.
14. Определить, попадает ли точка X(A,B) в прямоугольник с координатами
вершин T1(X1,0), T2(X2,0), T3(0,Y1),T4(0,Y2).
15. Из четырех монет одна фальшивая. Определить ее, если она отличается
от настоящих своим весом.
21

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

ОПЕРАТОРЫ ЦИКЛА
Цель работы - изучение операторов цикла и приобретение навыков
программирования алгоритмов циклической структуры.

Методические указания
При выполнении задания к данной лабораторной работе необходимо
представить два варианта программы, реализующих цикл:
- с помощью оператора for;
- c помощью операторов while или do...while.

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта.
2. Составить алгоритм решения задачи.
3. Составить программу, осуществляющую ввод исходных данных,
необходимые вычисления и вывод результатов. Ввод и вывод сопроводить
комментариями.
4. Выполнить программу на ЭВМ и оценить правильность ее работы.

Варианты лабораторных заданий


Вычислить таблицу значений функции Y для переменной X, заданной на
интервале (A,B) и изменяющейся с шагом H.
1. Y  2 * e( X ) , для А=0.4, B=1, H=0.05
2. Y  2 * X  (X 2  X 3 ) * tan(X ) , для А=0, B=1.5, H=0.1
3. Y  2 * X 3  X / (1  X 2 ) , для А=0, B=0.5, H=0.05
4. Y  cos(X )  sin(X )  X , для А=-3.14/2, B=3.14/2, H=3.14/18
5. Y  2 / X  X 2 * eX , для А=0.1, B=0.4, H=0.02
6. Y  e X  eX , для А=1, B=2, H=0.05
7. Y  X 2  cos(X ) , для А=1, B=2, H=0.2
. * X 2  2 * X , для А=-3, B=-1, H=0.1
8. Y  05
9. Y  cos(X )  e X , для А=-2, B=0, H=0.1
10. Y  X 2  eX  e X , для А=1, B=3, H=0.1
11. Y  2 * X * sin(X )  cos(X ) , для А=0.4, B=1, H=0.05
22
12. Y  X 2  ln(1  X )  3, для А=2, B=3, H=0.05
13. Y  1  X  sin(X )  ln(1  X ) , для А=0, B=1.5, H=0.05
14. Y  eX  ln(X )  10 * X , для А=3, B=4, H=0.05
15. Y  eX  e X  2, для А=0, B=1, H=0.05
23

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

УКАЗАТЕЛИ И МАССИВЫ
Цель работы - изучение способов описания, ввода-вывода и обработки
массивов различной размерности, использование указателей при работе с
массивами.

Методические указания
При выполнении задания к данной лабораторной работе необходимо в
программе использовать два способа обращения к элементам массива:
- с помощью индексов - порядковых номеров элементов в массиве (при
выполнении ввода - вывода) ;
- с помощью указателей (при обработке элементов массива).

Лабораторное задание
1. Выбрать задание, соответствующее номеру варианта.
2. Определить значения исходных данных.
3. Составить алгоритм решения задачи.
4. Составить программу, осуществляющую ввод и вывод исходных
значений элементов массивов, необходимые преобразования массивов в
соответствии с заданием и вывод результатов. Ввод и вывод сопроводить
комментариями.
5. Выполнить программу на ЭВМ и оценить правильность ee работы.

Варианты лабораторных заданий


1. Просуммировать элементы матрицы Х(N,M), сумма индексов которых
равна заданной константе К.
2. Вычислить среднее арифметическое массива М(N) из двадцати
элементов.
3. В массиве из двадцати элементов найти максимальный элемент.
4. Из двух отсортированных по возрастанию массивов сформировать
третий, отсортированный также по возрастанию.
5. В массиве M(20) целых чисел подсчитать количество четных и нечетных
чисел.
6. Дана матрица М(4,5). Вычислить вектор D, компоненты которого равны
сумме элементов строк матрицы.
24
7. В массиве из двадцати элементов найти минимальный элемент.
8. Дана матрица М(6,4). Вычислить след матрицы.
9. Дана матрица N(6,5). Найти столбец с минимальной суммой элементов.
10. В массиве А(20) целых чисел подсчитать сумму положительных
элементов.
11. Дана матрица М(4,5) и константа С. Вычислить матрицу D, равную
произведению элементов матрицы М на константу.
12. Дана матрица N(6,5). Найти строку с максимальной суммой элементов.
13. Дана матрица М(4,6). Вычислить вектор D, компоненты которого равны
сумме элементов столбцов матрицы.
14. Даны два массива А(10) и В(10). Найти сумму квадратов одноименных
элементов массивов.
15. В массиве H(16) подсчитать количество отрицательных элементов и
вывести их порядковые номера.
25

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

ФУНКЦИИ
Цель работы - изучение правил составления и написания функций и
интерфейса функционального модуля.

Лабораторное задание

Лабораторная работа 6 выполняется на основе лабораторных заданий к


работе 5.
1. Выбрать задание, соответствующее номеру варианта.
2. Составить программу, которая выполняет следующие действия:
а) ввод исходных масивов;
б) вывод исходных массивов;
в) обработку массивов в соответствии с заданием;
г) вывод результатов с соответствующими комментариями.
Пункты а), б), в), г) оформить в виде функций. Глобальные данные в
программе не использовать.
3. Выполнить программу и оценить правильность ее работы.
26

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

СТРОКИ
Цель работы - изучение правил описания, ввода-вывода и основных
функций обработки символьных данных.

Методические указания

Некоторые макросы работы с символьными данными приведены в


приложении.

Лабораторное задание

1. Выбрать задание, соответствующее номер варианта.


2. Составить алгоритм обработки заданной строки в соответствии с
заданием.
3. Составить программу, которая выполняет:
- ввод исходной строки ( исходная строка задается произвольно);
- вывод заданной строки;
- обработку строки в соответствии с заданием;
- вывод результатов обработки с соответствующими комментариями.

Варианты лабораторных заданий

1. Опpеделить в стpоке число символов, котоpые не являются ни цифами,


ни буквами.
2. Опpеделить число символов в самом длинном слове стpоки. Слова
отделяются знаком "/".
3. Опpеделить число входящих в стpоку цифp.
4. Опpеделить число символов, заключенных в кpуглые скобки.
5. В пpоизвольном тексте выделить и отпечатать слова, начинающиеся
буквой А.
27
7. В пpоизвольном тексте вставить между пеpвым и втоpым словом новое
слово.
8. В пpоизвольном тексте найти и отпечатать слова, содеpжащие букву Е.
9. Опpеделить число латинских букв в стpоке.
10. В произвольном тексте заменить прописные буквы на строчные, а
строчные - на прописные.
11. Отпечатать втоpое и тpетье слова пpоизвольного текста.
12. Опpеделить число входящих в стpоку шестнадцатеpичных цифp.
13. В пpоизвольном тексте вставить между втоpым и тpетьим словом новое
слово.
14. В пpоизвольном тексте найти и отпечатать все слова длиной 5 символов.
15. В пpоизвольном тексте найти самое коpоткое слово.
28

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

СТРУКТУРЫ

Цель работы - изучение правил описания, ввода-вывода и основных


приемов работы со стуктурированными данными.

Лабораторное задание
1. Выбрать структуру данных по следующему правилу (N - номер
варианта):
если 1 <= N <= 4, то рис. 1.а.;
если 5 <= N <= 8, то рис. 1.б.;
если 9 <= N <= 12, то рис. 1.в.;
если 13 <= N <= 15, то рис. 1.г.
2. По номеру варианта выбрать предметную область.
3. Заполнить заданную структуру данными из выбранной предметной
области.
4. Составить программу, которая выполняет следующие действия:
- ввод структурированных данных;
- вывод исходных данных в виде заданной таблицы;
- перестановку местами верхней и нижней строк структурированных
данных;
- вывод результата преобразования.
5. Выполнить программу на ЭВМ и оценить правильность ее работы.
29
а) б)

в) г)

Рис. 1. Варианты структур.

Варианты предметных областей

1. Одежда.
2. Автомобили.
3. Мотоциклы.
4. Самолеты.
5. Реки России.
6. Профессии.
7. Газеты.
8. Книги.
9. Грампластинки.
10. Транспорт.
11. Список учебной группы.
12. Моря.
13. Предметы первого курса.
14. Государства.
15. Города.
30
Лабораторная работа 9

ФАЙЛЫ

Цель работы - изучение способов описания файлов и основных принципов


работы с файлами в различных режимах: создания, модификации, добавления и
чтения.

Методические указания

При составлении программы необходимо учитывать следующие


положения:
- имена файлов исходных данных (в режимах начального формирования и
добавления) и файлов результатов должны вводиться с клавиатуры;
- при отсутствии на диске указанного файла в режимах чтения и
добавления на экран должно выдаваться предупреждающее сообщение и
осуществляться повторный запрос имени файла.

Лабораторное задание

1. Выбрать вариант задания, из перечисленных ниже, в соответствии с


номером бригады.
2. Написать программу, осуществляющую следующие действия :
2.1. ввод исходных данных, описанных под пунктом a) с клавиатуры в
файл;
2.2. ввод данных, описанных под пунктом b), с клавиатуры в файл
исходных данных в режиме добавления;
2.3. чтение исходных данных из файла в переменные, указанные под
пунктом c);
2.4. обработку исходных данных в соответствии с заданием (см. пункт
d));
31
2.5. формирование результирующего файла, включающего в себя
исходные данные с комментариями, вид произведенной обработки и результат
обработки.
3. Выполнить программу на компьютере и оценить правильность ее работы.
4. Вывести на печать содержимое файла исходных данных и результатов
работы программы.

Варианты лабораторных заданий.

1. a) 20 целых чисел, b)некоторое число, c) массив A[5][5] и число C, d)


создать одномерный массив B, элементы которого есть числа массива A
большие числа C;
2. a) предложение, заканчивающееся точкой, b) слово, c) строки strk1 и
strk2, d) подсчитать сколько раз слово strk1 встречается в предложении strk2;
3. a) 10 вещественных чисел, b) 10 вещественых чисел, c) массивы A[10] и
B[10], d) создать массив C, содержащий элементы массива A, большие
соответствующих элементов массива B;
4. a) строка символв, b) символ, c) строка символов strk1 и символ ch, d)
подсчитать сколько раз символ ch встречается последовательно в строке strk1;
5. a) 15 натуральных чисел, b) число, c) массив A[3][5] и число B, d)
подсчитать сумму элементов массива A, лежащих в диапазоне от -B до B;
6. a) предложение, b) символ, c) строка strk1 и символ ch, d) подсчитать
сколько слов в предложении начинается с символа ch;
7. a) 10 вещественных чисел, b) 7 вещественных чисел, c) массивы A[10] и
B[7], d) сформировать массив C[17] из элементов массивов A и B, таким
образом, чтобы элементы в массиве C располагались в порядке убывания;
8. a) предложение, b) два символа, c) строка strk и символы ch1 и ch2, d) в
предложении заменить символ ch1 на символ ch2 в случае, когда ch1
располагается в середине слова;
32
9. a) 12 целых чисел, b) число, c) массив A[12] и число B, d) сформировать
массив C, такой, что C[i]=(A[i-1]+A[i+1])/B;
10. a) предложение без знаков препинания, b) знаки ',' и '.' в символы ch1 и
ch2, c) строка strk1 и символ ch1='.' и ch2=',' d) в строке расставить знаки
препинания таким образом, чтобы точка стояла перед заглавной буквой и в
конце предложения, а запятая - между двумя пробелами;
11. a) 20 целых чисел, b) целое число B, c) массив A[20] и число B, d)
сформировать массив C, элементы которого есть порядковые номера
положительных элементов массива A, больших числа B;
12. a) 20 цифр, b) число, c) массив A[20] и число B, d) найти и вывести
максимальную неубывающую последовательность в массиве A;
13. a) 10 вещестенных чисел, b) 10 вещественных чисел, c) массивы A[10] и
B[10], d) создать массив C из элементов массива A и B, больших нуля и
расположить их в порядке убывания;
14. a) предложение, b)символ, c) строка strk1 и символ, d) их предложения
удалить все слова, содержащие символ ch;
15. a) 7 целых чисел, b) 7 целых чисел, c) массивы A[7] и B[7], d)
переставить элементы между массивами таким образом, чтобы в A были только
положительные числа, а в B - только отрицательные;
16. a) предложение, b) слово, c) строки strk1 и strk2, d) удалить из
предложения strk1 все повторяющиеся слова, и заменить их на слова strk2.
33

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

ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ

Цель работы - изучение способов организации и описания динамических


структур, приобретение навыков работы с ними.

Методические указания

Данная работа подразумевает создание односвязного динамического списка


с неограниченным количеством элементов. Размерность списка должна
определяться при вводе. После ввода очередного элемента списка на экран
должен выдаваться запрос об окончании ввода. Об окончании списка также
может свидетельствовать ввод специального символа в 1-ое поле элемента,
например ‘*’. Перестановка элементов списка может быть произведена двумя
способами: изменением содержимого полей связей и изменением содержимого
информационных полей в соответствующих элементах списка. Для выполнения
лабораторной работы рекомендуется осуществлять замену первым способом.

Лабораторное задание

Данная лабораторная работа выполняется на основе задания к


лабораторной работе "Структуры".
1) Выбрать задание к лабораторной работе "Структуры" в соответствии с
номером бригады.
2) Оформить структуру данных в виде динамического списка.
3) Разработать программу, осуществляющую :
а) ввод исходных данных в список, завершение ввода должно отмечаться
специальным символом (в список должно быть введено не менее пяти записей);
б) вывод исходных данных на экран в виде таблицы;
в) перестановку местами первого и последнего элементов динамического
списка;
34
г) вывод на экран модифицированного списка в виде таблицы;
4) Выполнить программу на компьютере и оценить правильность ее
работы.
35

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

МНОГОМОДУЛЬНЫЕ ПРОГРАММЫ

Цель работы - изучение принципов написания многомодульных программ


и приобретение навыков в написании таких прогамм и работе с ними.

Методические указания

Описание глобальных переменных, констант и функций и доступ к ним


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

Лабораторное задание

Данная лабораторная работа выполняется на основе лабораторного задания


к работе "Функции".
1. Выбрать вариант задания в соответствии с номером бригады.
2. Проанализировать задание и создать файлы, содержащие отдельные
функции, выполняющие следующие дейсвия: ввод массива, вывод массива,
обработку массива, вывод результатов обработки.
3. Проанализировать задание и выделить данные, значения которых
должны передаваться между файлами. Описать эти переменные в отдельном
файле, соблюдая принцип однократности выделения памяти и организации
внешнего доступа к переменным.
4. Выполнить программу на компьютере и оценить правильность ее
работы на различных наборах данных.
36

ПРИЛОЖЕНИЕ
Некоторые функции и макросы языка Си

Математические функции

int abs(int i). Прототип: stdlib.h, math.h. Функция: формирование модуля i.


Результат: величина типа (int), равная абсолютному значению аргумента.
double acos(double x). Прототип: math.h. Функция: формирование значения,
равного arccos x. Результат: величина типа (double) со значением, равным
арккосинусу аргумента. Это значение принадлежит диапозону 0...pi.
double asin(double x). Прототип: math.h. Функция: формирование значения,
равного arcsin x. Результат: величина типа (double) со значением, равным
арксинусу аргумента. Это значение принадлежит диапозону -pi/2...pi/2.
double atan(double x). Прототип: math.h. Функция: формирование значения,
равного arctg x. Результат: величина типа (double) со значением, равным
арктангенсу аргумента. Это значение принадлежит диапазону -pi/2...pi/2.
double cos(double x). Прототип: math.h. Функция: формирование
переменной со значением, равным cos x. Аргумент выражается в радианах.
Результат: величина типа (double) со значением, равным косинусу аргумента.
Это значение принадлежит диапазону -1...1.
double exp(double x). Прототип: math.h. Функция: формирование
переменной со значением, равным ex . Результат: величина типа (double) со
значением, равным степени аргумента.
double ldexp(double value, int x). Прототип: math.h. Функция: формирование
переменной со значением, равным value* 2x . Результат: величина типа (double) с
указанным значением.
double log(double x). Прототип: math.h. Функция: формирование
переменной со значением, равным ln x. Результат: величина типа (double) со
значением, равным натуральному логарифму аргумента.
double log10(double x). Прототип: math.h. Функция: формирование
переменной со значением, равным log10 x. Результат: величина типа (double) со
значением, равным десятичному логарифму аргумента.
double pow(double x, double y). Прототип: math.h. Функция: формирование
y
переменной со значением, равным x .Результат: величина типа (double) с
указанным значением.
37
int rand(void). Прототип: stdlib.h Функция: формирование
псевдослучайного числа со значением в интервале 0...32767. Результат:
псевдослучайное число типа (int).
double sin(double x). Прототип: math.h. Функция: формирование
переменной со значением, равным sin x. Аргумент выражается в радианах.
Результат: величина типа (double) со значением, равным синусу аргумента.
double sqrt(double x). Прототип: math.h. Функция: формирование
переменной со значением, равным x . Результат: величина типа (double) со
значением, равным квадратному корню из аргумента.
double tan(double x). Прототип: math.h. Функция: формирование
переменной со значением, равным tan x. Аргумент выражается в радианах.
Результат: величина типа (double) со значением, равным тангенсу аргумента.

Функции ввода - вывода

int getch(void). Прототип: conio.h. Функция: ввод одного символа с


клавиатуры без копирования его на экран. Результат: переменная типа (int),
равная коду введенного символа.
int getchar(void). Прототип: stdio.h. Функция: буферизованный ввод одного
символа из стандартного входного файла. Результат: переменная типа (int), со
значением, равным коду введенного символа, или со значением EOF, если ввод
оказался неудачным.
char* gets(char *string). Прототип: stdio.h. Функция: ввод из стандартного
входного файла одной строки текста и после замены символа конца строки
символом с кодом 0 размещение введенных символов в поле памяти, на первый
символ которого указывает аргумент string. Результат: переменная типа (char*),
определяющая первый символ поля памяти, или пустое значение, если
встретился конец файла или возникла ошибка.
int kbhit(void). Прототип: conio.h. Функция: убедиться в том, что первое же
выполнение функции getch() приведет непосредственно к вводу символа с
консоли. Результат: переменная типа (int) со значением, отличным от 0, если в
буфере консоли находится еще не введенный символ, или со значением 0 в
противном случае.
int printf(const char *format,...). Прототип: stdio.h. Функция: вывод в
стандартный выходной файл в соответствии с перечнем шаблонов, заданных
параметром format, значений аргументов, стоящих на месте многоточия.
Результат: переменная типа (int) со значением, равным числу выводимых
символов, или со значением EOF, если возникли ошибки.
38
int putch(int ch). Прототип: conio.h. Функция: вывод символа с кодом ch на
консоль. Результат: переменная типа (int), равная коду выводимого символа.
int putchar(int ch). Прототип: stdio.h. Функция: вывод в стандартный
выходной файл символа с кодом ch. Результат: переменная типа (int) со
значением, равным коду выводимого символа, или со значением EOF, если
возникли ошибки.
int puts(const char *string). Прототип: stdio.h. Функция: вывод в
стандартный выходной файл последовательности символов, заданных
параметром string и дополненной символом новой строки. Результат:
переменная типа (int) со значением, равным коду последнего выводимого
символа, или со значением EOF, если возникли ошибки.
int scanf(const char *format,...). Прототип: stdio.h. Функция:
буферизованный ввод из стандартного входного файла в соответствии с
перечнем шаблонов в последовательности, заданной параметром format, набора
литералов, находящихся в полях файла, и присвоение значений этих литералов
переменным, указанным аргументами, стоящими на месте многоточия.
Результат: число значений, присвоенных указанным переменным.
int strlen(const char *str) . Прототип: string.h. Функция: определение числа
символов в последовательности, указанной аргументом str. Результат:
переменниая типа (int), равная числу символов в последовательности,
завершающейся символом с кодом 0.

Макросы работы с символьными данными,


определенные в ctype.h

Макро Принимает значение Истина, если


с есть:

isalnum(c) буква или цифра

isalpha(c) буква
isdigit(c) цифра
islower(c) прописная буква
isupper(c) заглавные буквы
isspace(c) код интервала (' ', '\t', '\r',' \n',
'\v', '\f')
isxdigit(c) код 16-ной цифры
39

Замечания по стилю оформления программ

В данном разделе даются некоторые рекомендации по форматированию и


документированию (задание комментариев) программы, продиктованные
опытом практического программирования.
1. Комментарии должны располагаться в тексте программы; они должны
иметь правильную пунктуацию и не иметь сокращений.
2. Комментарии не должны подтверждать очевидное. Пример бесполезных
комментариев:

х++ ; // Увеличение х
/* Определение глобальных переменных*/

3. В начале файла вставляйте комментарий, указывающий автора,


описывающий, что делается в файле и какие-то особенности использования
данного файла.
4. Комментарий лучше располагать в многострочных блоках, выравнивая
начало и конец комментария по вертикали:
/* Первая строка
* Вторая строка
* Третья строка
*/
или
int a; // Текущий указатель символа в строке
char str[50]; // Результирующая строка
float b; // Описание, что делает переменная b

Комментарий выравнивается по столбцам: типа, имени переменной и ее


описания.
5. Не располагайте комментарий между именем функции и открывающей
скобкой:
fun ( int a )
/* Не помещайте комментарий здесь */
{
...
}
чтобы читающий мог сказать, видит он прототип или тело функции.
/* Можно поместить комментарий здесь*/
fun ( int a )
40
{
/* или здесь,
** с таким же отступом, что и у кода
*/
}
6. Помечайте конец длинного составного оператора. В конце блока лучше
полностью описывать управляющий оператор
for ( i = 0; i <= 10; i++){
while ( a > b ){
...
} // while ( a > b )
} // for ( i = 0; i <= 10; i++)

7. Не располагайте в одной строке больше одного оператора.


8. Текст подпрограммы должен помещаться на экране. Это удобно при
редактировании.

9. Используйте штриховую линию для визуального разделения


подпрограмм
/*-----------------------------------------------------------------*/
над каждым определением функции.
10. Правила по использованию пробелов.
- Отступ в первой строке зрительно разбивает абзацы.
- Пробел следует за точкой, но не должен предшествовать ей.
- Разбивайте текст программы на логические куски (т.е. абзацы), где
каждый кусок выполняет одну операцию. Окружите эти куски или
пустыми строками, или строками с фигурными скобками.
- Опeрации являются сокращениями слов. Когда вы видите "+", то
говорите "плюс". Подобно любому сокращению, вы должны
окружать его символом пробела. Например: а + в читается "а плюс
в", но а+в читается "аплюсв".
- Исключение составляют унарные операции, которые рассматриваются
как словарные префиксы или суффиксы: *p, a--, f(arg, arg) или знак
->, которые в Си/Си++ являются эквивалентом знака переноса. До и
после них пробелов не должно быть p->msg(), obj.msg().
- За знаком препинания всегда должен идти пробел.
11. Делайте отступы, чтобы абзацы в тексте были видны: минимально три
пробела, лучше - четыре.
41
Сравните два варианта программм:
void f( void ) void f( void )
{ {
if ( x ) if ( x )
yyy(); yyy();
more_cod(); more_cod();
even_more_code(); even_more_code();
} }
12. Выделяйте условные операторы абзацными отступами. Напрмер:
if ( i )
one();
else
two();

13. При определении локальных переменных используйте отступы, чтобы


показать область их действия
f()
{
int local_var;
int another_local_var;
code;
}

14. Выравнивайте скобки вертикально по левой границе ( как это сделано в


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

СОДЕРЖАНИЕ
Порядок выполнения лабораторных работ.................................................................1
Требования к оформлению работ.................................................................................1
Пример программы на С++..........................................................................................2
Среда С++.......................................................................................................................4
Работа с меню.......................................................................................................5
Функциональные клавиши..................................................................................6
Работа с файлами и каталогами..........................................................................8
Составление и редактирование программ.........................................................8
Команды пункта главного меню Edit:.................................................................9
Компиляция программы......................................................................................10
Выполнение программы......................................................................................10
Отладка программы..............................................................................................11
Лабораторная работа 1. ТИПЫ ДАННЫХ И ОПЕРАЦИИ........................................13
Лабораторная работа 2. ФУНКЦИИ ВВОДА-ВЫВОДА............................................14
Лабораторная работа 3. ОПЕРАТОРЫ УСЛОВИЯ.....................................................15
Лабораторная работа 4. ОПЕРАТОРЫ ЦИКЛА..........................................................17
Лабораторная работа 5. УКАЗАТЕЛИ И МАССИВЫ................................................18
Лабораторная работа 6. ФУНКЦИИ.............................................................................19
Лабораторная работа 7. СТРОКИ.................................................................................20
Лабораторная работа 8. СТРУКТУРЫ.........................................................................22
Лабораторная работа 9. ФАЙЛЫ..................................................................................24
Лабораторная работа 10. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ..................26
Лабораторная работа 11. МНОГОМОДУЛЬНЫЕ ПРОГРАММЫ.............................27
ПРИЛОЖЕНИЕ..............................................................................................................29
Некоторые функции и макросы языка Си..........................................................29
Математические функции....................................................................................29
Функции ввода - вывода......................................................................................30
Макросы работы с символьными данными,определенные в ctype.h..............31
Замечания по стилю оформления программ.....................................................32

Оценить