Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_praktikum.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
610.82 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Старооскольский технологический институт им. А.А. УГАРОВА (филиал) федерального государственного автономного образовательного учреждения высшего профессионального образования «Национальный исследовательский технологический университет «МИСиС»

Губина Л.В., Ефимов А.К., Некрасова Н.И.

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

Практикум

Старый Оскол

2013

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Старооскольский технологический институт им. А.А. УГАРОВА (филиал) федерального государственного автономного образовательного учреждения высшего профессионального образования «Национальный исследовательский технологический университет «МИСиС»

Губина Л.В., Ефимов А.К., Некрасова Н.И.

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

Практикум

Одобрено редакционно-издательским советом СТИ НИТУ МИСИС

в качестве практикума для студентов

всех направлений и профилей очной формы обучения

Старый Оскол

2013

УДК 004

ББК 32.81

Г 932

Составители:

к. э. н., доцент Л.В. Губина

к. ф.-м. н., доцент А.К. Ефимов

ст. преподаватель Н.И. Некрасова

Рецензент:

к. ф.-м. н. доцент А. П. Михайлов

Губина Л.В., Ефимов А.К., Некрасова Н.И.

Г 932 Основы алгоритмизации и программирования: Практикум. Старый Оскол: СТИ НИТУ МИСИС, 2013. – 122 с.

В практикуме по основам алгоритмизации и программирования приведены краткие теоретические сведения и примеры составления программ и алгоритмов. Даются также описания семи лабораторных работ и примеры их выполнения. Примеры решения задач приводятся на языке программирования Си с использованием блок - схемного метода записи алгоритмов. Для работы с базами данных используется непроцедурный язык SQL в среде MS Access.

УДК 004

ББК 32.81

Оглавление

ВВЕДЕНИЕ 4

ЛАБОРАТОРНЫЙ ПРАКТИКУМ 6

ЛАБОРАТОРНАЯ РАБОТА 1. Программирование. Вычисление выражений. Функции ввода/вывода 8

ЛАБОРАТОРНАЯ РАБОТА 2. Программирование. Сочетание циклов и разветвлений. 25

ЛАБОРАТОРНАЯ РАБОТА 3. Программирование. Одномерные массивы .35

ЛАБОРАТОРНАЯ РАБОТА 4. Программирование. Вложенные циклы и разветвления в матричных задачах .41

ЛАБОРАТОРНАЯ РАБОТА 5. Программирование. Использование функций. 47

ЛАБОРАТОРНАЯ РАБОТА 6. Основы работы с базой данных 55

ЛАБОРАТОРНАЯ РАБОТА 7. Работа с базой данных

в режиме SQL) 95

ПРИЛОЖЕНИЯ 117

ЛИТЕРАТУРА 121

ВВЕДЕНИЕ.

Дисциплина ”Основы алгоритмизации и программирования” является первой частью модуля “Информатика”. Изучение дисциплины имеет следующие цели и задачи:

  • ознакомить с основами современных информационных технологий и тенденциями их развития;

  • ознакомить с основами алгоритмизации и программирования;

  • сформировать практические навыки использования информационных систем и технологий при изучении естественнонаучных, обще-профессиональных и специальных дисциплин и в дальнейшей профессиональной деятельности;

  • подготовить студентов к самообразованию и непрерывному профессиональному самосовер-шенствованию.

Освоение дисциплины «Основы алгоритмизации и программирования» помогает решать профессиональные задачи при разработке курсовых и дипломных проектов и формирует общекультурные и профессиональные компетенции ФГОС.

Студент, успешно освоивший этот курс, должен

уметь:

  • разрабатывать алгоритмы и программы с использова-нием структурного подхода,

  • устранять пробелы в знаниях с использованием совре-менных образовательных и информационных технологий,

  • работать с компьютером как средством обработки информации,

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

  • выполнять основные операции с базами данных;

владеть:

  • логикой и культурой мышления,

  • навыками работы в сетях под управлением современных операционных систем,

  • основными методами, способами и средствами получения, хранения, переработки информации,

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

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

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

Лабораторный практикум.

Лабораторные работы раздела «Основы алгоритмизации и программирования» выполняются в среде Dev-C++ (см. рис. 1.1).

Рис. 1.1. Вызов системы программирования.

В открывшемся окне системы программирования следует выполнить команду: Файл->Создать->Новый проект.

Затем в диалоговом окне (см. рис. 1.2) выбрать настройку Console Application, установить переключатель C Project и указать имя проекта (на английском языке), например, Project2 и щёлкнуть кнопку Ок:

Затем необходимо сохранить проект в каталоге, какой предлагает система программирования.

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

Рис. 1.2. Создание файла проекта.

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

ЛАБОРАТОРНАЯ РАБОТА 1.

ПРОГРАММИРОВАНИЕ. ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЙ. ФУНКЦИИ ВВОДА/ВЫВОДА.

1.1. ЦЕЛЬ РАБОТЫ

Научиться использовать в программах функции ввода/вывода и производить простые вычисления.

1.2. ПРАКТИЧЕСКОЕ ЗАДАНИЕ

  1. Вычислить и напечатать значение функции y(x) в произвольной точке отрезка [a;b] согласно своему варианту.

  2. Составить отчет о выполнении лабораторной работы, в который включить:

    1. Название и цель работы;

    2. Индивидуальное задание;

    3. Текст программы;

    4. Результат решения задачи;

    5. Блок-схему алгоритма решения задачи.

1.3. ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ

Необходимо сначала изучить следующие теоретические сведения:

Алгоритм – формальное описание вычислительной процедуры. Исходные данные, передаваемые процедуре, называются входом алгоритма. Результат работы процедуры есть выход алгоритма.

Алгоритм может быть записан самыми различными способами: в виде блок-схем, текста программ и т.п.

Блок‑схемы оформляются в соответствии с ГОСТ  10.002‑80 ЕСПД и ГОСТ 10.003‑80 ЕСПД, где операции обозначаются в виде блоков, большая часть которых вписана в прямоугольники размером ab .

При этом минимальный размер a равен 10 мм, увеличение a осуществляется с шагом 5 мм, а величина b определяется как 1,5a. Для отдельных блоков допускается соотношение между a и b один к двум. При переносе блоков используется соединитель – окружность диаметром 0,5a.

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

Виды и назначение основных блоков приведены в таблице 1.1.

Таблица 1.1.

Основные блоки алгоритма.

Обозначение

Наименование

Блок-схема: процесс 21

Процесс

Блок-схема: данные 20

Ввод-вывод

Блок-схема: решение 19

Решение

Блок-схема: типовой процесс 18

Предопределенный процесс

Блок-схема: подготовка 17

Полотно 16

Подготовка, модификация

Блок-схема: документ 15

Документ

Блок-схема: магнитный диск 14

Магнитный диск

Блок-схема: знак завершения 13

Пуск-останов

Блок-схема: узел 12

Соединитель

Межстраничный соединитель

Блок-схема: ссылка на другую страницу 11 Прямая соединительная линия 7 Прямая соединительная линия 8 Прямая соединительная линия 10

Комментарий

Схемы алгоритмов.

Любой алгоритм может быть представлен в виде комбинации трех элементарных алгоритмических структур:

  • линейной;

  • ветвления;

  • цикла.

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

Рисунок 1.3.1. Алгоритм линейной структуры.

Алгоритм является ветвящимся, если для его реализации используется несколько ветвей направлений.

Выбор ветви определяется некоторым признаком, принимающим два или более значения. Обычно это логические значения – истина и ложь (рис. 1.3.2.)

Рисунок 1.3.2. Алгоритм структуры ветвления.

Циклический алгоритм (рис.1.3.3) представляет собой многократно повторяющийся фрагмент, содержащий следующие элементы:

  1. инициализация цикла;

  2. тело цикла;

  3. модификация параметра цикла;

  4. проверка условия окончания цикла.

Указанный порядок элементов соответствует циклу с постусловием, когда проверка условия окончания выполняется после выполнения тела цикла.

Порядок выполнения указанных элементов цикла может быть различным. Если пункт 4 предшествует пункту 2, то такой цикл называется циклом с предусловием (рис. 1.3.4).

Циклы также бывают:

  1. детерминированные (число повторений тела цикла определено заранее)

  2. итерационные (число повторений тела цикла зависит от параметров цикла)

Рисунок 1.3.3. Циклический алгоритм с постусловием.

Рисунок 1.3.4. Циклический алгоритм с предусловием.

Переменные и константы.

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

Имена в языке Си могут состоять из алфавитно-цифровых символов и символа подчеркивания , при этом первый символ не может быть цифрой. Компилятором распознаются только первые n символов имени (n=31), хотя его общая длина может быть и больше, при этом символы нижнего и верхнего регистров различаются.

В языке Си имеются несколько типов констант, то есть данных, не подлежащих изменению.

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

Например, целые константы 3478, 06626, 0xD96 представляют одно и то же число 3478 в разных системах счисления.

Вещественные константы состоят из цифр, десятичной точки и, возможно, экспоненциальной части, которая может содержать знак и символ e.

Например,

6., 923.33, 0.8, 2.1e3, 0.1e5,… .

Символьные константы представляют собой символы, заключенные в апострофы, например,

a, q, 1, ?,…

Часть символьных констант воспринимается в качестве управляющих символов ввода-вывода, например,

\n – новая строка;

\t – горизонтальная табуляция;

\a – звуковой сигнал;

Строковые константы состоят из символов, заключенных в двойные кавычки, например, Linux, Windows, город Москва.

Операции.

В языке Си определены следующие операции: