Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка.DOC
Скачиваний:
36
Добавлен:
13.05.2015
Размер:
772.61 Кб
Скачать

Департамент образования и науки

ХАНТЫ-МАНСИЙСКОГО АВТОНОМНОГО ОКРУГА

___________________________________________________

СУРГУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ХМАО-ЮГРА

Кафедра информатики и вычислительной техники

С.А. Лысенкова, Н.Б. Назина

Программирование и основы алгоритмизации

Учебно-методическое пособие по выполнению контрольных работ для студентов инженерно-физического факультета

Сургут

2010

В пособии рассматриваются основные вопросы алгоритмизации и программирования. Предлагаются варианты заданий для выполнения по курсу «Программирование и основы алгоритмизации», требования и рекомендации по их оформлению.

ОГЛАВЛЕНИЕ

1. ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА ЭВМ. АЛГОРИТМИЗАЦИЯ. БЛОК-СХЕМЫ. 4

7

2. Назначение системы программирования. 7

3.Связь функция - клавиатура в интегрированной среде Turbo Pascal 7

4.1 Команды перемещения курсора 8

4.2 Команды вставки/удаления 9

4.3 Команды работы с блоками 9

5. ТЕХНОЛОГИЯ КОМПИЛЯЦИИ 9

6. ТЕХНОЛОГИЯ ОТЛАДКИ ПРОГРАММЫ 10

7. ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ 11

Задание 1 11

14

8. ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ 14

Задание 2 14

9. ПРОГРАММИРОВАНИЕ ЦИКЛОВ С ПАРАМЕТРОМ 19

Задание 3 20

10. ПРОГРАММИРОВАНИЕ ЦИКЛОВ С УСЛОВИЕМ 23

Задание 4 23

11. РАБОТА С ВЕКТОРАМИ 25

Задание 5 25

12. РАБОТА С МАТРИЦАМИ 28

Задание 6 29

13. ОБРАБОТКА СИМВОЛЬНЫХ СТРОК 33

Задание 7 33

14. ЗАПИСИ. ФАЙЛЫ. 37

Задание 8 37

15. ПРОЦЕДУРЫ 41

Задание 9 43

16. ФУНКЦИИ 44

Задание 10 45

1. Этапы решения задач на эвм. Алгоритмизация. Блок-схемы.

Этапы решения задач на ЭВМ:

  • Чёткая формулировка задачи;

  • Постановка задачи;

  • Разработка сценария;

  • Разработка алгоритма решения задачи;

  • Программирование;

  • Тестирование и отладка программы;

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

Сценарий– это описание интерфейса между пользователем программного продукта и персональным компьютером.

Алгоритм – это последовательность действий, приводящих к решению поставленной задачи за конечное число шагов.

Программирование– это перевод алгоритма на выбранный язык программирования, создание текстового файла, который при запуске через соответствующий транслятор выдает решение задачи;

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

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

Каждое такое предписание называется командой. Порядок команд в алгоритме очень важен.

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

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

Свойства алгоритма

К алгоритму решения задач предъявляются высокие требования. Он должен обладать дискретностью,массовостью, компактностью, детерминированностью и результа­тив­ностью.

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

Массовостьюалгоритма называется его способность быть пригодным для решения широкого класса задач данного типа.

Компактностьюалгоритма называется его краткость, свойство минимальности инструкций. Наиболее удачно составленным алгоритмом считается алгоритм, обладающий компактностью и минимальностью количества вычислений при обязательной массовости алгоритма.

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

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

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

Алгоритмы можно разделить на следующие виды:

  • Вычислительные (задающие процессы вычислений)

  • Диалоговые (алгоритмы ведения диалога с PC)

  • Графические (алгоритмы построения графических изображений на дисплеях)

  • Обработки данных

  • Управления роботами, станками и т.д.

Алгоритмы бывают 3 типов (типы вычислительных процессов):линейные, разветвляющиеся, циклические.

Линейный алгоритм– это алгоритм, в котором последовательность операций при исполнении совпадает с порядком их следования в записи алгоритма и не зависит от конкретных значений входных данных (выполняются сверху вниз).

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

Циклический алгоритм– это алгоритм, в котором неоднократно повторяются одни и те же предписания.

Способы записи алгоритмов

Существует несколько способов записи алгоритмов, отличающихся друг от друга наглядностью, компактностью, степенью формализации и другими показателями. Наибольшее распространение получили способы: графичес­кий, словесный, на алгоритмическом языке, в виде программ для ЭВМ.

Графический– в виде блок-схем.

Словесный – на естественном языке.

На алгоритмическом языке– то есть на специальном языке. Алгоритмический язык – это система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения.

В виде программ для ЭВМ– значит на любом алгоритмическом языке программирования (Бейсик, Паскаль,Си++ т.д.), когда исполнителем является компьютер.

Блок-схема - самый распространенный и понятный способ записи алгоритмов. Блок-схема – последовательность блоков, соединенных линиям и передачи.

Элементы блок-схемы

Начало или конец алгоритма

Обработка данных

Ввод/вывод данных

Проверка условий

Начало цикла

Указание перехода от блока к блоку, если схема разбита на части

Линии потока и изменение направлений

Слияние линий потока

Пример составления алгоритма:

Составим алгоритм нахождения НОД двух чисел по алгоритму Евклида.

начало

Ввод m, n

m=n

да

нет

m>n

да

n:=n-m

нет

m:=m-n

НОД:=n

конец

Вывод m, n