
- •Структурное программирование и оформление программ
- •Теоретические сведения
- •Структурное программирование
- •Оформление программ
- •Отладка и тестирование программ
- •Задание к работе
- •Пример построения цикла
- •Определения элементов цикла
- •Пример формального построения цикла
- •Задание к работе
- •Содержание отчета
- •Контрольные вопросы
- •Алгоритмы сортировки
- •Теоретические сведения
- •Задача сортировки
- •Реализация простейшего алгоритма сортировки
- •Сложный алгоритм сортировки
- •Задание к работе
- •Содержание отчета
- •Контрольные вопросы
- •Приложение
Задание к работе
Разработать набор функций для работы с числами в n-ичной системе (n = = (номер варианта %15) + 10):
напишите функцию печати цифры, включите проверку корректности входных данных (цифра входит в нужный диапазон); напишите функцию печати числа, сделайте ее так, чтобы ей передавался указатель на массив;
напишите функции копирования, сложения и вычитания чисел. Учтите, что при сложении может возникнуть перенос в следующий разряд, при вычитании – заем;
напишите функции инициализации числа из целой переменной и сохранения числа в целую переменную;
4) напишите программу, печатающую в файл таблицу, строки которой соответствуют десятичным числам от 1 до 25, а в столбцах эти числа выводятся в десятичной, двоичной, шестнадцатеричной и n-ичной системах. Столбцы выровнять по правому краю.
Особое внимание следует уделить не просто написанию программы, а следованию принципам структурного программирования, изложенным в теоретической части. Структура программы данной лабораторной работы дается в задании. Для каждой функции из этой структуры должны быть разработаны тесты, проверяющие ее работу, при необходимости должны быть включены отладочные сообщения. При выполнении работы должны строго выполняться требования по оформлению и комментариям к программе. Число представляется в виде массива int[10] (число может содержать не более 10 n-ичных цифр). Цифры больше девяти записываются буквами латинского алфавита (A – 10, B – 11 и т. д.).
Содержание отчета
Отчет должен содержать листинг программы, в которой реализованы задание и функции тестирования, представлены результаты работы программы.
Контрольные вопросы
Как в общем виде записывается функция на языке С?
Перечислите базовые конструкции структурного программирования.
Какая конструкция выбора используется в языке С?
Что такое отладка программы?
Что такое тестирование программы?
Какая директива определяет символ для компилятора?
ЦИКЛЫ
Цель работы: овладение навыками построения простых и вложенных циклов, повторение основных форм записи циклов на языке С.
Теоретические сведения
Общие сведения о построении цикла
Построение циклов является одной из наиболее сложных задач программирования. Особую проблему в изучении циклов представляют современные учебники по программированию и языкам высокого уровня, в них изучение циклов сводится к описанию форм записи циклов на изучаемом языке программирования и к изучению применения цикла для типовых задач. При этом много времени тратится на изучение форм и примеров, а написание циклов, отличных от изученных, остается не раскрытым. Усложняют ситуацию современные средства отладки, которые позволяют реализовать цикл «подгонкой» – путем «вылавливания» ошибок отладкой по шагам.
Теория построения циклов разработана в 60-х гг. прошлого века такими известными учеными в области программирования, как Хоар, Дийкстра и др. В те годы компьютеры были дорогими и отладка на компьютере была тоже дорогостоящей. При правильном использовании такого подхода цикл должен работать сразу после ввода текста программы (и исправления опечаток). Сейчас программисты могут долго отлаживать программу, и навыки правильного написания программ постепенно теряются.
Большая часть курса лабораторных работ посвящена выработке навыков построения циклов (в различных алгоритмах). После успешного освоения курса хотя бы половина циклов, предварительно написанных на бумаге, должна безошибочно компилироваться сразу после набора текста.