Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сборник лабораторных работ.doc
Скачиваний:
9
Добавлен:
17.11.2019
Размер:
5.38 Mб
Скачать

Введение

Лабораторные работы по дисциплине "Основы алгоритмизации и программирования" проводятся для достижения следующих целей:

  • формирования практических навыков программирования и работы в современных вычислительных системах;

  • овладения одним из алгоритмических языков высокого уровня – языком С/С++.

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

Выполнение лабораторной работы включает следующие этапы:

1. Допуск к работе.

На этом этапе преподаватель проверяет подготовленность студента по теме работы, задавая контрольные вопросы или контрольные упражнения.

2. Проектирование и реализация программы решения задачи.

Этот этап включает:

  • разработку и описание алгоритма поставленной задачи,

  • написание программы в соответствии с требованиями к лабораторной работе,

  • трансляцию и отладку программы на тестовых примерах (набор тестов подбирает студент).

3. Защита лабораторной работы.

К защите студент должен продемонстрировать работу программы на тестовых примерах и подготовить отчет по работе. Защита состоит в обсуждении алгоритма и программы, ответе на вопросы преподавателя.

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

lr_cNNtMvKK_FULLNAME.cpp,

где NN – двузначный номер лабораторной работы,

M – номер задачи,

KK – двузначный номер варианта,

FULLNAME – фамилия автора работы.

Отчет по лабораторной работе может быть выполнен в рукописной или печатной форме. Если отчет сдается в электронной форме, имя файла должно соответствовать шаблону:

lr_cNNvKK_FULLNAME.rtf,

где NN – двузначный номер лабораторной работы,

KK – двузначный номер варианта,

FULLNAME – фамилия автора работы.

Отчет по лабораторной работе включает следующие разделы:

1. Условие задачи

2. Анализ задачи

3. Алгоритм решения задачи

4. Текст программы (основной функции/функций)

5. Набор тестов

6. Результаты работы программы

Анализ задачи необходим для достижения следующих целей:

  • установить входные и выходные данные;

  • выделить основные отношения между входными и выходными данными (если возможно, то описать их с помощью формул);

  • выделить основные подзадачи, которые надо решить, чтобы достичь результата.

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

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

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

Пример. По заданному целому X сформировать матрицу A размера 10x10 следующим образом:

Описание алгоритма на псевдоязыке:

begin

{ввод заданного числа X};

{Заполнить 1ю строку матрицы A};

for i :=2 to 10 do

begin

{заполнить первые девять элементов

i-й строки, взяв их из (i-1) строки};

{заполнить последний элемент i-й строки};

end

end.

Если необходимо, нужно продолжить описание, детализируя отдельные шаги.

Тема: Простые вычисления

Цели: закрепление навыков программирования линейных алгоритмов; получение навыков применения для решения задач основных математических функций стандартной библиотеки языка C