Скачать 410.3 Kb.
|
Министерство образования республики беларусь Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники» кафедра «Вычислительные методы и программирование» Методические указания по выполнению контрольной работы по курсу «Основы алгоритмизации и программирования» (ОАиП) для студентов заочного отделения ИИТ Минск 2007 Рукопись Авторы: А. Г. Корбит, Т. М. Кривоносова Методические указания по выполнению контрольной работы по курсу «Основы алгоритмизации и программирования» для студентов заочного отделения ИИТ. / Корбит А.Г., Кривоносова Т.М. – Минск: БГУИР, 2007. В практикуме изложены краткие теоретические сведения по основам алгоритмического языка С/С++. Содержатся примеры, реализованные в консольном приложении, приведены 6 лабораторных работ и индивидуальные задания к ним.
СОДЕРЖАНИЕ Общие требования к оформлению контрольной работы 4 Задание №1. Линейный вычислительный процесс 4 1.1. Теоретические сведения 4 1.2. Пример выполнения задания 8 1.3. Индивидуальные задания 10 Задание №2. Реализация разветвляющихся алгоритмов 11 2.1. Теоретические сведения 11 2.2. Пример выполнения задания 13 2.3. Индивидуальные задания 14 Задание №3. Реализация циклических алгоритмов 16 3.1. Теоретические сведения 16 3.2. Пример выполнения задания 17 3.3. Индивидуальные задания 18 Задание №4. Обработка одномерных массивов 19 4.1. Теоретические сведения 19 4.2. Пример выполнения задания 20 4.3. Индивидуальные задания 21 Задание №5. Обработка двухмерных динамических массивов. Функции пользователя 22 5.1. Теоретические сведения 22 5.2. Пример выполнения задания 26 5.3. Индивидуальные задания 28 28 Дополнительное задание №6. Обработка структур с использованием файлов 29 6.1. Теоретические сведения 29 6.2. Пример выполнения задания 31 6.3. Индивидуальные задания 34 Приложение. Операции языка С/С++ 36 Основная литература 38 Дополнительная литература 38 ^ 1. Стандартный титульный лист, с указанным номером варианта задания, должен быть подписан исполнителем. 2. Отчет о решенных задачах должен содержать: – постановку задачи; – структурную (обобщенную) схему алгоритма; – листинг (текст кода) программы с пояснением его отдельных участков; – результаты (экранные формы), иллюстрирующие работоспособность программы; – список используемой литературы. В зачетной сессии контрольная должна быть защищена (демонстрация на ПК решения задач своего варианта, указанного в списке группы). ^ Цель работы: изучить правила составления текстов программ, научиться реализовывать линейные алгоритмы. Написать и отладить программу линейного алгоритма в консольном приложении. ^ Алфавит языка С/С++ состоит из: прописных и строчных букв латинского алфавита, арабских цифр и специальных символов, смысл и правила, использования которых будут рассматриваться далее. В языке C применяются данные двух категорий: простые (скалярные) и сложные (составные). К основным (базовым) типам данных относятся целый (int), вещественный (float, double) и символьный (char) типы. В свою очередь, данные целого типа могут быть короткими (short) и длинными (long), со знаком (signed) и беззнаковыми (unsigned). Атрибут long может использоваться и с типом double – длинное вещественное. К сложным типам данных относятся массивы, структуры (struct), объединения (union) и перечисления (enum). Запись самоопределенных констант
В таблице – любой символ, набранный на клавиатуре. ^ Все объекты (переменные, массивы и т.д.), с которыми работает программа, необходимо декларировать. В декларации объектам присваиваются идентификаторы (ID), которые могут включать латинские буквы, символ нижнего подчеркивания «_» и цифры, причем первым символом ID не может быть цифра. Внимание! В языке С/С++ строчные и прописные буквы имеют различные коды, т.е. PI, Pi и pi – различные идентификаторы (прил. 1). При декларации объектам можно задавать начальные значения (инициализировать), например: int k = 10, m = 3, n; double c = –1.3, w = –10.23, s; Принято использовать в ID переменных строчные буквы, а в именованных константах – прописные, например: const double PI = 3.1415926; double pi = 3.1415926; Разделителями ID являются пробелы, символы табуляции, перевода строки и страницы, а также комментарии. Комментарий – любая последовательность символов, начинающаяся парой символов /* и заканчивающаяся парой символов */ или начинающаяся // и до конца текущей строки. ^ Перед компиляцией программы с помощью директив препроцессора выполняется предварительная обработка текста программы. Директивы начинаются с символа # (шарп), за которым следует наименование операции препроцессора. Чаще всего используются директивы include и define. Директива #include используется для подключения к программе заголовочных файлов с декларацией стандартных библиотечных функций, например: #include #include #include Директива #define (определить) создает макроконстанту и ее действие распространяется на весь файл, например: #define PI 3.1415927 – в ходе препроцессорной обработки идентификатор PI везде заменяется указанным значением 3,1415927. Операции языка С/С++ (арифметические: +,–,*,/,%) и наиболее часто использующиеся стандартные математические функции описаны в прил.1. Операция присваивания имеет полную и сокращенную формы записи. Полная форма: ID = выражение; – выполняется справа налево, т.е. сначала вычисляется выражение, а затем его результат присваивается указанному ID, например: y=(x+2)/(3*x)–5; В одном операторе можно присвоить значение нескольким переменным, например: x = y = z = 0; или z = (x = y) * 5; – сначала переменной x присваивается значение переменной y, далее вычисляется выражение x*5 , и результат присваивается переменной z. Сокращенная форма: ID операция= выражениe; где операция – одна из арифметических операций + , –, *, /, %; например: s += 7; (s = s+7;) или y *= x+3; (y = y*(x+3)); Сокращенная форма применяется, когда переменная используется в обеих частях ее полной формы. В языке С/С++ существуют операции инкремента (--) и декремента (++), т.е. уменьшения или увеличения значения переменной на 1. Операции могут быть префиксные (++i и --i) и постфиксные (i++ и i--). При использовании данной операции в выражении в префиксной форме, сначала выполняется сама операция (изменяется значение i), и только потом вычисляется выражение. В постфиксной форме – операция применяется после вычисления выражения, например, для значений b = 7 и n = 1 будут получены следующие результаты: 1) c = b*++n; – порядок выполнения: n = n+1, c = b*n, т.е. c = 14; 2) c = b*n++; – в этом случае: c = b*n, n = n+1, т.е. c = 7 . ^ Для вывода информации в консольном приложении чаще всего используются следующие функции: puts(S) – вывод строки символов S с переходом на начало новой строки и вывод данных с форматированием; рrintf (управляющая строка, список объектов вывода); управляющая строка – заключенная в кавычки строка, содержащая спецификации преобразования объектов вывода, управляющие символы (признак «\») и любой набор символов, использующийся в качестве поясняющего текста – указывает компилятору вид выводимой информации; список объектов вывода – печатаемые объекты (константы, переменные или выражения, вычисляемые перед выводом). Данные, указанные в списке выводятся в соответствии со спецификациями управляющей строки. Спецификации преобразования имеют вид % <флаг> <размер поля . точность> спецификация флаг: – (минус) выравнивание влево (по умолчанию выполняется выравнивание вправо); + (плюс) выводится знак положительного числа; размер поля – задает ширину поля вывода (количество символов), при недостаточном значении выполняется автоматическое расширение; точность – задает количество цифр в дробной части числа; спецификация – формат преобразования выводимого объекта. Приведем основные форматы печати: %d – десятичные целые (int); %c – один символ (char); %s – строка символов (string); %f – данные типа float; %ℓd – длинное целое; %ℓf – данные типа double; %x – шестнадцатеричные данные; %o – восьмеричные данные. При необходимости вывода управляющих символов ( % \ и т.п.) их нужно указать 2 раза, например: printf("Только %d%% предприятий не работало. \n",5); получим: ^ . Управляющие символы: \n – переход на новую строку; \t – горизонтальная; \v – вертикальная табуляция; \b – возврат назад на один символ; \r – возврат в начало строки; \a – звуковой сигнал; \f – прогон бумаги до начала новой страницы; \? – знак вопроса. ^ Функция gets (S) обеспечивает ввод строки символов S до нажатия клавиши Enter, т.е. позволяет ввести строку, содержащую пробелы. Для форматированного ввода информации любого вида предназначена функция scanf (управляющая строка, список адресов объектов ввода); в управляющей строке которой указываются только спецификации преобразований, а в списке объектов ввода – адреса вводимых скалярных переменных, для чего перед ID переменной указывается операция &, обозначающая «взять адрес». Для ввода значений строковых (составных) переменных символ & не указывается. При использовании формата %s строка вводится до первого пробела. ^ ввода данных int а, double b, и char str[20]: scanf ( "%d %ℓf %s", &a, &b, str); Вводить данные можно как в одной строке через пробел, так и в разных строках. |
![]() | Методические указания по выполнению контрольной работы для студентов... Методические материалы по выполнению контрольной работы для студентов заочного отделения специальности «Менеджмент организации» по... | ![]() | Учет и анализ на предприятиях Задание и методические указания по выполнению практической работы для студентов дневного отделения, контрольной работы студентов... |
![]() | Методические указания по курсу «Финансовый менеджмент» для студентов... Методические указания для практических занятий по курсу «Финансовый менеджмент» разработаны в соответствии с программой курса для... | ![]() | Методические указания по выполнению контрольной работы для студентов... Методические указания предназначены для студентов фармацевтических вузов заочной формы обучения |
![]() | Лабораторная работа №1 Среда программирования Visual C++. Программирование линейных алгоритмов 6 Б 92 Основы алгоритмизации и программирования в среде Visual C++ : лаб практикум по курсу «Основы алгоритмизации и программирования»... | ![]() | Методические указания по выполнению лабораторной работы на тему :... Методические указания предназначены для помощи студентам специальности 1309 в выполнении лабораторной работы по курсу “Основы устройства... |
![]() | Методические указания к лабораторным занятиям по дисциплине «Социальная... Методические указания по курсу «Социальная экология и устойчивое развитие» предназначены для студентов специальности «Экология».... | ![]() | Методические указания для студентов 1 курса заочного отделения по... Методические указания для студентов 1 курса заочного отделения юридического факультета (2 семестр). – Казань: Издательство Института... |
![]() | Информатика основы программирования в среде Turbo Pascal Методические... Основы программирования в среде Turbo Pascal: Методические указания к выполнению лабораторных работ для студентов специальности опу... | ![]() | Методические указания по выполнению курсовой работы для студентов... Федеральное бюджетное государственное образовательное учреждение высшего профессионального образования |