Основы программирования и алгоритмические языки
Варианты контрольных и лабораторных работ по основам программирования. Особенности выполнения изучаемых операторов: условные, присваивания, ввода-вывода. Организация разветвлений, циклы и работа с одномерными массивами. Циклы и обработка матриц.
Рубрика | Педагогика |
Вид | методичка |
Язык | русский |
Дата добавления | 24.01.2011 |
Размер файла | 776,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Описание процедуры InputMatrix.
В заголовке процедуры описаны параметры: K - входной параметр, передаваемый из основной программы, и A - выходной параметр (массив вводимых в процедуре элементов матрицы А).
Описаны локальные целочисленные переменные i (счетчик числа строк), j (счетчик числа столбцов) - integer.
В процедуре в двойном цикле for по переменным i, j вводятся значения элементов массива А [I,J]: Readln (A [I,J].
Затем управление передается основной программе.
Описание процедуры OutputMatrix.
Поскольку алгоритм вывода матрицы структурно ничем не отличается от алгоритма ее ввода (см. Соответствующие блок-схемы в прил.1), то и оформление процедуры почти одинаково. Обратите, пожалуйста, внимание на то, что массив А - теперь параметр входной (т.е. известный), поэтому ключевое слово Var отсутствует. В двойном цикле for реализован построчный вывод на экран исходной матрицы. В формате вывода под выводимое значение элементов матрицы отводится 7 позиций, в том числе две позиции для вывода дробной части:
Write (A [i,j]: 7: 2,' `).
Следующий оператор вывода без параметров Writeln позволяет закончить вывод одной строки матрицы и перейти на следующую.
Описание процедуры Evaluate.
В заголовке процедуры описаны параметры: K, A как входные параметры.
Описаны локальные переменные i (счетчик числа строк), j (счетчик числа столбцов) как integer и stolb (вещественный массив длиной N - array [1. N] of Real), sr (рабочая переменная типа Real для подсчета суммы элементов в данном столбце).
В двойном цикле for считается среднее арифметическое значение для каждого столбца и сохраняется в одномерном массиве Stolb:
цикл начинается по столбцам j от 1 до k;
затем в цикле по строкам i считается сумма элементов в данном столбце sr;
и вычисляется среднее арифметическое значение для каждого столбца путем деления вычисленной суммы на количество строк Stolb [j]: =sr/k.
Значение элементов одномерного массива среднего арифметического значения столбцов Stolb [j] в цикле for выводится на экран.
Замечание. Средние арифметические значения каждого из столбцов матрицы можно вычислять и тут же выдавать на экран. Этот вариант пригоден только тогда, когда значения средних арифметических больше ни для чего НЕ нужны (как в нашем случае). Тогда надобность в массиве Stolb и дополнительном цикле for отпадает. В этом случае подпрограмма Evaluate будет иметь следующий вид:
Procedure Evaluate (k: integer; A: arrayA);
Var i,j: integer;
sr: real;
Begin
Writeln ('----- - Cреднее арифметическое каждого из столбцов - ------');
for j: =1 to k do {----- - цикл по столбцам - ---- - }
Begin
sr: =0;
for i: =1 to k do {----- - цикл по строкам - ---- - }
sr: =sr+A [i,j]; {вычисление суммы элементов по столбцам
матрицы A}
Writeln ('Cтолбец [',j,'] = ', sr/k: 7: 2);
End;
End;
Описание главной программы
В теле основной программы в цикле Repeat. Until очищается экран (ClrScr).
Путем вызова процедуры InputN (k) вводится значение k - фактическое число строк и столбцов исходной матрицы A.
Путем вызова процедуры InputMatrix (k,A) вводим значения элементов исходной матрицы А.
Опять очищаем экран (ClrScr).
Через вызов процедуры OutputMatrix (k,A) выводим на экран значения элементов исходной матрицы А.
Через вызов процедуры Evaluate (k,A) определяем значения средних арифметических каждого из столбцов и выводим их на экран.
Затем следует запрос "Опять? (Y/N)".
Переменной ch присваивается значение нажатой клавиши ch: =ReadKey и в зависимости от ответа управление передается или на начало цикла (ch: ='Y') для повторного счета, но уже с другими исходными данными, или программа заканчивает выполнение (ch: = `N').
Приложение 6. Основные функции среды ТУРБО ПАСКАЛЬ
Система программирования ТУРБО ПАСКАЛЬ представляет собой совокупность компилятора языка программирования ПАСКАЛЬ и инструментальной программной оболочки. Для вызова ТУРБО ПАСКАЛЯ следует дать команду:
TURBO
По этой команде в память загружается файл TURBO. EXE, на экране монитора появляется оболочка ТУРБО ПАСКАЛЯ. Верхняя строка оболочки содержит "главное меню" режимов работы ТУРБО ПАСКАЛЯ, нижняя строка - краткую справку о назначении основных функциональных клавиш. Центральная часть экрана принадлежит окну редактора для ввода и редактирования текста программы. Под верхней строкой в центре двойной рамки приводится имя дискового файла (новому файлу присваивается имя NONAME00. PAS). Цифра в верхнем правом углу окна редактора обозначает номер окна редактирования. В ТУРБО ПАСКАЛЕ можно одновременно работать с 9 программами, каждая из которых располагается в отдельном окне редактора. Кроме окон редактора используются окна: отладочного режима, вывода результатов работы программы, справочной службы, стека, регистров.
Для перехода в главное меню необходимо нажать клавишу F10, поместить курсор на нужную функцию, нажать ENTER. В появившемся ниспадающем меню выбрать необходимую опцию и нажать ЕNTER. Например, для сохранения текста программы на диске нужно нажать F10, переместить курсор на FILE, затем SAVE и нажать ENTER, в появившемся диалоговом окне задать имя файла, под которым ваша программа будет храниться на диске. Отметим, что имя файла, под которым текст программы хранится на диске, не эквивалентен имени программы, заданным в первой строке программы, написанной на Паскале.
Функциональные клавиши
Функциональные клавиши используются для быстрого управления средой ТУРБО ПАСКАЛЯ. Они обозначаются F1,., F12 и располагаются в верхнем ряду клавиатуры.
Назначения функциональных клавиш:
F1 - вызов справки;
F2 - записать программу на диск;
F3 - открыть записанную программу на диске в окне редактора;
F4 - используется в отладочном режиме;
F5 - распахнуть активное окно на весь экран;
F6 - сделать активным следующее окно;
F7 - используется в отладочном режиме;
F8 - используется в отладочном режиме;
F9 - компилировать программу, но не выполнять ее;
F10 - перейти к диалоговому выбору режима работы;
Ctrl-F9 - компилировать программу, загрузить ее в оперативную память (или записать на диск) и выполнить, после чего вернуться в среду ТУРБО ПАСКАЛЬ;
Alt-F5 - сменить окно редактора на окно вывода результатов программы;
Alt-X - выход из ТУРБО ПАСКАЛЯ;
Текстовый редактор среды
Текстовый редактор предназначен для создания и редактирования текста программы. Для создания текста его вводят с клавиатуры, нажимая в конце каждой строки клавишу ENTER.
Для того, чтобы исправить ошибки, которые были допущены при наборе программы, необходимо переместить курсор (небольшой мигающий прямоугольник в окне редактора) с помощью клавиш перемещения курсора в нужное место и исправить ошибку.
Команды текстового редактора.
PgUp - переместить курсор на страницу вверх;
PgDn - переместить курсор на страницу вниз;
HOME - переместить курсор в начало строки;
END - переместить курсор в конец строки;
Ctrl-PgUp - переместить курсор в начало текста;
Ctrl-PgDn - переместить курсор в конец текста;
BACKSPACE - стереть символ слева от курсора;
DEL - стереть символ справа от курсора;
CtrL-Y - стереть строку, на которой располагается курсор;
ENTER - вставить новую строку;
Ctrl-Q L - восстановить текущую строку (действует, если курсор не покидал измененную строку);
Ctrl-K B - пометить начало блока;
Ctrl-K K - пометить конец блока;
Ctrl-K Y - стереть блок;
Ctrl-K C - копировать блок;
Ctrl-K V - переместить блок;
Ctrl-K W - записать блок в дисковый файл;
Ctrl-K R - прочитать блок из дискового файла;
Ctrl-K P - напечатать блок;
Shift - HOME END - быстро создать блок.
После набора текста программы не забудьте сохранить его на диске, нажав клавишу F2. В появившемся окне в поле задания имени файла введите имя файла, под которым ваша программа будет записана на диске.
Счет и отладка программы
После подготовки текста программы необходимо откомпилировать программу, при необходимости связать ее с библиотекой стандартных процедур и функций, загрузить ее в оперативную память и передать ей управление. Вся эта последовательность действий реализуется одновременным нажатием клавиш Ctrl-F9.
Если в программе нет ошибок, то все действия выполняются последовательно одно за другим, при этом на экране сообщается о количестве строк откомпилированной программы и объеме доступной оперативной памяти.
Перед передачей управления загруженной программе среда очищает экран и на него выводятся результаты выполнения программы, а после завершения работы программы вновь восстанавливается окно редактора.
Если на каком-нибудь этапе среда обнаружила ошибку, она прекращает дальнейшее действие, восстанавливает окно редактора и помещает курсор на ту строку программы, на которой обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение о причине ошибки. Необходимо найти причину ошибки и отредактировать текст. В более сложных ситуациях прибегают к пошаговому исполнению программы, например, последовательным нажатием F7. В случае необходимости можно просмотреть значения проверяемых переменных. Для этого поместите курсор в строку, содержащую переменную, и нажмите Ctrl-F4. В появившемся диалоговом окне в верхнем поле будет имя переменной, нажав на ENTER, в среднем поле получим ее значение. В верхнее поле можно с клавиатуры вводить имена переменных или выражение.
Справочная система
В затруднительной ситуации нажмите на клавишу F1 или CTRL-F1 (для объяснения конкретной ситуации) и на экране высветится необходимая справка. Во многих случаях справка содержит пример небольшой программы, которую можно скопировать в окно редактирования, запустить на выполнение и посмотреть результат.
Приложение 7. Обозначения основных символов, используемых при составлении блок-схем алгоритмов (ГОСТ 19.003-80)
Приложение 8. Директивы компилятора
В Турбо-Паскале можно использовать директивы компилятора, которые в виде особым образом оформленных комментариев вставляются в текст программы и изменяют те или иные возможности компилятора в процессе компиляции. Директивы обрамляются в фигурные скобки. За открывающейся скобкой должен следовать знак доллара $. Знак плюс означает установку опции в активное состояние, а знак минус - в пассивное. В одной директиве можно указать несколько опций через запятую: {$N+,E+}
Список основных директив компилятора
{$A-} разрешает для переменных и типизованных констант выравнивание на границу слова. Для процессоров 80х86 это приводит к более быстрому доступу к памяти. По умолчанию эта опция установлена {$A+}.
{$B-} устанавливает вычисление булевских выражений по короткой схеме. В зависимости от установленного режима вычисления булевских выражений можно получить код, который выполняется быстрее.
{$E-} устанавливает режим эмуляции сопроцессора при работе с вещественными данными типа SINGLE, DOUBLE, EXTENDED. По умолчанию директива имеет значение {$E+}.
{$I-} выключает стандартную проверку ошибок ввода/вывода. Вызвав встроенную функцию IOResult, программист может сам обрабатывать ошибки ввода/вывода.
{$N-} устанавливает режим подключения сопроцессора при работе с вещественными данными типа SINGLE, DOUBLE, EXTENDED. Система проверяет наличие сопроцессора и при его отсутствии команды сопроцессора эмулируются. Поэтому при работе с указанными вещественными данными необходимо включить две директивы {$N+,E+}.
{$R-} выключает проверку диапазона. При генерации кода не осуществляется проверка ошибок в индексировании массивов и в присвоении значений.
{$S-} выключает проверку стека. При генерации кода не осуществляется проверка наличия достаточного пространства в стеке для каждого вызова процедуры или функции.
{$V-} отменяет проверку параметров var для строк. Это позволяет передавать в качестве фактических параметров строки, длина которых отлична от длины, установленной для формального параметра var в заголовке процедуры.
Приложение 9. Модуль CRT
Модуль CRT содержит подпрограммы управления текстовым выводом на экран дисплея, звуковым генератором и чтения с клавиатуры.
В режиме текстового вывода координаты экрана следующие: верхний левый угол <1,1>, нижний правый <WindMax>, причем горизонтальная координата возрастает слева направо, а вертикальная - сверху вниз. Если на экране активизировано окно, то все координаты определяются относительно границ окна, за исключением процедуры Window (здесь координаты всегда задаются относительно границ экрана).
Для чтения с клавиатуры используются две функции: KeyPressed и ReadKey. Функция KeyPressed определяет факт нажатия на любую клавишу и не приостанавливает дальнейшее исполнение программы. Функция ReadKey читает расширенный код нажатой клавиши и ожидает действий пользователя.
Управление звуковым генератором строится по схеме Sound - Delay - NoSound. Первая процедура включает генератор и генерирует звук нужного тона. Вторая - приостанавливает работу программы на заданное число миллисекунд реального времени. Третья - отключает звуковой генератор.
КОНСТАНТЫ
CRT - режимы:
BW40 = 0; { 40x25, черно-белый }
CO40 = 1; { 40x25, цветной }
BW80 = 2; { 80x25, черно-белый }
CO80 = 3; { 80x25, цветной }
Mono = 7; { 80x25, монохромный }
Font8x8 = 256; { добавка для EGA (80x43) или VGA (80x50) }
Константы CRT - режимов для совместимости с версией 3.0:
C40 = CO40;
C80 = CO80;
Константы цвета фона и символов:
Black = 0; {черный}
Blue = 1; {голубой}
Green = 2; {зеленый}
Cyan = 3; {бирюзовый}
Red = 4; {красный}
Magenta = 5; {малиновый}
Brown = 6; {коричневый}
LightGray = 7; {светло-серый}
Константы цвета символов:
DarkGray = 8; {темно-серый}
LightBlue = 9; {светло-голубой}
LightGreen = 10; {светло-зеленый}
LightCyan = 11; {светло-бирюзовый}
LightRed = 12; {светло-красный}
LightMagenta = 13; {светло-малиновый}
Yellow = 14; {желтый}
White = 15; {белый}
Blink = 128; {бит мерцания}
ПЕРЕМЕННЫЕ
CheckBreak: Boolean; { Реакция на Ctrl-Break }
CheckEOF: Boolean; { Реакция на Ctrl-Z - end of file}
DirectVideo: Boolean; { Разрешение/запрещение прямой работы с видеопамятью }
CheckSnow: Boolean; { Реакция на "снег" монитора }
LastMode: Word; { Хранение последнего текстового режима}
TextAttr: Byte; { Текущий текстовый атрибут}
WindMin: Word; { Координаты <X,Y> верхнего левого угла текущего окна }
WindMax: Word; { Координаты <X,Y> нижнего правого угла текущего окна }
ПРОЦЕДУРЫ И ФУНКЦИИ
procedure AssignCrt (var F: Text);
связывает с файловой переменной устройство ввода/вывода CRT.
function KeyPressed: Boolean;
возвращает значение True, если на клавиатуре была нажата любая клавиша.
function ReadKey: Char;
читает символ с клавиатуры без эхо повтора и приостанавливает исполнение программы до нажатия на любую клавишу, кроме Shift, Ctrl, Alt, CapsLock, NumLock, ScrollLock.
procedure TextMode (Mode: Integer);
устанавливает нужный текстовый режим.
procedure Window (X1,Y1,X2,Y2: Byte);
открывает текстовое окно на экране с абсолютными координатами <X1,Y2>, <X2,Y2>.
procedure GotoXY (X,Y: Byte);
перемещает курсор в нужное место <X,Y> активного окна.
function WhereX: Byte;
возвращает горизонтальную координату X текущего положения курсора в активном окне.
function WhereY: Byte;
то же для вертикальной координаты Y.
procedure ClrScr;
очищает окно и помещает курсор в левый верхний угол <1,1>.
procedure ClrEol;
удаляет все символы от текущей позиции курсора до конца строки без перемещения курсора.
procedure InsLine;
вставляет пустую строку в позицию курсора.
procedure DelLine;
удаляет строку, на которой находится курсор, и перемещает все строки, расположенные ниже нее, на строку вверх.
procedure TextColor (Color: Byte);
устанавливает цвет символов.
procedure TextBackground (Color: Byte);
устанавливает цвет фона.
procedure LowVideo;
устанавливает низкую яркость символов.
procedure HighVideo;
устанавливает высокую яркость символов.
procedure NormVideo;
устанавливает нормальную яркость символов.
procedure Delay (MS: Word);
приостанавливает работу программы на указанное число миллисекунд MS.
procedure Sound (Hz: Word);
включает звуковой генератор с указанной звуковой частотой Hz.
procedure NoSound;
выключает звуковой генератор.
Размещено на Allbest.ru
Подобные документы
Разработка урока на тему "Введение в языки программирования" в соответствии с типовым учебным и календарно-тематическим планами обучения предмету "Языки программирования". Алгоритм проведения урока: проверка прошедшего материала, изложение новой темы.
курсовая работа [441,7 K], добавлен 25.09.2010Исследование алфавита и синтаксиса языка Python. Темы и основные понятия факультативного курса "Основы программирования на языке Pyhton", адаптация теоретического материала для учащихся 10–11 классов. Разработка лабораторных работ по данной теме.
дипломная работа [2,3 M], добавлен 25.06.2013Анализ учебных пособий по информатике: Угринович Н.Д., Макаров Н.В., Семакин И.Г. Методика преподавания темы "Циклы" в базовом курсе информатики. Применение методики построения алгоритмов по теме "Циклы" на конспекте урока и лабораторной работе.
курсовая работа [621,6 K], добавлен 07.07.2012Цели использования лабораторных работ в обучении математике, этапы подготовки и проведения. Аналитический обзор лабораторных работ по математике, предлагаемых в литературе для учителей и учащихся. Методические рекомендации к проведению лабораторных работ.
дипломная работа [490,1 K], добавлен 23.04.2011Характеристика внеклассных занятий по информатике. Функциональные особенности среды программирования SCRATCH. Положения федерального государственного образовательного стандарта. Возможности интерфейса SCRATCH. Методика и организация учебной деятельности.
дипломная работа [1,6 M], добавлен 07.09.2017Выбор технологии программирования для учебного процесса, возможности методического обеспечения структурного программирования, принципы структурной алгоритмизации. Базовый набор структур и построение алгоритмов на их основе, особенности языка Pascal ABC.
курсовая работа [46,7 K], добавлен 17.05.2010Структура методического анализа. Отбор учебного материала, его методическая редукция, цели, эффективные методы обучения. Анализ содержания учебного материала по теме "Языки программирования баз данных и СУБД". Разработка урока теоретического обучения.
курсовая работа [204,4 K], добавлен 19.06.2011Сравнительный анализ инструментальных средств AutoCad, MatLab, Maple и Mathematica. Педагогические подходы к обучению школьников основам программирования на уроках информатики, их алгоритмическая культура и разработка библиотеки процедур в среде Maple.
дипломная работа [154,4 K], добавлен 20.04.2011История и роль школьного предмета "Информатика". Общие вопросы изучения алгоритмизации и программирования в школьном курсе информатики. Основные методы преподавания темы "Основы алгоритмизации и программирования". Разработка урока по исследуемой теме.
курсовая работа [55,5 K], добавлен 22.11.2011Практическая работа, направленная на формирование навыков работы в среде программирования Scratch. Разработка конспектов внеурочных занятий по формированию элементов алгоритмической грамотности у первоклассников в визуально-ориентированной программе.
дипломная работа [1,5 M], добавлен 08.09.2017