ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
ЛАБОРАТОРНАЯ РАБОТА 1
ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ
Цель работы:
1. Изучить некоторые возможности интегрированной среды Pascal ABC: редактирование исходного текста; компиляцию исходных модулей; запуск программ на исполнение; отладку программ.
2. Изучить структуру и правила записи программ на языке Pascal ABC.
3. Приобрести начальные навыки работы в системе Pascal ABC на примере программирования линейных алгоритмов.
КРАТКИЕ СВЕДЕНИЯ ИЗ ТЕОРИИ
Назначение системы программирования
Система программирования Pascal ABC представляет собой интегрированную среду, включающую: экранный редактор; компилятор; редактор связей; отладчик.
Интегрированная среда (Турбо-среда) позволяет набирать тексты программ с использованием встроенного редактора текстов, компили ровать их, выполнять, проводить отладку программ.
Интегрированность среды проявляется не только в единой идеологии построения компонентов, но и в их связи друг с другом. Так, при возникновении ошибки трансляции система автоматически переходит в режим экранного редактирования и ставит курсор в точку возникновения ошибки. Аналогичные действия выполняются и отладчиком при возникновении ошибки во время выполнения программы.
Связь функция-клавиатура в интегрированной среде
Pascal ABC
В TURBO имеется ряд клавиш,которые доступны пользователю в любой момент ("горячие" клавиши)
|
|
клавиатура | назначение |
F1 | Подсказка по текущей компоненте . |
F2 | Сохранение текущего редактируемого файла. |
F3 | Загрузка нового файла. |
F4 | Выполнить программу до строки , где нахо-дится курсор. |
F5 | Приблизить/отдалить активное окно. |
F6 | Переключить активное окно. |
F7 | Трассировка подпрограммы. |
F8 | Пооператорное выполнение программы. |
F9 | Компановка программы из модулей. |
F10 | Переход в верхнее меню. |
ALT-0 | Показать список активных окон. |
ALT-F1 | Показать пpедыдущий экpан подсказки (в списке хpанятся последние 20 экpанов). |
ALT-F3 | Закpыть (удалить) текущее окно. |
ALT-F5 | Показать результаты выполнения программы |
ALT-F9 | Компилировать текущий редактируемый файл. |
ALT-F | Активизировать FILE-меню. |
ALT-E | Активизировать EDIT-меню. |
ALT-S | Активизировать SEARCH-меню. |
ALT-R | Активизировать RUN-меню. |
ALT-C | Aктивизировать COMPILE-меню. |
ALT-D | Активизировать DEBUG-меню. |
ALT-O | Активизировать OPTIONS-меню. |
ALT-W | Активизиpовать WINDOW-меню. |
ALT-X | Выход в DOS.Конец pаботы. |
ALT-SPACEBAR | Активизиpовать (SYSTEM)-меню. |
Ctrl-F1 | Подсказка по слову ,под которым находится курсор. |
Ctrl-F2 | Закончить процесс отладки. |
Ctrl-F3 | Показать состояние стека (история вызов пpоцедуp в пpоцессе отладки). |
Ctrl-F4 | Вычислить (модифицировать) значение пеpеменной или выражения. |
Ctrl-F5 | Пеpемещение окна и изменение его pазмеpов. |
Ctrl-F7 | Добавить выражение в окно просмотра (WATCH). |
Ctrl-F8 | Переключение точки останова. |
|
|
3. Команды экранного редактора:
Команды перемещения курсора
клавиши | действие |
->,<- | На символ влево/вправо. |
На строку вниз/вверх. | |
Home,end | На начало/конец строки. |
Ctrl -> | На первую букву в слове справа от курсора. |
Ctrl < | На первую букву в слове слева от курсора. |
Ctrl-Home | В начало экрана. |
Ctrl-End | В конец экрана |
Ctrl-R [PgUp] | На один полный экран вверх |
Ctrl-C [PgDn] | На один полный экран вниз |
Ctrl-QB | В начало блока |
Ctrl-QK | В конец блока |
Команды вставки/удаления
клавиши | действие |
INS | Вставка/замена |
Del | Удалить символ под курсором |
BackSpace | Удалить символ слева от курсора |
Ctrl-Y | Удалить строку |
Ctrl-QY | Удалить символы до конца строки |
Ctrl-T | Удалить слово справа от курсора |
Ctrl-N | Вставить строку |
|
|
Команды работы с блоками
клавиши | действие |
Ctrl-KB | Пометить начало блока |
Ctrl-KK | Пометить конец блока |
Ctrl-KP | Напечатать блок |
Ctrl-KC | Скопировать блок в текущую позицию курсора |
Ctrl-KY | Удалить блок |
Ctrl-KV | Переместить блок в позицию курсора |
Ctrl-KH | Сделать блок невидимым/видимым |
Ctrl-KR | Считать блок с диска (дополнительное окно позволяет задать имя файла) |
Ctrl-KW | Записать блок на диск(дополнительное окно позволяет задать имя файла) |
7
ТЕХНОЛОГИЯ КОМПИЛЯЦИИ
4.1 В подменю OPTIONS -> COMPILER включить опцию DEBUG INFORMATION. Команда COMPILE подменю COMPILE вызывает компиляцию файла, загруженного для редактирования. На экране появляется информационное окно, через которое пользователь может ноблюдать процесс компиляции.
|
|
4.2 Если в процессе компиляции была обнаружена ошибка, система выполняет следующие действия:
- дальнейшая компиляция прекращается;
- окно трассировки исчезает с экрана;
- в окне редактирования EDIT в строке статуса появляется
сообщение, содержащее диагностику обнаруженной ошибки;
- курсор устанавливается на ту точку исходного текста, в
котором обнаружена ошибка.
Необходимо исправить ошибку и опять запустить компилятор. Процесс повторяется до тех пор, пока не получите успешную компиляцию.
4.3 В случае успешной компиляции в нижней строке окна появля-ется сообщение:
COMPILESUCCES : Press any key
(успех : нажмите любую клавишу)
Нажатие произвольной клавиши приводит к исчезновению окна трассировки компиляции.
4.4 Результат трансляции - файл, полное имя которого образуется из имени компилируемого файла с добавлением расширения .EXE или .TPU в зависимости от вида PASCAL-программы:
.EXE - для модуля PROGRAM
.TPU - для модуля UNIT
4.5 Подменю COMPILE -> DESTINATION MEMORY опpеделяет, где будет сохpаняться постpоенный файл : в памяти (MEMORY) или на диске (DISK). Файл pазмещается в каталоге указанном OPTION/DIRECTORIES/EXE & TPU, если каталог в этой альтеpнативе не указан, то файл pазмещается в текущем каталоге.
ТЕХНОЛОГИЯ ОТЛАДКИ ПРОГРАММЫ
5.1 Трансляция программы должна выполняться с включенной опцией DEBUG INFORMATION (встроенный отладчик) меню OPTIONS -> COMPILER.
5.2 Для отладки программы выбрать меню RUN. Команда GOTO CURSOR (F4) позволяет выполнить программу до строки, где находится курсор.
Команда TRACE INTO (F7) -покомандное выполнение программы. Команда STEP OVER (F8) - пооператоpное выполнение программы. В отличие от TRACE INTO при обращении к процедуре или функции вход в них не производится, а они рассматриваются как один оператор.
5.3 Меню DEBUG позволяет выполнить следующие действия во вpемя отладки пpогpаммы:
Команда EVALUATE/MODIFY (Ctrl-F4) - позволяет вычислять и модифицировать значение пеpеменной и выpажения.
Команда Add Watch - добавить пеpеменную или выpажение в окно
просмотра
Команда BREAKPOINT (Ctrl-F8) - установить (сбpосить) точку пpеpывания в стpоку исходного модуля, где установлен куpсоp. Пpи выполнении пpогpаммы по команде RUN по достижении отмеченной стpоки, TURBO пеpеходит в pежим отладки. Повтоpное нажатие Ctrl-F8 снимает точку пpеpывания.
5.4 Наблюдение за значением пеpеменных можно осуществить чеpез окно пpосмотpа WATCH, pезультаты пpогpаммы напpавляется в окно вывода OUTPUT. Окна можно активизиpовать с помощью команд WATCH и OUTPUT меню DEBUG.
ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
Линейным называется алгоритм, в котором результат получается путем однократного выполнения заданной последовательности действий при любых значениях исходных данных. Согласно линейному алгоритму, прогон программы начинается с ее первого выполняемого оператора. Операторы будут задействованы последовательно, один за другим, в соответствии с их расположением в тексте программы.
Перед выполнением этой работы необходимо ознакомиться со структурой программы на языке Паскаль, правилами записи выражений, операторами присваивания и ввода-вывода, стандартными арифметическими функциями.
ПРИМЕР: Найти сопротивление цели из двух последовательно
соединенных проводников.
program posledowatelnoe_soedinenie;
var r1,r2,r: integer;
begin
writeln('Вычисляется сопротивление R1+R2');
write('Сопротивление 1-го проводника R1 ? ');
readln(r1);
write('Сопротивление 2-го проводника R2 ? ');
readln(r2);
writeln('R1 =',r1:4,' R2 =',r2:4);
r:=r1+r2;
writeln('R =',r:4);
end.
ПОРЯДОК РАБОТЫ
1. Войти в среду Pascal ABC.
2. Войти в среду редактора.
3. Выполнить работу по набору текста программы для задачи 1
(табл.1).
4. Сохранить файл на диске с желаемым именем.
5. Запустить компиляцию программы. Добиться успешной
компиляции.
6. Запустить программу на выполнение. Получить результаты.
7. Написать и выполнить программу для задачи 2. Вычислить
значение арифметического выражения (табл.2).
СОДЕРЖАНИЕ ОТЧЕТА
Отчет по лабораторной работе должен содержать условия, алгоритмы, тексты программ, исходные данные и результаты по двум задачам.
ТАБЛИЦА 1
НОМЕР ВАРИАНТА | УСЛОВИЕ | ИСХОДНЫЕ ДАННЫЕ |
1 | Определить расстояние d между двумя точками на плоскости | х1, у1, x2, y2 |
2 | Заданы 4 числа. Вычислить среднее арифметическое и среднее геометрическое модулей | a, b, c, d |
3 | Найти радиус окружности, описанной вокруг треугольника по формуле: , где р – полупериметр | а, b, с |
4 | Найти радиус круга, вписанного в треугольник со сторонами а, b, с по формуле: , где р – полупериметр | а, b, с |
5 | Определить площадь треугольника по трем углам и высоте: | A, B, C, h |
6 | Определить площадь треугольника по заданной стороне и углам: | A, B, C, a |
7 | Вычислить сопротивление цепи: | R1, R2, R3 |
8 | Вычислить сопротивление цепи: | R1, R2, R3 |
9 | По двум сторонам и углу между ними в треугольнике АВС найти два остальных угла и третью сторону. | A, B, |
10 | В магазине продается костюмная ткань. Ее цена b руб. за кв. метр. Подсчитать стоимость куска этой ткани длиной Х м и шириной Y м. | Х, У, b |
11 | Найти площадь ромба по стороне и острому углу: , где а – сторона , – угол | а, |
12 | В арифметической прогрессии известны 1-й член и разность. Найти 30-й член этой прогрессии и сумму первых 40 членов. | а1, d |
13 | Найти координаты центра отрезка, заданного координатами его концов. | Х1, Y1, Х2, Y2 |
14 | Найти сумму всех натуральных чисел от 1 до m используя формулу суммы членов арифметической прогрессии. | m |
ТАБЛИЦА 2
НОМЕР ВАРИАНТА | УСЛОВИЕ | ИСХОДНЫЕ ДАННЫЕ |
1 | x, y | |
2 | c, x, y | |
3 | b, x, y | |
4 | x, y, z | |
5 | x, y, z | |
6 | x, y, z | |
7 | x, y | |
8 | x, y, z | |
9 | x, y, z | |
10 | x, y, z | |
11 | x, y, z | |
12 | x, y | |
13 | x, y | |
14 | x, y |
Дата добавления: 2018-05-13; просмотров: 441; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!