Методические указания к лабораторным работам
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Содержание

Аннотация. 2

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

Цель работы. 6

Задание. 6

Теоретическая часть. 6

Запуск IDE Borland C++. 6

Выход из IDE Borland C++. 6

Компоненты IDE. 7

Строка меню и меню.. 7

Наборы команд. 8

Окна в IDE Borland C++. 10

Рекомендации по выполнению лабораторной работы. 11

Содержание отчета. 11

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

Цель работы. 12

Задание. 12

Теоретическая часть. 12

Преобразование типов операндов. 12

Оператор форматного вывода printf 13

Рекомендации по выполнению лабораторной работы. 14

Содержание отчета. 14

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

Цель работы. 15

Задание. 15

Теоретическая часть. 15

Выражения и операции в языке СИ. 15

Приоритеты операций в выражениях. 16

Содержание отчета. 17

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

Цель работы. 18

Задание. 18

Теоретическая часть. 18

Оператор цикла for 18

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

Оператор do while. 19

Оператор break. 19

Оператор continue. 20

Содержание отчета. 20

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

Цель работы. 21

Задание. 21

Теоретическая часть. 21

Массивы в языке Си. 21

Указатели и массивы. 22

Условный оператор. 23

Оператор переключатель switch. 25

Оператор перехода goto. 26

Рекомендации по выполнению лабораторной работы. 26

Определение цифр числа. 26

Поиск простых чисел. 26

Треугольник Паскаля. 27

Содержание отчета. 27

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

Цель работы. 28

Задание. 28

Теоретическая часть. 28

Функции в языке Си. 28

Объявление и определение функций. 28

Прототип функции. 29

Параметры функции. 30

Локальные и глобальные переменные. 30

Функции и массивы. 30

Передача одномерных массивов как параметров функции. 30

Передача строк в качестве параметров функций. 30

Рекомендации по выполнению лабораторной работы. 30

Комментарии к заданию 1. 30

Комментарии к заданию 2. 31

Содержание отчета. 31

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

Цель работы. 32

Задание. 32

Рекомендации по выполнению лабораторной работы. 32

Комментарии к заданию 1. 32

Комментарии к заданию 4. 32

Комментарии к заданию 5. 32

Содержание отчета. 32

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

Цель работы. 33

Задание. 33

Теоретическая часть. 33

Ввод-вывод в языке Си. 33

Потоковый ввод-вывод. 33

Открытие и закрытие потока. 33

Стандартные файлы и функции для работы с ними. 34

Символьный ввод-вывод. 35

Строковый ввод-вывод. 35

Форматированный ввод-вывод. 35

Рекомендации по выполнению лабораторной работы. 35

Содержание отчета. 36

Лабораторная работа 9. 37

Цель работы. 37

Задание. 37

Теоретическая часть. 37

Ввод-вывод для двоичных файлов. 37

Прямой доступ к файлам. 37

Рекомендации по выполнению лабораторной работы. 38

Содержание отчета. 39

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

Цель работы. 40

Задание. 40

Теоретическая часть. 40

Строки в языке Си. 40

Операции со строками. 41

Содержание отчета. 43

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

Цель работы. 44

Задание. 44

Теоретическая часть. 44

Проверка символов. 44

Содержание отчета. 45

Лабораторная работа 12. 46

Цель работы. 46

Задание. 46

Теоретическая часть. 46

Содержание отчета. 47

Лабораторная работа 13. 48

Цель работы. 48

Задание. 48

Теоретическая часть. 48

Рекомендации по выполнению лабораторной работы. 50

Определение корней функции. 50

Метод деления отрезка пополам. 50

Метод хорд. 51

Вычисление интеграла. 52

Содержание отчета. 54

Лабораторная работа 14. 55

Цель работы. 55

Задание. 55

Рекомендации по выполнению лабораторной работы. 55

Содержание отчета. 58

 

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

Цель работы

Изучение основных приемов работы с интегрированной средой разработки (Integrated Development Environment, IDE) Borland C++

Задание

Используя IDE Borland C++, ввести текст программы, оттранслировать ее, исправить ошибки и получить правильный результат.

Текст программы (программа инициализирует массив целых чисел, записывая в каждый его элемент номер элемента массива, взятый со знаком '-')

void main(void)

{

int mas[10];

int i,k=1;

 

for(i=0,i<10,i+1)

{

mas[i] = i*k

k=-k;

}

i=0;

while(i<10)

{

printf("mas[%i] = %i ",mas[i],i);

i++;

}

printf("\n");

}

Теоретическая часть

Интегрированная среда разработки Borland C++ включает все необходимое для написания, редактирования, компиляции, компоновки и отладки программ пользователя. Она обеспечивает:

- возможность присутствия на экране монитора большого числа окон, которые можно перемещать по экрану и размеры которых можно изменять;

- поддержку "мыши";

- диалоговые окна;

- команды копирование и вставки текста;

- готовые к копированию примеры из системы подсказки;

- встроенный ассемблер;

- возможность быстрого перехода к другим программам (например, к программе Турбо-Ассемблер, TASM) и обратного возврата;

- наличие макроязыка редактора.

Запуск IDE Borland C++

Для запуска IDE выберите пункт меню Пуск à Программы à Borland C++ à Borland C++ или дважды щелкните ярлык Borland C++ на рабочем столе – не экране появится основное окно программы.

Выход из IDE Borland C++

Выход из IDE Borland C++ можно осуществить следующими способами:

- для того, чтобы полностью выйти из IDE Borland C++, выберите пункт меню File à Quit (или нажмите клавишу Alt-X). Если в тексты программ были внесены какие-либо изменения, и они не были сохранены, то на экран будет выведен вопрос о сохранении изменений.

- Для того чтобы временно перейти из IDE в командную среду DOS, выберите пункт меню File à DOS Shell. Перейдя в этот режим, вы можете ввести любую команду DOS и даже можете запустить из командной строки какие-либо другие программы. Для возврата в среду Borland C++ введите в командной строке команду EXIT и нажмите клавишу Enter.

Компоненты IDE

IDE Borland C++ имеет три визуальных компоненты: строку меню в верхней части экрана, область окна в средней части экрана и строку состояния в нижней части aaaaaa экрана (см. рис. 1).

Рис. 1. Основное окно IDE Borland C++

Строка меню и меню

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

Если за командой меню следует многоточие (...), то в результате выбора данной команды появляется диалоговое окно. Если за командой следует стрелка („), то выбор данной команды приводит к появлению другого, всплывающего меню. Если рядом с командой не присутствует ни многоточие, ни стрелка, то это означает, что выбор данной команды приводит к немедленному выполнению того действия, которое закреплено за данной командой.

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

1. Нажмите клавишу F10 – в результате строка меню становится активной. Это означает, что дальнейшие нажатия клавиш будут относиться именно к строке меню, а не к другой компоненте IDE.

2. Для выбора того пункта меню, которое вы хотите отобразить, необходимо воспользоваться клавишами управления курсором. После этого нужно нажать клавишу Enter. После этого Borland C++ либо выполняет выбранную команду, либо отображает диалоговое окно, либо отображает другое меню.

Для отмены некоторого действия следует нажать клавишу Esc.

3. Для выбора пункта меню после нажатия клавиши F10 вы также можете лишь нажать выделенную другим цветом букву (букву активации) нужного пункта меню. Например, находясь в строке меню, можно нажать клавишу E, чтобы быстро перейти к меню Edit (редактирование). Если вы находитесь в произвольном месте системы, то для отображения необходимого вам пункта меню необходимо нажать комбинацию клавиш Alt + буква активации данного пункта меню.

При помощи мыши команду можно выбрать двумя способами:

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

2. Можно также перевести указатель мыши от заголовка меню вниз непосредственно до команды меню. Когда указатель мыши достигнет той команды, которую вы хотите выбрать, отпустите кнопку мыши. (Если вы измените свои намерения, то необходимо лишь перевести указатель мыши за пределы меню; при этом никакая команда не будет выбрана.)

Наборы команд

В Borland C++ имеется два набора команд: команды обычного пользовательского доступа (Common User Access, CUA), который является стандартным набором, используемым большинством программ для Windows, и альтернативный набор команд. Доступные пользователю средства оперативного доступа зависят от используемого набора команд. Выбрать набор команд можно при помощи пункта меню Options à Environment à Preferences, выбирая нужный набор команд.

В представленных ниже таблицах приводится перечень наиболее часто используемых клавиш активации IDE Borland C++ для обоих наборов команд.

 

Таблица 1. Часто используемые клавиши активации общего назначения

CUA Альт. Элемент меню Функция
F1 F1 Help Отображает экранный кадр подсказки
  F2 File à Save Сохраняет на диске тот файл который находится в активном окне Edit
  F3 File à Open Отображает на экране диалоговое окно, с помощью которого можно открыть файл
  F4 Run à Go to Cursor Выполняет программу до той строки, на которой установлен курсор
  F5 Window à Zoom Распахивает на весь экран активное окно
Ctrl+F6 F6 Window à Next Осуществляет циклическое перемещение от одного открытого окна к следующему
F7 F7 Run à Trace Into Осуществляет выполнение программы в режиме отладки, осуществляя трассирующее вхождение в функцию
F8 F8 Run à Step Over Осуществляет выполнение программы в режиме отладки, не выполняя вызовы функций
F9 F9 Compile à Make EXE Создание файла .EXE
F10 F10   Активация строки меню

 

Таблица 2. Клавиши активации меню

CUA Альт. Элемент меню Функция
Alt+пробел Alt+пробел меню Ё Переход в системное меню Ё
Alt+C Alt+C меню Compile Переход в меню Comрile
Alt+D Alt+D меню Debug Переход в меню Debug
Alt+E Alt+E меню Edit Переход в меню Edit
Alt+F Alt+F меню File Переход в меню File
Alt+H Alt+H меню Help Переход в меню Helр
Alt+O Alt+O меню Options Переход в меню Oрtions
Alt+P Alt+P меню Project Переход в меню Project
Alt+R Alt+R меню Run Переход в меню Run
Alt+S Alt+S меню Search Переход в меню Search
Alt+W Alt+W меню Window Переход в меню Window
Alt+X Alt+X File à Quit Выход из Borland C++

 

Таблица 3. Клавиши активации режима редактирования

CUA Альт. Элемент меню Функция
Ctrl+Del Ctrl+Del Edit à Clear Удаляет выбранный текст из окна, но не помещает его в текстовый буфер
Ctrl+Ins Ctrl+Ins Edit à Coрy Копирует выбранный текст в текстовый буфер
Shift+Del Shift+Del Edit à Cut Заносит выбранный текст в текстовый буфер и удаляет выбранный текст
Shift+Ins Shift+Ins Edit à Paste Вставляет текст, находящийся в текстовом буфере, в активное окно
Аlt+Bksрc Аlt+Bksрc Edit à Undo Восстанавливает текст в активном окне в предыдущее состояние
Аlt+Shift+Bksрc Аlt+Shift+Bksрc Edit à Redo Восстанавливает текст в активном окне в предыдущее состояние
  Ctrl+L Search à Search Again Повторяет последнюю команду Find или Reрlace
F2   File à Save Сохраняет на диске файл, который находится в текущем окне Edit
F3   File à Oрen Открытие файла

 

Таблица 4. Клавиши активации режима управления окнами

CUA Альт. Элемент меню Функция
Alt+# Alt+#   Переход к окну номер #
Alt+0 Alt+0 Window à List Отображает список открытых окон
Ctrl+F4 Alt+F3 Window à Close Закрывает активное окно
Shift+F5   Window à Tile Располагает все окна мозаично
Alt+F5 Alt+F4 Debug à Insрect Открывает окно проверки
Shift+F5 Alt+F5 Window à User Screen Отображает экран пользователя
  F5 Window à Zoom Распахивает на весь экран/Возвращает к прежнему состоянию активное окно
Ctrl+F6 F6 Window à Next Переключает активное окно

 

Таблица 5. Клавиши активации режима выполнения и отладки

CUA Альт. Элемент меню Функция
Alt+F5 Alt+F4 Debug à Insрect Открывает окно проверки
Alt+F7 Alt+F7 Search à Previous Error Переносит к предыдущей ошибке
Alt+F8 Alt+F8 Search à Next Error Переносит к следующей ошибке
Alt+F9 Alt+F9 Comрile à Comрile to Компилирует в OBJ-файл
Ctrl+F2 Ctrl+F2 Run à Program Reset Осуществляет реинициализацию выполняющейся программы
  Ctrl+F3 Debug à Call Stack Выдает на экран окно со стеком вызовов функций
  Ctrl+F4 Debug à Evaluate/Modify Вычисляет выражение
Ctrl+F5 Ctrl+F7 Debug à Add Watch Добавляет просматриваемое выражение в окно просмотра
F5 Ctrl+F8 Debug à Toggle Устанавливает или отменяет Breakрoint (точку прерывания программы)
Ctrl+F9 Ctrl+F9 Run à Run Выполняет программу
  F4 Run à Go To Cursor Выполняет программу до той строки, на которой установлен курсор
F7 F7 Run à Trace Into Осуществляет выполнение программы в режиме отладки, осуществляя трассирующие вхождения в функции
F8 F8 Run à Steр Over Осуществляет выполнение программы в режиме отладки, минуя вызовы функций
F9 F9 Comрile à Make Собирает (компилирует/компонует) программу

 

Таблица 6. Клавиши активации режима интерактивной подсказки

CUA Альт. Элемент меню Функция
F1 F1 Helр à Contents Открывает экранный кадр контекстной подсказки
F1 F1 F1 F1   Выдает на экран информацию о том, как пользоваться подсказкой.
Shift+F1 Shift+F1 Helр à Index Выдает на экран индекс по системе подсказки
Alt+F1 Alt+F1 Helр à Previous Toрic Отображает предыдущий экранный кадр подсказки
Ctrl+F1 Ctrl+F1 Helр à Toрic Search (Только в редакторе) вызывает относящуюся к языку подсказку

Окна в IDE Borland C++

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

В IDE может быть открыто много окон, но в каждый момент времени активным может быть только одно окно. Активным окном является то окно, в котором вы в настоящий момент работаете. Любые выбираемые вами команды или вводимый вами текст, как правило, относится только к активному окну. (Если один и тот же файл открыт в нескольких окнах, то действие будет относиться ко всем открытым окнам, в которых содержится файл.)

IDE позволяет без затруднений определить, какое именно окно является активным. Это достигается при помощи двойных линий бордюра, в которые заключается активное окно. Активное окно всегда содержит маркер закрытия окна, маркер распахивания окна на весь экран и полосы прокрутки. Если ваши окна перекрываются, то активное окно всегда будет находиться поверх других окон (всегда располагается на переднем плане).

Существует несколько типов окон, но большая их часть имеет следующие общие элементы:

- строку заголовка;

- маркер закрытия окна и маркер распахивания окна;

- полосы прокрутки;

- номер окна (от 1 до 9).

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

Маркер закрытия окна представляет собой прямоугольник, который расположен в левом верхнем углу окна. Для закрытия окна необходимо щелкнуть мышкой маркер закрытия окна (можно также выбрать команду Window à Close или нажать комбинацию клавиш Alt-F3) . Окна Insрector и Helр считаются временными и могут быть закрыты с помощью нажатия клавиши Esc.

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

В правом верхнем углу первых девяти окон, которые вы открываете в системе Borland C++, имеется номер окна. Какое-либо окно можно сделать активным (то есть, вывести его на передний план) нажатием клавиши Alt в комбинации с номером окна. Например, если окно Helр имеет номер #5, но оно было "спрятано" под другими окнами, то для оперативного вывода его на передний план можно нажать комбинацию клавиш Alt+5.

Рекомендации по выполнению лабораторной работы

Лабораторную работу рекомендуется выполнять в следующем порядке:

  1. Запустите IDE Borland C++. Сразу же после запуска IDE выберите пункт меню File à Save as… и сохраните новый файл в файл с именем SGGBB_LL.c, где GG – номер группы, BB - номер бригады (01, 02, …), LL – номер лабораторной работы (01, 02, …), например, S2103_01.c
  2. Используя встроенный редактор текста IDE, введите текст программы. После того, как текст программы введен, сохраните файл, выбрав пункт меню File à Save или нажав клавишу F2.
  3. Откомпилируйте программу, выбрав пункт меню Compile à Make или нажав клавишу F9.
  4. Если при компиляции программы возникли ошибки, исправьте их, сохраните изменения и повторите п.3.
  5. Если при компиляции программы не возникло ошибок, запустите программу на выполнение, выбрав пункт меню Run à Runили нажав комбинацию клавиш Ctrl+F9.
  6. Проверьте результаты работы программы, выбрав пункт меню Window à User Screen или нажав комбинацию клавиш Alt+F5 (для возврата в IDE используйте комбинацию клавиш Alt+F5).
  7. Если результаты работы программы неправильные, найдите причину ошибок, используя режим отладки программы (по шагам или с точками останова). Исправьте найденные ошибки, сохраните изменения и перейдите к п.3.
  8. Если результаты работы программы правильные – покажите их преподавателю, ведущему лабораторные работы, для подтверждения выполнения лабораторной работы.
  9. Распечатайте текст программы и результаты ее работы.

Для этого закройте окно с текстом программы, перейдите из IDE в режим командной строки DOS, выбрав пункт меню File à DOS shell. Вставьте в принтер бумагу, в командной строке DOS введите команду @LPR <имя_файла_программы_без_расширения>

После завершения печати удалите файлы программ, введя команду
DEL <имя_файла_программы_без_расширения>.*

После удаления файлов введите команду exit

  1. После возврата в IDE Borland C++ завершите работу, выбрав пункт меню File à Quit или нажав комбинацию клавиш Alt+X.

Содержание отчета

Отчет по лабораторной работе должен содержать:

- задание лабораторной работы, соответствующее варианту

- текст программы

- результаты работы программы

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

Цель работы

Изучение базовых типов данных языка Си.

Задание

1. Для типов данных char, short, int, longс квалификаторами signed, unsignedсоставить программу, которая выполняет указанные преобразования типов, и вывести полученные результаты.

signed char à signed short int à signed int à signed long

unsigned char à unsigned short int à unsigned int à unsigned long

unsigned long à unsigned int à unsigned short int à unsigned char

signed long à signed int à signed short int à signed char

Преобразования должны быть выполнены для произвольного, максимального (CHAR_MAX, UCHAR_MAX, ULONG_MAX, LONG_MAX) и минимального (CHAR_MIN, LONG_MIN) значений переменной.

2. Выполнить указанные вычисления и распечатать полученные результаты.

signed int MAX à signed int MAX+1

unsigned int MAX à unsigned int MAX+1

signed int MIN à signed int MIN-1

unsigned int MIN à unsigned int MIN-1

Константы CHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, UINT_MAX, ULONG_MAX, LONG_MAX, CHAR_MIN и LONG_MIN заданы в файле limits.h.

Теоретическая часть

Преобразование типов операндов

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

Если в выражении в программе на языке Си используются операнды различных типов, то это выражение не считается ошибочным, а в нем производится автоматическое преобразование типов операндов:

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

Последовательность типов, упорядоченных по длине от большей к меньшей, выглядит следующим образом:

long double à double à float à long int à int à short int à char

- при выполнении операции присваивания значение выражения приводится с типу того операнда, который стоит слева от знака равенства (=), при этом значение выражения может "усекаться". Это происходит в случае, если тип переменной, которой должно быть присвоено значение, имеет меньшую длину, чем полученное значение выражения.

Рассмотрим для примера следующую простую программу:

void main(void)

{

char a;

int x = 100, y = 383;

a = x+y;

printf("x = %d, y=%d, x+y = %d\n",x,y,a);

}

 

В результате выполнения этой программы на экран будет выведена следующая строка:

x = 100, y=383, x+y = -29

Полученный результат объясняется тем, что значение выражения имеет тип int, а присваивается это значение переменной а, которая имеет тип char, ‑ в результате происходит усечение результата (см. рис. 2)

  x+y=483
                ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯    
                  a=-29

Рис. 2. Пример "усечения" данных

Схема усечения результата, показанная на рисунке, построена исходя из предположения, что данные типа int имеют длину 2 байта (sizeof(int)=2). Таким образом, в переменную а записываются младшие 8 бит результата – 11100011, а учитывая, что старший разряд – знаковый, значение а получается равным -29.


Дата: 2016-10-02, просмотров: 164.