Uploaded by Юлия Скудина

практикум по алгоритмам

advertisement
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
Нижний Ломов 2020.
2
ВВЕДЕНИЕ
В соответствии с тенденцией быстрого продвижения общества к всестороннему использованию достижений научно-технического прогресса в области компьютерной техники и бурно развивающихся процессов информатизации учебными планами всех высших учебных заведений России экономического профиля
предусмотрено изучение дисциплины, формирующей базовые знания в области
информатики «Информатики и программирования».
Экономисты-информатики – профессионалы новой формации должны хорошо владеть методами экономического анализа, быть способными оперативно,
качественно и критически разбирать сложившиеся и прогнозируемые ситуации,
вырабатывать собственные суждения и предлагать конкретные решения, направленные на повышение эффективности функционирования объекта. Чтобы достичь профессионализма, необходимо обладать теоретическими знаниями в области информатики, иметь практические навыки по использованию вычислительной техники, средств связи и телекоммуникационного оборудования, знать основы и перспективы информационных технологий и программирования, иметь
представление о компьютерном моделировании экономических ситуаций и информационных ресурсах принятия оптимальных решений, понимать проблемы
информационной безопасности. Соблюдение принципов постепенности и посильности и на всех этапах обучения является необходимым условием осмысленного усвоения материала.
Общая цель курса - изложение фундаментальных понятий об информации,
методах ее получения, хранения, обработки, передачи и программировании, а
также роли информационного ресурса и информационной культуры в информатизации общества.
Тематика лекций и лабораторных занятий соответствует требованиям ГОС и
содержанию рабочей учебной программы дисциплины «Информатика и программирование». Основными формами обучения студентов являются аудиторные
занятия, включающие лекции и лабораторные занятия, курсовое проектирование,
а так же самостоятельную работу.
Подготовка к лабораторным занятиям по дисциплине «Информатика и программирование» включает в себя самостоятельное изучение теоретического материала в соответствии с целями, задачами и ходом лабораторной работы, изучение программы и методики выполнения предстоящей работы по методическим
указаниям. Лабораторные работы предназначены для практического усвоения материала и включают:
 освоение программного и аппаратного обеспечения;
 обсуждение значимых проблем, поиск связей с изученными ранее темами дисциплины «Информатика и программирование» и другими дисциплинами;
 подготовка отчета о проделанной работе и оформление бланка отчета;
3

защиту отчета, включающий закрепление основных теоретических положений
дисциплины.
4
ЛАБОРАТОРНАЯ РАБОТА № 1
Знакомство с системой программирования Turbo Pascal
Цель: Освоение порядка работы в системе программирования Turbo Pascal.
Задачи:
1) Изучить инструкции по технике безопасности и правила работы.
2) Ознакомиться с основными принципами работы в среде Turbo Pascal .
3) Составить блок-схему и программу по заданию.
4) Отработать практические навыки отладке и тестирования программ, написанных на языке программирования Turbo Pascal.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
1. Блок-схема
Любой алгоритм может быть описан словесно, структурно-стилизованно на
языке псевдокодов, графически в виде блок-схем и программно.
НАЧАЛО
ВВОД
ДАННЫХ
ВВОД
ДАННЫХ
ЦИКЛ
ДА
ПОДПРОГРАММА
ВЫВОД
ДАННЫХ
ВЫЧИСЛЕНИЯ
ДЕЙСТВИЯ
НЕТ
УСЛОВИЕ
КОНЕЦ
РАЗРЫВ ВЕТВЕЙ
А
В
КОММЕНТАРИЙ
ПОЯСНЕНИЯ
ДОПОЛНЕНИЯ
2. Типы данных языка программирования Turbo Pascal
В языке программирования Turbo Pascal все данные, используемые программой должны принадлежать к какому-либо типу данных. Некоторые из них:
REAL - вещественное число с фиксированной или с плавающей запятой;
5
INTEGER - любое целое число и LONGINT – большое целое число;
CHAR – любой символ и STRING - строка символов с максимум 255 знаков;
BOOLEAN - логический тип, результат TRUE (истина) или FALSE (ложь).
3. Структура программы на языке программирования Turbo Pascal 7.0
3.1. Заголовок программы задает имя программы, в котором не должно быть
пробелов, оно должно начинаться с буквы, состоять из латинских букв, цифр и
некоторых символов (кроме точки и запятой).
PROGRAM ИМЯ_ПРОГРАММЫ (ПАРАМЕТРЫ ПРОГРАММЫ) ;
3.2. Раздел указания используемых модулей может быть записано только раз
и располагаться после заголовка USES ИДЕНТИФИКАТОР;
3.3. Раздел описаний, в котором должны быть описаны идентификаторы
(имена элементов), используемые в программе. Идентификаторы не должны совпадать с зарезервированными словами, в них могут использоваться строчные и
прописные буквы латинского алфавита (Turbo Pascal прописные и строчные буквы не различает), цифры и символ подчеркивания. Цифра не может быть первой.
Раздел описания переменных VAR содержит сведения о переменных в программе. Тип данных определяет их представление в памяти, множество допустимых значений и операций, которые можно выполнять.
VAR СПИСОК ИДЕНТИФИКАТОРОВ : ТИП ;
Раздел описания типов TYPE. Все данные, используемые программой, должны принадлежать к какому-либо известному типу данных. Задание типа означает,
что в разделе VAR можно пользоваться вновь введенным идентификатором.
TYPE ИДЕНТИФИКАТОР = ТИП ;
Раздел описания меток LABEL. Любой оператор может быть помечен меткой, которая ставится перед ним и отделяется двоеточием.
LABEL МЕТКА ;
Раздел описания констант CONST вводит идентификаторы как константы. В
их качестве разрешается использовать целые, вещественные значения, строки из
букв и символов, выражения или типизированные константы, которые получают
значение один раз в начале выполнения программы и сохраняют свое значение.
CONST ИДЕНТИФИКАТОР = КОНСТАНТА ;
ИДЕНТИФИКАТОР : ТИП = ТИПИЗИРОВАННАЯ_КОНСТАНТА ;
Раздел описания процедур PROCEDURE и функций FUNCTION. Часто некоторую последовательность действий требуется повторить в нескольких местах
программы, ей присваивается имя, которое используется для сокращенной записи
в тех местах, где должна встречаться соответствующая последовательность.
PROCEDURE ИДЕНТИФИКАТОР (ПАРАМЕТРЫ : ТИП) ;
ТЕЛО ПРОЦЕДУРЫ;
FUNCTION ИДЕНТИФИКАТОР (ПАРАМЕТРЫ : ТИП) : ТИП РЕЗУЛЬТАТА ;
ТЕЛО ФУНКЦИИ;
3.4. Раздел операторов, в котором задаются действия над объектами программы, введенными в разделе описаний.
BEGIN
……….……. ;
6
END.
3.5. Комментарий служит для пояснения программы или ее отдельных частей, его наличие делает программу понятной и удобной для чтения. Комментарий ограничивается {…}. Комментарии не обрабатываются, могут быть написаны
и на русском языке, при выполнении программы игнорируются и не влияют на
решение. Их можно вставлять в любое место программы, где допускается пробел.
4. Стандартные операции, процедуры и функции
4.1. Арифметические операции.
+, –, *, /.
DIV – целочисленное деление
MOD – остаток от целочисленного деления.
4.2. Арифметические функции и функции преобразования типов.
ABS ( X ) – абсолютная величина, модуль аргумента Х.
SIN ( X ) – синус аргумента Х, величина в радианах.
COS ( X ) – косинус аргумента Х, величина в радианах.
ARCTAN ( X ) – арктангенс Х, значение в радианах в диапазоне от – /2 до /2.
LN ( X ) – натуральный логарифм аргумента Х.
EXP ( X ) – величина eх .
PI – значение числа .
SQR ( X ) – квадрат аргумента Х.
SQRT ( X ) – квадратный корень из аргумента Х.
FRAC ( X ) – дробная часть аргумента Х.
INT ( X ) – целая часть аргумента Х.
RANDOM ( X ) – генерация случайного числа.
CHR ( CODE ) – возвращение символа с кодом.
ORD ( X ) – возвращение значения кода символа X в таблице ASCII.
ROUND ( X ) – округление аргумента Х.
TRUNC ( X ) – выделение целой части аргумента Х.
LOW ( X ) – возвращение наименьшего значения в диапазоне данного типа.
HIGH ( Х ) – возвращение наибольшего значения в диапазоне данного типа.
4.3. Стандартные процедуры.
DEC ( X , N ) – уменьшение значения переменной Х на значение N.
INC ( X , N ) – увеличение значения переменной Х на значение N.
5. Основные операторы языка программирования Turbo Pascal
5.1. Оператор присваивания задает значение выражения. Тип выражения и
тип переменной должны быть совместимы:
ИМЯ ПЕРЕМЕННОЙ : = ВЫРАЖЕНИЕ ;
5.2. Составной оператор – это объединение нескольких операторов в группу
при помощи BEGIN и END. Его можно помещать, где допускается один оператор.
BEGIN
ОПЕРАТОР 1;
...................... ;
ОПЕРАТОР N;
END;
7
5.3. Пустой оператор – оператор, не выполняющий никакого действия.
5.4. Ввод данных с клавиатуры выполняется с помощью оператора READ, в
скобках записываются имена переменных, которым должны быть присвоены
вводимые значения. Когда при выполнении программы встречается READ, работа приостанавливается и ожидается ввод с клавиатуры. Значения вводятся через
пробел или <Enter>. Введенное значение присваивается переменной, имя которой
стоит в скобках и процесс выполнения программы продолжается.
READ (Х) ;
Применяется оператор READLN для перехода на новую строку. Ввод нескольких переменных можно объединить в одном операторе: имена переменных
отделяются друг от друга запятой и называются списком ввода: READ (Х, У) ;
5.5. Вывод данных на экран выполняется с помощью оператора WRITE, в
скобках записываются имена переменных, значение которых нужно видеть.
WRITE (Х) ;
Если нужно начать вывод данных с новой строки, применяется оператор
WRITELN. Перед вводом и выводом данных рекомендуется давать поясняющий
текст в апострофах. На экран символьные переменные выводятся как записаны,
но без апострофов: WRITE (‘ Х = ’, Х) ;
Для вывода чисел можно указывать формат WRITE (Х:А:В) ;
где Х – выводимое значение, А - общее поле вводимого значения, которое включает в себя отрицательный знак (если есть), количество цифр в целой части, точку и количеств цифр в дробной части; В - поле дробной части.
Если формат вывода указан больше, чем число, то перед ним оставляются
пробелы. Если в позиций для дробной части указано больше, чем в числе, то добавляются нули, иначе - округляется до количества позиций формата. Для вывода
целых чисел в формате опускается поле дробной части.
6. Основные приемы работы в Turbo Pascal
Верхняя строка содержит меню возможных режимов работы Turbo Pascal,
нижняя – краткую справку о назначении основных функциональных клавиш.
Остальная часть экрана принадлежит окну редактора. В его верхней строке
приводится имя дискового файла, откуда был прочитан текст программы (или
имя NONAME00.PAS, если текст не читался), поля, используемые при работе с
мышью ([↕]) и цифра, указывающая номер окна в верхнем правом углу окна.
В Turbo Pascal можно работать сразу с несколькими программами или частями одной крупной программы, каждая из которых располагается в отдельном
окне редактора. Среда позволяет использовать до 9 окон одновременно.
6.1. Функциональные клавиши Turbo Pascal 7.0.
<F1> - обращение к встроенной справке;
<F2> - записать редактируемый текст в дисковый файл;
<F3> - прочитать текст из дискового файла в окно редактора;
<F9> - компилировать программу, но не выполнять;
<F10> - перейти к диалоговому выбору режима работы в главном меню;
<Ctrl><F9> - откомпилировать программу, находящуюся в редакторе, загрузить
ее в оперативную память, выполнить и вернуться в среду Turbo Pascal.
8
<Alt><F5> - сменить окно редактора на окно вывода результатов работы.
<Alt><Х> - выход из Turbo Pascal.
<Ctrl><Y>- стирает всю строку, на которой располагается курсор.
<Ctrl><N>- вставка пустой строки над строкой, где находится курсор.
6.2. Необходимые команды меню Turbo Pascal 7.0.
Е – вспомогательные действия, информация, восстановление экрана.
FILE - действия с файлами, выход из Turbo Pascal.
OPEN - открыть новое окно редактора Turbo Pascal, а в нем файл (указать путь).
NEW - открыть новое окно редактора Turbo Pascal.
SAVE - запись в файл (если NONAME00.PAS, то запросится новое имя файла).
SAVE AS - запись файла под другим именем или в другом месте.
SAVE ALL - запись содержимого всех окон в соответствующие файлы.
EXIT - завершение работы в Turbo Pascal.
EDIT - операции с буфером памяти, восстановление испорченной строки.
RESTORE LINE - восстанавливает удаленную или измененную строку.
CUT - выделенный блок переносится во временный буфер памяти.
COPY - выделенный блок копируется в буфер памяти.
PASTE - копируется содержимое буфера памяти в окно редактора Turbo Pascal.
RUN - прогон программы.
RUN - компиляция, компоновка и исполнение программы из файла редактора.
COMPILE - компиляция программы.
WINDOWS - работа с окнами.
HELP - помощь.
Самостоятельно изучить вопросы:
1. Правила для задания идентификатора переменной.
2. Обработка и хранение разных данных.
3. Скалярные и структурные, стандартные и пользовательские типы данных.
4. Способы записи алгоритма в реальной жизни.
5. Тезаурус языков программирования.
Контрольные вопросы:
1. Что такое алгоритм и каковы его основные свойства?
2. Приведите примеры способов описания алгоритмов в реальной жизни?
3. Почему популярна визуализация описания алгоритма в виде блок-схем?
4. Можно ли блок-схему считать моделью решения задачи?
5. При написании программы на каком-либо языке программирования что будет
являться исполнителем? В каком случае изменится исполнитель?
6. Что входит в тезаурус языка программирования?
7. Для чего при объявлении переменной указывается ее тип?
8. Почему стандартные типы данных называют еще и предопределенными?
9. Какие из типов Turbo Pascal согласуются с другом или могут «входить» в них?
Задания: Найти сумму двух чисел. Запросить у пользователя числа А и В, подсчитать сумму С и сообщить ее.
Порядок выполнения:
1) Открыть Turbo Pascal.
9
2) Разработать алгоритм, рассмотреть блок-схему.
НАЧАЛО
А, В
C=A+B
C
КОНЕЦ
3) Набрать программу, ввести данные и зафиксировать результат.
PROGRAM PRIMER1(INPUT,OUTPUT);
VAR A, B: INTEGER ;
BEGIN
WRITELN (‘Введите значения А и В’) ;
READLN (A, B);
C:=A+B ;
WRITELN (‘C = ’, C) ;
END.
4) Изменить тип данных с INTEGER на REAL, ввести данные и зафиксировать результат.
5) Установить вывод результата с форматом, ввести целые и отрицательные числа, а так же числа с десятичной частью больше указанной и меньше указанной
величины и зафиксировать результат.
6) Изменить WRITELN (‘Введите значения А и В’); и READLN (A, B);
на WRITE (‘А=’); и READLN (A); Скопировать и сделать для В. Ввести данные, зафиксировать результат. В отчете отразить использование LN - LINE.
7) Сделать вывод о работе.
ЛАБОРАТОРНАЯ РАБОТА № 2
Программирование алгоритмов условных (разветвляющихся) процессов в
Turbo Pascal
Цель: Изучить возможности языка программирования Turbo Pascal для реализации вычислительного процесса условной (разветвляющейся) структуры.
Задачи:
1) Составить алгоритм и блок-схему по заданию.
2) Составить программу решения.
3) Подготовить тесты (число тестов равно числу ветвей вычислительного процесса) для проверки правильности функционирования программы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, Оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
10
Краткое изложение основных теоретических и методических аспектов:
1. Оператор условного перехода реализует разветвляющейся алгоритм и имеет вид:
IF УСЛОВИЕ THEN ОПЕРАТОР1 ELSE ОПЕРАТОР2;.
ДА
УСЛОВИЕ
НЕТ
ДЕЙСТВИЕ 2
ДЕЙСТВИЕ 1
где IF - если, THEN - тогда, ELSE - иначе; ОПЕРАТОР1, 2 - любой оператор.
При выполнении условия работает ОПЕРАТОР1 и управление передается
далее. При невыполнении условия работает ОПЕРАТОР2, после управление передается на следующий за IF оператор. В качестве ОПЕРАТОРА1, 2 может быть
составной оператор. Перед ELSE точку с запятой ставить нельзя!
Допускается краткая (неполная) форма условного оператора:
ДА
НЕТ
УСЛОВИЕ
ДЕЙСТВИЕ 1
IF УСЛОВИЕ THEN ОПЕРАТОР1;
2. Оператор безусловного перехода
Иногда использование условных операторов усложняет программу. Обычно
это связывается с обработкой исключительных ситуаций. Для этого существует
оператор безусловного перехода GOTO. С его помощью естественный порядок
выполнения программы прерывается и указывается, что дальнейшее должен выполняться оператор, помеченный меткой. Метка до использования указывается в
разделе описания меток LABEL. Метка – это целое, без знака число от 0 до 9999.
При помощи метки нельзя войти во внутрь цикла, минуя его заголовок и передавать управление из одной ветви условного оператора в другую.
3. Оператор выбора.
При написание программы не рекомендуется использовать многократно
вложенные друг в друга условные операторы (максимум два – три). Но если
необходимо применить много условий используется оператор выбора CASE:
CASE ИНДЕКС ВЫБОРА OF
КОНСТАНТА_ВЫБОРА1: ОПЕРАТОР1;
……………………………………………..;
КОНСТАНТА_ВЫБОРАN: ОПЕРАТОРN;
Оператор выбора состоит из выражения – индекса выбора и списка операторов,
каждый из которого помечен константой выбора или несколькими. Все константы
должны быть различными, их тип – идентичен типу выражения (индекса выбора) простой тип за исключением REAL. В операторе выбора можно использовать диапазоны для констант выбора. При выполнении оператора сначала вычисляется
значение индекса выбора, а затем выбирается для выполнения тот оператор из
списка, который содержит данное значение константы выбора. Если подходящей
11
константы выбора нет, то возникает ошибка и выполнение всей программы завершается. В каждом элементе выбора можно использовать только один оператор
или использовать составной оператор. Все константы выбора внутри одного
CASE обязательно должны быть различными. В различных операторах выбора
разрешается использовать одинаковые константы выбора.
Самостоятельно изучить вопросы:
1. Использование оператора безусловного перехода.
2. Ограничения на использование оператора безусловного перехода.
3. Использование оператор выбора.
Контрольные вопросы:
1. Приведите реальные ситуации, решение которых можно реализовать при помощи алгоритмов разветвляющихся процессов.
2. Какие конструкции аналогичны проверке условия и осуществляют переход?
3. Опишите оператор условия и приведите примеры его использования.
4. Приведите примеры использования оператор выбора.
5. Приведите примеры использования оператора безусловного перехода.
6. Как группируются составные операторы?
Задания:
Вариант
Функция
Условия
Данные
1.
X < 1,3
A = 1,5
X 2  7 / X 2

2
Х = 1,3
B   AX  7 / X
 LN X  7 X 
X > 1,3
2.
3.
4.
5.
6.

 AX 2  BX  C

D  A/ X  X 2 1
 A  BX  / X 2  1

X < 1,2
X = 1,2
X > 1,2
A = 2,8
B = -0,3
C=4
 A  sin  X 

G  cos AX   LN  X 
 LN ( X  7  X  A 

 LN  X   X 2 / X

M    X  1  1 / X
cos( X )  T sin 2 ( X )

X < 1,4
X = 1,4
X > 1,4
A = 1,65
X < 0,5
X = 0,5
X > 0,5
T = 2,2
 ( AT 2  B sin( T )  1)

S   AT  B
 ( AT 2  B cos(T )  1)

0,5 sin( X )  2 cos( X )

T  ZX  cos( Z )
sin( X )  2Z

T < 0,1
T = 0,1
T > 0,1
A = 2,5
B = 0,4
X > 1,2
X = 1,2
X < 1,2
Z = 1,7
A = 4,3






12
Вариант
7.
Функция
 2 sin( X  Z / 3)

Q  E Z cos( X )  Z
 3 cos( X  Z / 3)

8.
cos( BX )

V   X  2 sin( BX )
B 2  X

9.
 ( LN ( Z  X ) )

W   sin( Z ) /( X 2  1)
 X  2 sin( Z )

sin( X )  cos( Z )

Y   cos( X )  Z
sin( Z )  cos( X )

10.
Условия
Z < 1,5
Z = 1,5
Z > 1,5
Данные
X = /3
B > 3,7
B = 3,7
B < 3,7
X = 0,5
Z>1
Z=1
Z<1
X = 0,1
X>/7
X=/7
X</7
Z=
Порядок выполнения:
1) Открыть Turbo Pascal.
2) Составить алгоритм и блок-схему задания.
3) Набрать программу.
4) Составить числовую ось изменения аргумента и в соответствии с ней ввести
данные и зафиксировать результат, т. е. протестировать программу.
5) Сделать вывод.
ЛАБОРАТОРНАЯ РАБОТА № 3
Программирование алгоритмов циклических процессов в Turbo Pascal
Цель: Изучить возможности языка программирования Turbo Pascal для реализации вычислительных процессов циклической структуры с известным и неизвестным количеством повторений.
Задачи:
1) Разработать алгоритм решения в соответствии с заданием.
2) Составить блок-схему и программу решения.
3) Организовать вывод значений аргумента и функции в два столбца.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
1. Операторы циклов.
Для всех операторов цикла характерно:
1) Повторяющиеся вычисления записываются один раз.
2) Вход в цикл возможен только через его начало.
3) Переменные цикла должны быть определены до входа в цикл.
4) Необходимо предусмотреть выход из цикла.
13
1.1.Оператор цикла со счетчиком служит для организации цикла с известным числом повторений и имеет вид:
FOR I : = N ТО К DO ОПЕРАТОР ;
где FOR - для, TO - до, DO – выполнить, I - параметр цикла, N – его начальное
значение и К – конечное значение, ОПЕРАТОР, выполняющийся в цикле.
I=N,K
ДЕЙСТВИЕ
Оператором цикла может быть составной оператор. После DO нельзя ставить
точку с запятой, т. к. в цикле будет выполняться пустой оператор. I, N, К - целого
типа. Начальным и конечным значением могут быть константы или выражения.
N<К и шаг изменения параметра 1. Вычисляются выражения N и К или берутся
введенные значения. Параметр цикла I принимает начальное значение N и сравнивается с конечным значением К. Если параметр цикла не превышает К, управление передается в тело цикла и выполняются операторы. Затем параметр цикла
увеличивается на 1 и работа повторяется, выход из цикла происходит когда параметр цикла превысит К.
Если N>К, шаг изменения параметра равен -1, тогда оператор имеет вид:
FOR I : = N DOWNТО К DO ОПЕРАТОР;
В цикле FOR …DOWNTO если параметр цикла не меньше К, управление передается в тело цикла и выполняются операторы. Затем параметр цикла уменьшается на 1 и работа повторяется, выход из цикла происходит когда параметр цикла
станет меньше К. После завершения цикла значение параметра не определено.
Если в цикле FOR ТО начальное значение больше конечного, а в цикле FOR
… DOWNTO - меньше, то цикл не выполняется ни разу.
1.2. Оператор цикла с предусловием используется, когда неизвестно количество повторений. Общий вид записи оператора цикла с предусловием:
НЕТ
УСЛОВИЕ
ДА
ДЕЙСТВИЯ
WHILE УСЛОВИЕ DO ОПЕРАТОР ;
где WHILE - пока, DO - выполнить, УСЛОВИЕ - условие работы цикла.
В качестве оператора может применяться составной оператор.
При выполнении условия управление переходит в тело цикла и работают
14
операторы, после чего проверяется условие и все повторяется. Как только условие не выполняется, происходит выход из цикла. Оператор тела цикла может ни
разу не обрабатываться, если условие сразу не выполнимо. Значение переменных
в условии должны изменяться в теле цикла, иначе цикл будет бесконечным.
1.3. Оператор цикла с постусловием.
Общий вид записи оператора цикла с постусловием:
ДЕЙСТВИЯ
НЕТ
УСЛОВИЕ
ДА
RЕРЕAТ ОПЕРАТОР UNTIL УСЛОВИЕ ;
где RЕРЕAТ - повторить, UNTIL - до тех пор, УСЛОВИЕ - условие прекращения
работы цикла.
Сначала выполняются операторы цикла, затем проверяется условие выхода.
Если оно не выполняется, то управление передается в цикл. Если условие истинно, происходит выход из цикла. Особенность цикла - операторы тела цикла выполняются хотя бы раз. Значения переменных, входящих в условие, должны изменяться внутри цикла, иначе цикл никогда не завершится. Если в цикле необходимо выполнить несколько операторов, то служебные слова цикла сами являются
как бы операторными скобками и применение BEGIN и END не обязательно.
Одну и ту же задачу можно решить при помощи любого из циклов WHILE
или REPEAT. При этом условия должны быть прямо противоположными.
Самостоятельно изучить вопросы:
1. Являются итерационные циклы и циклы с параметрами взаимозаменяемыми?
2. Рекурсивный алгоритм. Применение рекурсии.
3. Назовите три основных типа структур данных.
Контрольные вопросы:
1. Привести реальные ситуации, решение которых можно реализовать при помощи алгоритмов циклических процессов.
2. Какие существуют и для чего применяются операторы циклов?
3. Почему будет ошибкой ставить ; в середине операторов?
4. Привести примеры задач или реальные ситуации, для которых можно использовать цикл со счетчиком, шаг изменения параметра которого равен -1.
5. Какой цикл может не обрабатываться ни разу, если условие сразу не выполнимо, а какой выполнится хотя бы один раз?
Задания:
Вариант
Функция
Условия Данные Изменения аргумента
1.
X < 1,3
A = 1,5 X[0,8;2]
X 2  7 / X 2

2
Х = 1,3
X=0,1
B   AX  7 / X
 LN X  7 X 
X > 1,3

15
Вариант
2.
3.
4.
5.
6.
Функция
 AX 2  BX  C

D  A/ X  X 2 1
 A  BX  / X 2  1

 A  sin  X 

G  cos AX   LN  X 
 LN ( X  7  X  A 

 LN  X   X 2 / X

M    X  1  1 / X
cos( X )  T sin 2 ( X )

 ( AT 2  B sin( T )  1)

S   AT  B
 ( AT 2  B cos(T )  1)

0,5 sin( X )  2 cos( X )

T  ZX  cos( Z )
sin( X )  2Z







Условия Данные Изменения аргумента
X < 1,2
A = 2,8 X[1;2]
X = 1,2
B =-0,3 X=0,1
X > 1,2
C=4
X < 1,4
X = 1,4
X > 1,4
A=1,65
X[0,7;2]
X=0,1
X < 0,5
X = 0,5
X > 0,5
T = 2,2
X[0,2;2]
X=0,2
T < 0,1
T = 0,1
T > 0,1
A = 2,5
B = 0,4
T[-5;5]
∆T=0,5
X > 1,2
X = 1,2
X < 1,2
Z = 1,7
A = 4,3
X[0;1.6]
∆X=0,3
7.
 2 sin( X  Z / 3)

Q  E Z cos( X )  Z
 3 cos( X  Z / 3)

Z < 1,5
Z = 1,5
Z > 1,5
X = /3 Z[1;10]
∆Z=1
8.
cos( BX )

V   X  2 sin( BX )
B 2  X

B > 3,7
B = 3,7
B < 3,7
X = 0,5
B[1;5]
∆B=0,7
9.
 ( LN ( Z  X ) )

W   sin( Z ) /( X 2  1)
 X  2 sin( Z )

sin( X )  cos( Z )

Y   cos( X )  Z
sin( Z )  cos( X )

Z>1
Z=1
Z<1
X = 0,1
Z[1,7;3,1]
∆Z=0,6
X>/7
X=/7
X</7
Z=
X[4,5;5]
∆X=0,2
10.
Порядок выполнения:
1) Открыть Turbo Pascal.
2) Составить алгоритм и блок-схему цикла со счетчиком, в котором запрос диапазона и шага изменения аргумента предусмотреть с клавиатуры.
3) Набрать программу, ввести данные и зафиксировать результат.
4) Составить алгоритм и блок-схему реализации цикла с предусловием.
5) Набрать программу, ввести данные и зафиксировать результат.
6) Составить алгоритм и блок-схему реализации цикла с постусловием.
7) Набрать программу, ввести данные и зафиксировать результат.
8) По полученным результатам работы трех программ сделать вывод.
16
ЛАБОРАТОРНАЯ РАБОТА № 4
Обработка структурированных типов данных в Turbo Pascal
Цель: Изучить способы описания и основные принципы обработки одномерных
массивов на языке программирования Turbo Pascal.
Задачи:
1) Разработать алгоритм решения в соответствии с заданием.
2) Составить блок-схему и программу решения.
3) Подготовить тест для проверки правильности функционирования программы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
1. Структурированные типы данных характеризуется:
1) множественностью образующих элементов, когда переменная или константа
имеет несколько компонентов;
2) все компоненты должны быть одного типа;
3) компоненты упорядочены, доступ к обеспечивается указанием его номера.
1.1. Массив – это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
Описание массива задается следующим образом:
VAR ИМЯ_МАССИВА: ARRAY [РАЗМЕРНОСТЬ] OF ТИП_ЭЛЕМЕНТОВ;
где ИМЯ_МАССИВА - идентификатор; ARRAY - массив; OF - из;
В качестве размерности массива можно использовать любые порядковые типы, обычно тип-диапазон, в котором задаются изменения индексов. Тип элементов - любой, он может быть и другим массивом. Глубина вложенности структурированных типов - произвольная. Число элементов массива должно задаваться
заранее. Если необходимо использование массивов переменной размерности, то
описываются массивы с максимально возможным числом элементов, а реально
используется только часть. Заполнение и вывод массива можно осуществить с
клавиатуры, с помощью генератора случайных чисел RANDOM или из файла.
Оператором присваивания передать все элементы одного массива другому
массиву того же типа. Hад массивами не определены операции отношения.
Способ выделения памяти для хранения элементов массива регулируется с
помощью зарезервированного слова PACKED (упакованный), что должно
уменьшить объем памяти, выделяемый под переменные этого типа.
TYPE ИМЯ_МАССИВА = PACKED ARRAY [РАЗМЕРНОСТЬ] OF ТИП;
I=N, K
A[I]
17
Для описания массива в программе используются циклы со счетчиком. Доступ к каждому элементу массива в программе осуществляется с помощью индекса - целого числа или выражения порядкового типа. Индекс не должен выходить за пределы, описанные типом-диапозоном.
Самостоятельно изучить вопросы:
1. Рассмотреть возможности пользовательских типов данных.
2. Изучить классические алгоритмы обработки массивов: ввод и вывод, вычисление суммы, произведения и среднего арифметического, нахождение количества
элементов, удовлетворяющих условию.
3. Ознакомиться с особенностями алгоритма поиска максимального или минимального значения и их порядкового номера.
4. Рассмотреть алгоритм вставки и удаления элементов из массива.
Контрольные вопросы:
1. Описать классификацию типов данных, принятую для Turbo Pascal?
2. Что включает в себя понятие «пользовательские типы»? Почему, по вашему
мнению, они так называются?
3. Привестие примеры перечисляемого и структурированного типов данных.
Задания:
Вариант
Действия
Условия
1.
Вычислить сумму и количество элементов массива A,
A(10)
находящихся в диапазоне. Определить максимальный 0  Ai  1
элемент массива A и его порядковый номер.
2.
Подсчитать количество нулевых элементов массива B.
B(10)
Определить минимальный элемент массива B и его поBi = 0
рядковый номер.
3.
Вычислить среднее арифметическое положительных
C(10)
элементов массива C. Определить максимальный элеCi  0
мент массива C и его порядковый номер.
4.
Вычислить сумму и количество элементов массива D,
D(10)
находящихся в диапазоне. Определить максимальный -1  Di  1
элемент массива D и его порядковый номер.
5.
Заменить элементы массива F, имеющих четные порядF(10)
ковые номера на А. После определить минимальный I MOD2 = 0
элемент массива F и его порядковый номер.
А=100
6.
Определить порядковый номер элементов массива G
G(10)
равных заданному числу X. Определить минимальный
G i =X
элемент массива G и его порядковый номер.
7.
Заменить элементы массива K не больше 15 их кубами.
K(10)
После этого определить минимальный элемент массива Ki  15
K и его порядковый номер.
8.
Заменить отрицательные элементы массива L на их
L(10)
квадраты. После этого определить максимальный элеLi  0
мент массива L и его порядковый номер.
18
Вариант
Действия
Условия
9.
Увеличить на 2 все элементы массива M, которые
M(10)
больше 10. После этого определить минимальный эле- Mi  10
мент массива M и его порядковый номер.
10.
Найти минимальный и максимальны элемент массива Yi = МАX
Y(10) и поменять их местами.
Yi = MIN
Порядок выполнения:
1) Открыть Turbo Pascal.
2) Составить алгоритм и, по нему, блок-схему.
3) Запрос количества элементов в массиве осуществлять с клавиатуры.
4) Заполнение массива производить так, чтобы можно было знать, какой элемент
вводится.
5) Вывод массива производить в виде ряда значений в строку или столбец.
6) Набрать программу, ввести данные и зафиксировать результат.
7) Сделать вывод по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 5
Обработка массивов как фундаментальных структур данных в Turbo Pascal
Цель: Изучить способы описания и основные принципы обработки многомерных
массивов на языке программирования Turbo Pascal.
Задачи:
1) Разработать алгоритм решения в соответствии с заданием.
2) Составить блок-схему и программу решения.
3) Вывести на экран двухмерный массив в виде матрицы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
Массивы, положение элементов в которых описывается несколькими индексами, называется многомерными. Их описание задается следующим образом:
VAR ИМЯ_МАССИВА: ARRAY [РАЗМЕРНОСТЬ1, …, РАЗМЕРНОСТЬN] OF
ТИП_ ЭЛЕМЕНТОВ;
I=N,К
J=N,К
A [I,J]
Доступ к каждому элементу массива осуществляется с помощью индекса, ко-
19
торый не должен выходить за пределы, описанные типом-диапозоном. Turbo
Pascal контролирует использование индексов на этапах компиляции и счета программы. Двумерный массив часто называется матрицей. Матрица представляет
собой таблицу, состоящую из нескольких столбцов и строк. Над матрицами можно выполнять различные операции: сложение, умножение, вычитание, транспонирование и другие. Положение элемента в двумерном массиве описывается двумя индексами, например I–номер строки и J–номер столбца. Ввод, вывод и обработка многомерного массива осуществляется вложенными циклами.
Самостоятельно изучить вопросы:
1. Привести примеры двух и более мерных массивов в реальной жизни.
2. Рассмотреть особенности многомерных массивов во вложенных циклах.
Контрольные вопросы:
1. Как изменились алгоритмы обработки массивов для многомерных?
2. Можно ли строки и столбцы простой таблицы рассматривать как двумерный
массив при составлении программы на языке программирования Turbo Pascal?
3. Что объединяет типы массив, множество, запись, файловый и объектный тип
на языке программирования Turbo Pascal?
Задания:
Вариант
Действия
Условия
1.
Вычислить сумму и количество положительных элеменA(3,5).
тов каждого столбца двухмерного массива A. Результаты
Aij  0
отпечатать в строку.
2.
Вычислить сумму и количество отрицательных элеменB(5,3)
тов каждой строки двухмерного массива B. Результаты
Bij < 0
отпечатать в столбец.
3.
Вычислить сумму и количество элементов квадратной
C(3,3)
матрицы C, находящихся над главной диагональю, под и I+J=CONST
на ней.
4.
Транспонировать квадратную матрицу D. Вывести на
D(3,3)
печать элементы главной диагонали матрицы D в строку. I+J=CONST
5.
Транспонировать квадратную матрицу E. Вывести на
E(3,3)
печать элементы побочной диагонали матрицы E в стол- I+J=CONST
бец.
6.
Найти в каждой строке квадратной матрицы F наибольF(3,3)
ший элемент и поменять его местами с элементом глав- Fij = MAX
ной диагонали.
7.
Найти сумму элементов массива G, имеющих заданную
G (5,3)
разность индексов X (целое, модуль).
I-J=X
8.
Подсчитать количество и сумму положительных и отриG(5,3)
цательных элементов массива G.
Gij  0, Gij < 0
9.
Найти в каждой строке массива V максимальный и миV(2,6)
нимальный элемент. Поместить их соответственно на ме- Vij = MAX
сто первого и последнего элемента этой строки массива.
Vij = MIN
20
Вариант
Действия
Условия
10.
Просуммировать элементы массива K, сумма индексов
K(3,5)
которых равна заданной константе X. (целое).
I+J=X
Порядок выполнения:
1) Открыть Turbo Pascal.
2) Составить алгоритм и, по нему, блок-схему.
3) Запрос размерности массива осуществлять с клавиатуры.
4) Заполнение массива производить так, чтобы можно было знать, какой элемент
вводится.
5) Вывод массива производить в виде матрицы, т. е. по строкам и столбцам.
6) Набрать программу, ввести данные и зафиксировать результат.
7) Сделать выводы по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 6
Обработка символьных данных в Turbo Pascal
Цель: Овладение навыками алгоритмизации и программирования задач, обрабатывающих символьные данные языка программирования Turbo Pascal.
Задачи:
1) Составить алгоритм и блок-схему по заданию.
2) Составить программу решения.
3) Подготовить тест для проверки правильности функционирования программы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
1. Строки.
Тип STRING (строка) используется для обработки текстов. Количество символов N определяется STRING[N] и является порядковым типом не больше 255.
Для максимальной длины строки N не указывается. Если длина строки превысит
N, то «лишние» символы отбрасываются. Строка трактуется как цепочка символов и к любому из них можно обратиться как к элементу одномерного массива.
Строка, обозначается апострофами, считается пустой – не содержащей символов. Строки можно сравнивать между собой. Все остальные действия над строками и символами реализуются с помощью встроенных процедур и функций:
CONCAT (СТРОКА1…СТРОКАN) – выполняет слияние строк и обрезает длинный результат до 255 символов. Тип параметров и результата - строковый.
COPY (СТРОКА, ПОЗИЦИЯ, ДЛИНА_ПОДСТРОКИ) - копирует подстроку из
строки. Задается длинна подстроки и номер позиции, с которой начинается подстрока параметрами типа INTEGER. Результат имеет строковый тип.
DELETE (СТРОКА, ПОЗИЦИЯ, ДЛИНА_ПОДСТРОКИ) – удаляет из СТРОКИ
ПОДСТРОКУ. Задается длинна подстроки и номер ПОЗИЦИИ, с которой начинается подстрока параметрами типа INTEGER.
INSERT (СТРОКА1, СТРОКА2 , ПОЗИЦИЯ) - вставляет СТРОКУ1 в СТРОКУ2.
21
Позиция, с которой производится вставка, задается параметром типа INTEGER.
LENGTH (СТРОКА) - длина строки. Результат типа INTEGER.
POS (ПОДСТРОКА, СТРОКА) - производит поиск ПОДСТРОКИ в СТРОКЕ. Результат - номер первого символа СТРОКИ, с которого начинается ПОДСТРОКА.
STR (ВЫРАЖЕНИЕ, СТРОКА) – преобразует ВЫРАЖЕНИЕ в СТРОКУ.
VAL (СТРОКА, ЧИСЛО, CODE) – преобразует строку, представляющую число в
ЧИСЛО типа INTEGER или REAL.
Самостоятельно изучить вопросы:
1. Рассмотреть особенности символьных типов данных.
2. Указать области применения символьных данных.
Контрольные вопросы:
1. Что общего между символьными типами данных и массивами?
2. Назвать специальные команды для обработки символьных данных.
Задания: Дана некоторая последовательность…
Вариант
Условие
1.
…символов в виде стоки. Подсчитать, сколько раз в данной строке
встречается буква Х, вводимая с клавиатуры.
2.
…символов в виде стоки. Заменить в данной строке все буквы Х на
У и подсчитать количество произведенных действий.
3.
…символов в виде стоки. После каждой буквы Х в этой строке вставить У и подсчитать количество произведенных действий.
4.
…символов в виде стоки. Удвоить каждое вхождение буквы Х в
данной строке и подсчитать количество произведенных действий.
5.
…символов в виде стоки. Стереть букву Х из этой строке и подсчитать количество произведенных действий.
6.
…слов. Вывести на печать слова, отличные от указанного слова Х.
7.
…в виде математического выражения. Проверить, имеется ли в нем
баланс открывающихся и закрывающихся скобок.
8.
…в виде математического выражения. Подсчитать, сколько раз в
нем встречается переменная Х.
9.
…в виде математического выражения. Подсчитать количество символов в нем.
10.
…в виде математического выражения. Заменить в нем все знаки Х
на знаки У и подсчитать количество произведенных действий.
Порядок выполнения:
1) Открыть Turbo Pascal.
2) Составить алгоритм и, по нему, блок-схему.
3) Ввод строки и необходимых переменных осуществлять с клавиатуры.
4) Набрать программу, ввести данные и зафиксировать результат.
5) По результатам сделать вывод об особенностях строковой информации.
22
ЛАБОРАТОРНАЯ РАБОТА № 7
Программирование с использованием процедур и функций с элементами
структуризации программ в Turbo Pascal
Цель: Овладение навыками алгоритмизации и программирования задач с использованием подпрограмм пользователя различных видов и библиотеки подпрограмм языка программирования Turbo Pascal.
Задачи:
1) Разработать алгоритм решения в соответствии с заданием.
2) Составить блок-схему и программу решения.
3) Подготовить тест для проверки правильности функционирования программы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
1. Подпрограмма - это повторяющаяся группа операторов, оформленная в виде
самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах обеспечивается обращение к ней по имени. Имеется две
подпрограммы: процедуры и функции. Применение стандартных подпрограмм не
требует дополнительных описаний, они представлены в модуле SYSTEM. Все
прочие функции и процедуры должны быть описаны в разделе описания процедур PROCEDURE и функций FUNCTION или в отдельном модуле.
Для подпрограмм строятся отдельные блок-схемы. В основной программе
используется ссылка на подпрограмму:
ИМЯ ПОДПРОГРАММЫ
Структура подпрограмм как у обычных программ, различается назначением
и способом использования. Подпрограмма включает в себя заголовок, разделы
описаний, которые могут повторяться многократно, быть записаны в любом порядке, не использоваться или быть пустыми. Далее следует тело подпрограммы.
В тексте программы описание подпрограммы всегда следует за описанием
переменных и до начала основной части. После того, как подпрограмма описана,
её можно использовать в основной программе.
Все переменные делятся на локальные и глобальные. Глобальные - объявлены в описании основной программы. Локальные - переменные, которые объявлены в подпрограммах (процедурах и функциях). Они существуют только, когда
работает подпрограмма, появляющаяся при вызове и исчезают при завершении.
Описание действий в подпрограмме осуществляется с использованием формальных параметров. Обращение к подпрограмме осуществляется с фактическими параметрами, которые должны соответствовать формальным. Число и тип
формальных и фактических параметров должно совпадать с точностью до их следования. Фактические параметры - которые передаются подпрограмме при обращении к ней из основной программы. Формальные параметры - фиктивно при-
23
сутствуют в подпрограмме, определяют тип и место подстановки фактических
параметров, над которыми производятся действия. Формальные параметры относятся к двум видам: параметрам-значениям и параметрам-переменным. Отличаются параметры-значения от параметров-переменных тем, что в заголовке перед
параметром-переменной ставится служебное слово VAR.
Параметры-значения являются входными для подпрограммы, их первоначальные значения передаются в подпрограмму, но обратно в основную программу значения этих параметров не возвращаются, даже если были изменены.
Параметры-переменные могут быть одновременно и входными и выходными, т. е. значения передается в подпрограмму, изменяется в ней, и передается обратно в программу. Когда нужно, чтобы изменения в теле подпрограммы значений формальных параметров приводило к изменению фактических параметров,
таким образом они получают новое значение.
При передаче параметров по значению фактическими параметрами могут
быть константы и переменные соответствующего типа. Если передается параметр-переменная, на месте фактического параметра может находиться переменная. Фактическими параметрами являются константы, переменные и выражения.
Процедуры и функции могут вызывать другие подпрограммы и самих себя.
Для этого предусмотрено предварительное описание подпрограммы, состоящее
из заголовка и зарезервированного слова FORWARD.
1.1. Процедуры предназначены для выполнения некоторой последовательности действий. Результат — одно или несколько значений, которые передаются в
основную программу как значение параметра. При вызове процедуры её формальные параметры заменяются фактическими в порядке их следования.
PROCEDURE F ( Q1 : T1 ; Q2 : T2 ; VAR Q3 : T3 ) ;
РАЗДЕЛ ОПИСАНИЙ ;
BEGIN
ОПЕРАТОРЫ ПРОЦЕДУРЫ ;
END;
где F - имя процедуры; Q1, Q2, Q3 - имена формальных параметров; T1, T2, T3 типы параметров.
Обращение к процедуре в основной программе осуществляется так:
F ( B1 , B2 , В3 ) ;
где F - имя процедуры; В1, В2, В3 - имена фактических параметров.
1.2. Функции используются так:
FUNCTION F ( Q1 : Т1 ; Q2 : T2 ) : T ;
РАЗДЕЛ ОПИСАНИЙ ;
BEGIN
ОПЕРАТОРЫ ФУНКЦИИ ;
END;
где F - имя функции; QL, Q2 - имена формальных параметров; Т1, Т2 — типы параметров; Т - тип результата функции.
Обращение записывается в виде имени функции, за которым следует в скобках список параметров, если нужно отдельные друг от друга запятыми.
24
F ( BI , B2 ) ;
где F - имя функции; В1, В2 - имена фактических параметров.
Отличие функций от процедур заключается в следующем:
1) процедура может иметь новые значения у нескольких параметров, а функция
только одно, которое будет ее результатом.
2) в заголовке записывается тип результата функции.
3) в теле функции обязательно должен быть оператор присвоения, где в левой части стоит имя функции, а в правой - её значение.
Действия функции выполняются, когда в основной части программы необходимо найти ее значение. Её вызов осуществляется внутри некоторого выражения. Параметры записанные в обращении к функции являются фактическими, а
параметры в описании – формальными. Перед вычислением функции формальным параметрам присваиваются значения фактических параметров.
Самостоятельно изучить вопросы:
1. Рассмотреть предопределенные процедуры и функции Turbo Pascal.
2. Изучить создание пользовательских процедур и функций.
3. Ознакомьтесь со встроенными процедурами и функциями Turbo Pascal.
Контрольные вопросы:
1. Каковы преимущества использования подпрограмм? Для чего они нужны?
2. Как на блок-схемах изображаются подпрограммы?
3. Какова структура подпрограмм (процедур и функций) в Turbo Pascal?
4. Может ли опускаться какая-то часть подпрограммы? Почемы?
5. Может ли подпрограмма не передавать значений в основную программу?
6. Чем в языке Turbo Pascal функции отличаются от процедур?
7. Чем отличаются глобальные и локальные переменные, фактические и формальные параметры, параметры-значения и параметры-переменные.
8. Перечислить назначение основных стандартных функций.
Задания:
Вариант
Формула
Условия
N M
N M
1.
Двухмерные массивы A(I,J) и
Z  X 2 *   Aij  X *  Bij
B(I,J); X=2; N, M – переменные.
j 1 i 1
j 1 i 1
N M
N M
2.
Двухмерные массивы A(I,J) и
Z =  X 2 · Aij +  X 2 · Bij
B(I,J); X=2.5; N, M – переменные.
j 1 i i
j 1 i i
N M
N M
3.
Двухмерные массивы A(I,J) и
Z =  X 2 · Aij -  X 2 · Bij
B(I,J); X=3; N, M – переменные.
j 1 i i
j 1 i i
N M
N
M
4.
Двухмерные массивы A(I,J) и
Z = X 2 ∙  Aij +X∙  Bij
B(I,J); X=5; N, M – переменные.
j 1 i 1
j 1 i 1
N
M
N M
5.
Двухмерные массивы A(I,J) и
Z =  X2 · Aij +  X 2 · Bij
B(I,J); X=5.5; N, M – переменные.
j 1 i 1
j 1 i 1
N M
N
M
6.
Двухмерные массивы A(I,J) и
Z =  X2 · Aij -  X 2 · Bij
B(I,J); X=6; N, M – переменные.
j 1 i 1
j 1 i 1
25
Вариант
7.
Формула
N
N
Z=
M
 Aij +
M
 Bij
j 1 i 1
X
j 1 i 1
N
8.

Z=
9.
M
j 1 i 1
N
M
Aij   Bij
j 1 i 1
N
M
M
Z = X 2 ∙  Aij +X∙  Bij
N
Z=
Двухмерные массивы A(I,J) и
B(I,J); X=7.5; N, M – переменные.
X
N
j 1 i 1
10.
Условия
Двухмерные массивы A(I,J) и
B(I,J); X=7; N, M – переменные.
j 1 i 1
N
M
M
 X · Aij +  X · Bij
2
j 1 i 1
2
j 1 i 1
Двухмерные массивы A(I,J) и
B(I,J); X=8; N, M – переменные.
Двухмерные массивы A(I,J) и
B(I,J); X=8.5; N, M – переменные.
Порядок выполнения:
1) Открыть Turbo Pascal.
2) Составить алгоритм и блок-схему. Значение X запрашивать у пользователя.
Ввод, вывод и обработку массивов осуществлять в отдельных подпрограммах.
Обратить внимание на выбор параметров подпрограмм.
3) В основной программе ссылаться на подпрограммы по их именам (в соответствии с заданием по два раза каждую, т. к. производится обработка двух массивов).
4) Запрос размерности массива желательно осуществлять с клавиатуры (реальная
размерность массивов является фактическим параметром).
5) Заполнение двумерных массивов производить так, чтобы можно было знать,
какой элемент вводится.
6) Вывод двухмерных массивов производить в виде матрицы.
7) Нахождение суммы или произведения массивов производить в основной программе после подпрограмм ввода и обработки двумерных массивов.
8) Набрать программу, ввести данные и зафиксировать результат.
9) В выводе обосновать выбор определенного вида подпрограмм: процедур или
функций для разных действий, выполняемых программой.
ЛАБОРАТОРНАЯ РАБОТА № 8
Обработка файловых структур данных в Turbo Pascal
Цель: Ознакомиться со спецификой работы с функциональным типом данных на
примере текстовых файлов языка программирования Turbo Pascal.
Задачи:
1) Составить алгоритм и блок-схему по заданию.
2) Составить программу решения.
3) Написать программу, осуществляющую ввод данных в файл и просмотр полученных результатов средствами языка программирования Turbo Pascal.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, Оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
26
Краткое изложение основных теоретических и методических аспектов:
1. Структурированный тип данных.
Множество значений, переменных с общим именем называется структурированным или составным типом. Файловый тип данных, вместе с регулярным, комбинированным и множественным, основываясь на способе организации и типе
компонент, принято относить к структурированным типам данных.
2. Файловый тип данных.
Есть возможность записывать исходные данные и результаты работы в виде
файлов, которые хранятся на диске как программа. Файлы представляют собой
упорядоченную совокупность произвольного числа компонентов одного типа с
последовательным методом доступа. Они хранят больше информации, чем основная память, т. к. позволяют использовать внешние носители. Файлы могут использоваться несколькими программами и сохраняться после завершения работы.
Компоненты файла должны быть элементами одного типа и имеют общее
имя. Определенная компонента становится доступной пользователю после того,
как будут последовательно пройдены все предшествующие ей значения.
Количество элементов в файле может быть любым и заранее не фиксируется.
После каждого элемента автоматически ставится признак конца элемента, а в
конце - конца файла. С каждым файлом можно связать текущий указатель, неявно
описанную переменную, указывающую на конкретный элемент. Действия с файлами производятся поэлементно - в них участвует элемент, на котором находится
текущий указатель, перемещающийся в результате выполнения действий на следующий элемент. Положение первого элемента - 0.
Каждый внешний файл должен описываться как переменная в главной программе. Файлы, не используемые для ввода и вывода данных, являются внутренними, локальными переменными. Переменные файлового типа могут быть описаны в программе либо явно в разделе переменных:
VAR ИМЯ_ФАЙЛА: FILE OF БАЗОВЫЙ_ТИП_ЭЛЕМЕНТОВ;
2.1. Операции над файлами.
ASSIGN (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, ’ИМЯ_ФАЙЛА’) – присваивание имени
файла, для установления связи между ПЕРЕМЕННОЙ и ИМЕНЕМ ФАЙЛА, присваиваемого операционной системой. Все операции с ПЕРЕМЕННОЙ будут выполняться с файлом на диске. Нельзя употреблять для используемого файла.
REWRITE (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – открытие файла для записи. Запись в
файл – это вывод результатов программы из оперативной памяти на диск. На
внешнем устройстве создается новый файл с именем, присвоенным ПЕРЕМЕННОЙ, он подготавливается к обработке, указатель устанавливается на начало –.
Файл сначала пустой. Существующий файл с таким же именем стирается.
RESET (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – установка файла в исходное состояние,
данные становятся доступными. Файл с именем, присвоенным ПЕРЕМЕННОЙ,
подготавливается к обработке и указатель устанавливается на начало.
APPEND (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – открытие внешнего файла. Файл, обозначенный ПЕРЕМЕННОЙ, открывается, и указатель перемещается на конец
файла для добавления новых компонентов.
27
READ (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, ЭЛЕМЕНТ) – чтение из файла. Под чтением понимается ввод данных из внешнего файла в оперативную память.
WRITE (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, ЭЛЕМЕНТ) – запись в файл. ЭЛЕМЕНТ
должен быть типа элементов файла.
SEEK (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, N) – установка указателя на N-ый элемент,
обозначенного ПЕРЕМЕННОЙ. N - целочисленное выражение.
SEEK (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, FILESIZE (ИМЯ_ФАЙЛ_ ПЕРЕМЕННОЙ)) –
перемещает указатель в конец файла чтобы расширить файл. Содержит количество компонентов в файле.
FLUSH (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – осуществляет очистку внутреннего буфера ПЕРЕМЕННОЙ, и гарантирует, что он будет записан на диск, если во время
последнего обновления диска выполнялись какие-либо операции записи. Обеспечивает, что следующая операция чтения будет брать данные из дискового файла.
CLOSE (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – закрытие дискового файла, обозначенного ПЕРЕМЕННОЙ. При этом справочник диска обновляется.
ERASE (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – удаление файла на внешнем носителе.
Если файл открыт и над ним производились действия командами RESET и REWRITE, перед стиранием файла его необходимо закрыть.
RENAME (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, ’НОВОЕ_ИМЯ_ФАЙЛА’) – переименование внешнего файла. Справочник диска обновляется, в него заносится НОВОЕ ИМЯ ФАЙЛА. Новое имя файла не должно совпадать с существующем.
2.2. Обработка файлов.
EOF (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – определение конца файла. Число элементов файла не задается заранее, но вводится признак конца файла: логическая
функция, результат которой TRUE (истина) или FALSE (ложь).
FILEPOS (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – определение номера элемента, на который «смотрит» указатель. Целочисленная функция - номер компонента.
PUT (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – добавляет новый компонент, осуществляет
запись значения ПЕРЕМЕННОЙ в файл..
GET (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – выбор следующего компонента файла, передвижения указателя на один компонент. ПЕРЕМЕННАЯ получает значение
компонента, если файл не пуст.
3. Текстовые файлы содержат символы, разделенные на строки. В конце каждой
строки стоит признак ее конца. Для описания используется слово TEXT:
VAR ИМЯ_ФАЙЛА : TEXT ;
Текстовые файлы не являются типизированными. Их отличие от типизированных файлов заключается в следующем:
1. Элементами текстовых файлов являются символы со строковой структурой.
2. При чтении и записи числа преобразуются автоматически.
3.1. Операции над текстовыми файлами.
Для текстовых файлов применимы те же процедуры и функции, что и для
обычных файлов: ASSIGN, RESET и REWRITE. Но SEEK, FLUSH, FILEPOS и
FILESIZE к текстовым файлам применять нельзя.
28
APPEND (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – открытие внешнего файла, с которым
связана ФАЙЛОВАЯ ПЕРЕМЕННАЯ и помещение указателя в конец.
EOLN (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – определение конца строки. Результат
выполнения равен – TRUE (истина), если указатель стоит на символе конца.
SEEKEOLN (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – определение конца строки. Указатель перескакивает пробелы и табуляцию, перед выполнением на конец строки.
SEEKEOF (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ) – определение конца файла. Применительно к текстовому файлу результат операции равен – TRUE (истина), если указатель файла располагается на метке конца файла.
3.2. Специфика ввода и вывода текстового файла. Ввод и вывод текстовых
файлов выполняется при помощи операций READ, READLN, WRITE и
WRITELN, задающихся с параметрами. Если параметром процедуры вводавывода является идентификатор переменной текстового файла, то выполнение
будет производиться с использованием файла, иначе - будут использоваться стандартные файлы INPUT и OUTPUT, их не нужно описывать.
READ (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, ПЕРЕМЕННАЯ1, …, ПЕРЕМЕННАЯN) –
ввод из текстового файла и подготавливается только для чтения. После выполнения команды READLN считывается информацию с начала следующей строки.
WRITE (ИМЯ_ФАЙЛ_ПЕРЕМЕННОЙ, ПЕРЕМЕННАЯ1,…, ПЕРЕМЕННАЯN) –
вывод из текстового файла который предварительно был назван ФАЙЛОВОЙ
ПЕРЕМЕННОЙ. Аналогично выполняется команда WRITELN.
Самостоятельно изучить вопросы:
1. Общий алгоритм создания и обработки файла для Turbo Pascal.
2. Привести примеры использования файлов последовательного доступа.
Контрольные вопросы:
1. Как распознать конец файла данных средствами Turbo Pascal?
2. Как распознать текстовый файл на диске?
Задания: Составить тест по любой теме, посвященной программированию на
Turbo Pascal.
Порядок выполнения:
1) Придумать десять вопросов, на каждый из которых предусмотрено три-четыре
варианта ответов, один или два из которых правильные.
2) Изучить существующие алгоритмы принятия решений и реализацию обработки статистических данных.
3) Открыть Turbo Pascal.
4) Составить алгоритм и, по нему, блок-схему.
5) Набрать разработанную программу.
6) Подготовить тестовый вариант программы и исходных данных.
7) Сделать вывод по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 9
Разработка диалоговых программ в Turbo Pascal
Цель: Освоить проектирование диалоговых программ на языке программирования Turbo Pascal.
29
Задачи:
1) Составить алгоритм и блок-схему по заданию.
2) Составить программу решения.
3) Написать программу, осуществляющую ввод данных в файл и просмотр полученных результатов средствами языка программирования Turbo Pascal.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, оболочка операционной системы FAR Manager, системе программирования Turbo Pascal 7.0.
Литература: 1, 2, 13, 23, 25, 26, 28, 33, 34, 35.
Краткое изложение основных теоретических и методических аспектов:
Диалоговый или интерактивный режим – это активный обмен сообщениями
между участниками информационного процесса, когда прием, обработка и выдача сообщений производятся в реальном масштабе времени. Может быть парным
и множественным. При парном диалоге субъектами могут выступать люди и технические средства. В основе машинной диалоговой технологии лежит взаимодействие человека и машины посредством передачи и приема сообщений через технические устройства. При разработке технологии обработки данных в диалоговом режиме одним из важнейших вопросов является организация непосредственного диалога пользователя и машины. Для пользователей диалоговая системы
должна быть прозрачной и требовать выполнения обычных действий. Пользователь должен получать разъяснения или подсказки по содержанию требуемых действий. В процессе разработки диалоговой системы рекомендуется учитывать:
1. определяющие принципы проектирования систем;
2. требования к эксплуатационным характеристикам диалоговой системы.
Создание диалоговой системы может быть представлено по шагам:
1. анализ подлежащей решению задачи, выявление ее характерных признаков,
формулировка методов и средств решения, уточнение источников информации,
объемов информационных массивов, ресурсов и т. д;
2. отображение этих представлений в виде структуры интерактивного взаимодействия, составление укрупненной логической схемы;
3. формирование подробного сценария диалогового решения на основе человекомашинного диалога и его отображение в виде информационной базы;
4. обеспечение автоматизированного ведения гибкого диалога путем написания
программы на языке программирования.
Наиболее распространенными типами организации диалога являются меню,
шаблон (жесткий или свободный), команда и естественный язык. На практике,
как правило, используется сочетание нескольких типов.
Самостоятельно изучить вопросы:
1. Рассмотреть особенности диалогового режима работы.
2. Ознакомиться с типами организации диалога.
3. Изучить требования психологии и эргономике, учитываемые при разработке
диалоговых программ.
Контрольные вопросы:
1. Какие требования учитываются при разработке диалоговых систем?
30
2. Как организуется непосредственный диалог пользователя и машины?
3. С какими проблемами сталкиваются разработчики диалоговых систем?
4. Почему в процессе разработки диалоговых систем принимают участие кроме
программистов и специалисты по психологии и эргономике?
3. Привести примеры наиболее распространенных типов организации диалога.
4. Почему рекомендуется сочетать нескольких типов диалога? Примеры.
Задания: Добавить в предыдущую программу элементы диалога.
Порядок выполнения:
1) Открыть Turbo Pascal.
2) Вызвать программу, разработанную на предыдущей лабораторной работе.
3) Продумать способы анализа ответов пользователя,.
4) Предусмотреть запись, чтение, добавление в файл, корректировку записей и т.
п. операции над данными: регистрацией тестируемого и его результатов.
5) Составить алгоритм и блок-схему дополнений в основную программу.
6) Набрать недостающие элементы программы.
7) Предусмотреть сообщение результатов тестирования в виде оценки и выдачу
рекомендаций пользователю или экстренный выход из программы.
8) Подготовить тестовый вариант программы и исходных данных.
9) Сделать вывод по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 10
Программирование кнопок в Borland Delphi
Цель: Ознакомиться с объектами: форма, текстовое поле, рисунок, кнопка и их
основными свойствами, а также другими элементами в среде программирования
Borland Delphi.
Задачи:
1) Ознакомиться со средой программирования Borland Delphi.
2) Создать форму по заданию и выполнить остальные действия.
3) Убедиться в работоспособности разработанной программы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, операционная система Windows, среда программирования Borland
Delphi.
Литература: 3, 7, 12, 13, 24, 27, 29, 30, 37, 39.
Краткое изложение основных теоретических и методических аспектов:
Форму (FORM) используют для создания окна программы-приложения. Текстовое поле (LABEL) используют для создания текстов и надписей в окне программы. Кнопку (BUTTON) используют для размещения элемента управления
кнопки на форме. Картинка, изображение (IMAGE) используют для вставки графических объектов из файлов типа *.bmp, *.emf, *.ico, *.wmf в форму.
В результате загрузки системы Delphi на экране откроются четыре окна:
 главное — PROJECT1, где находятся панель инструментов, палитра компонентов и главное меню;
 инспектора объектов OBJECT INSPECTOR со значениями свойств объекта;
 формы FORM1, где приведены результаты работы будущей программы;
31
 текста программы (UNIT1.PAS).
Окно текста программы может перекрываться окном формы. Окно формы
обладает всеми свойствами стандартного окна Windows. Активизировать окна, а
также менять их размеры или расположение можно с помощью мыши или используя функциональные клавиши на клавиатуре:
F10 - для активизации главного меню (после этого нажмите на Esc);
F11 - для активизации окна инспектора объекта;
F12 - для перехода между окнами формы и кода программы.
Alt + пропуск - вызов системное меню.
Запустить программу можно выбрав команду RUN => RUN главного меню
или кнопку RUN панели инструментов, а также нажав F9.
Для сохранения программы выполняется команда FILE => SAVE ALL (Сохранить все) или нажимается кнопка SAVE ALL
на панели инструментов. В
поле SAVE IN: (Сохранить в:) окна SAVE UNIT1 AS выбирается название диска и
папки, задается название для файла текста программы вместо UNIT1.PAS =>
SAVE. В следующем окне SAVE PROJECT1 AS вводится название файла проекта, удалив предложенное PROJECT1.DPR => SAVE. Файлы проекта и текста программы должны иметь разные названия.
Для создания ехe-файла проекта выполнить команду главного меню
PROJECT => BUILD ALL (Сконструировать Все). Запустить ехе-файл с именем
проекта по пиктограмме .
Самостоятельно изучить вопросы:
1. Изучить технологии нисходящего и восходящего программирования.
2. Что такое визуальное проектирование интерфейса пользователя?
Контрольные вопросы:
1. Перечислить системы объектно-ориентированного программирования.
2. В чем удобство работы в средах визуального программирования?
3. Приведите примеры языков или сред программирования, работающих по разным принципам.
4. Что такое управляющие элементы? Для чего они нужны?
5. Зачем нужно сохранение проекта и создание исполняемого файла?
Задания: Создать форму «Анкета студента» с данными о себе и фотографиями,
которые перекрываются и должны появляться в результате нажатия на кнопки.
Порядок выполнения:
1) Загрузить систему программирования Delphi.
2) Запустить программу PROJECT1 на выполнение. Максимизировать и восстановить размер окна формы, минимизировать и развернуть и т. п. Выполнить эти
действия с помощью команд MOVE, SIZE и других и клавиатуры.
3) Закрыть окно FORM1, минимизировать главное окно Delphi и создайте на рабочем диске свою папку. Снова активизируйте окно Delphi. Сохраните созданную программу в своей папке.
4) Ознакомиться со свойствами формы LEFT, TOP, WIDTH и HEIGHT. Исследовать, как изменение свойств LEFT, TOP, WIDTH или HEIGHT формы в
OBJECT INSPECTOR ведет к изменению расположения или размера формы.
32
5) Изменить цвет фона формы. Задать начальное значение цвета - CLBTNFACE.
6) Вставить в форму текстовое поле с текстом «Анкета студента». Изменить значения свойства FONT (шрифт) текстового поля на Times New Roman Cyr, FONT
STYLE – на Bold, SIZE - на 16, COLOR – на Purple. Аналогично вставить в форму
еще несколько текстовых полей для своих биографических данных.
7) Вставить в форму объект IMAGE (картинка) расположить свою портретную
фотографию с помощью свойства PICTURE (иллюстрация) объекта IMAGE1.
8) Наложить художественную фотографию на портретную, вставив в форму еще
один объект IMAGE. Проэкспериментировать со свойством VISIBLE (видимость) изображений, каждый раз выполняя программу. После этого установить
значение свойства VISIBLE в False для обоих изображений.
9) Вставить в форму две кнопки BUTTON для поочередного отображения наложенных фотографий. Поменять подписи на кнопках (свойство CAPTION) на
«Портретная фотография» и «Художественная фотография» и выбрать шрифт.
10) Запрограммировать кнопки «Портретная фотография» и «Художественная фотография» соответственно назначению. Запустить программу и убедится, что
они выполняют свои функции. Закрыть окно программы «Анкета студента».
11) Сохранить программу. Создать ехe-файл проекта. Закрыть Delphi, выполнить
программу.
12) Вставить в форму третью фотографию (вашего дома или машины) и еще одну
кнопку с соответствующей подписью.
13) Поменять подписи на кнопках на «Сменить фотографию» и «Забрать фотографию», перепрограммировав кнопки. Выполнить программу.
14) Поменять сценарий работы программы на следующий:
 после запуска фотографий на форме не видно, есть две кнопки «Портретная
фотография» и «Спрятать фотографию». Доступна первая кнопка;
 после щелчка на кнопке «Портретная фотография» появится портретное фото,
текст на первой кнопке поменять на «Художественная фотография», кнопка
«Спрятать фотографию» должна стать доступной;
 после щелчка на кнопке «Художественная фотография» фотография должна
поменяться на художественную, а подпись - на «Третья фотография»;
 после щелчка на кнопке «Третья фотография» фотография должна поменяться,
а подпись на этой кнопке - на «Портретная фотография»;
 после щелчка на кнопке «Спрятать фотографию» фотография должна исчезнуть, а кнопка стать недоступной. Запрограммировать кнопку «Спрятать фотографию», чтобы, она становилась не только недоступной, но и невидимой
16) Изменить программный код задачи, чтобы, отключая фотографии, надпись на
первой кнопке соответствовала фотографии, которая появится после ее нажатия. Сделать, чтобы последовательность переключения фотографий не нарушалась вследствие их отключения и добавить текстовую надпись с названием
фотографии, видимой в текущий момент.
17) Оформить отчет с программным кодом и формами с результатами работы.
18) Сделать вывод по полученным результатам работы.
33
ЛАБОРАТОРНАЯ РАБОТА № 11
Программирование ветвлений в Borland Delphi
Цель: применить поля редактирования и переключатели, кнопки для выполнения
вычислений и выхода из программы и другие средства среды программирования
Borland Delphi.
Задачи:
1) Создать форму по заданию и выполнить остальные действия.
2) Убедиться в работоспособности разработанной программы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, операционная система Windows, среда программирования Borland
Delphi.
Литература: 3, 7, 12, 13, 24, 27, 29, 30, 37, 39.
Краткое изложение основных теоретических и методических аспектов:
Поле редактирования (EDIT) используют для ввода строки символов с клавиатуры. Для преобразования полученной строки (свойство Text) в число и
наоборот применяют стандартные функции VAL и STR, или функции среды
STRTOFLOAT и FLOATTOSTR. Переключатель (RADIOBUTTON) используют
для выбора действия среди нескольких альтернатив.
Для вставки в форму поля редактирования нужно щелкнуть на пиктограмме
EDIT
на закладке STANDARD палитры компонентов, а потом - в нужном месте на форме. Чтобы вставить в форму переключатель нужно щелкнуть на пиктограмме RADIOBUTTON
на закладке STANDARD палитры компонентов главного окна, а после - в точке вставки на форме. Для активности переключателя задается значение свойства CHECKED (контроль выбора) - TRUE.
Запрограммировать радиокнопку можно так. Активизировать поле EDIT и
щелкнуть дважды на переключателе RADIOBUTTON. При этом получится заготовка процедуры, в ее теле опишите действия, которые должны быть выполнены
в результате щелчка на переключателе RADIOBUTTON:
PROCEDURE TFORM1.RADIOBUTTON1CLICK (SENDER: TOBJECT);
BEGIN
LABEL1.CAPTION := '=>'; {Меняем символ}
EDIT1.SETFOCUS
{Активизируем поле Edit1}
END;
Для программирования кнопки «Выход» удобно воспользоваться процедурой закрытия окна программы CLOSE:
PROCEDURE TFORM1.BUTTON2CLICK (SENDER: TOBJECT);
BEGIN
CLOSE {Закрываем окно программы}
END;
Запрограммировать кнопку «Вычислить» можно так. Данное в поле редактирования - это значение свойства TEXT типа STRING. Для его преобразования в
числовой действительный тип (REAL) воспользуйтесь процедурой VAL, а наоборот - процедурой STR. Опишите соответствующие основные и дополнительные
переменные в разделе VAR. Например, для вычисления валют:
34
PROCEDURE TFORM1.BUTTON1CHCK(SENDER: TOBJECT);
VAR KURS1, KURS2, SUMMA : REAL;
COD : INTEGER; ED : STRING[9];
BEGIN
VAL (EDIT1.TEXT, KURS1, COD); {Значения курса покупки}
VAL (EDIT2.TEXT, KURS2, COD); {Значения курса продажи}
VAL (EDIT3.TEXT, SUMMA, COD); {Числовое значение суммы в USD}
IF RADIOBUTTON2.CHECKED = TRUE
THEN SUMMA:=SUMMA * KURS2
ELSE SUMMA:= SUMMA * KURS1;
STR(SUMMA:9:2, ED);
EDIT4.TEXT := ED;
{Полученное число суммы в преобразуется в текстовый формат и результат
присваиваем свойству Text поля вывода Edit4}
END;
Самостоятельно изучить вопросы:
1. Чем отличаются понятия «язык», «среда» и «система программирования»?
2. Что обязательно включает в себя современный языка программирования?
3. Что входит в состав системы программирования?
Контрольные вопросы:
1. Какие из технологий программирования относятся к нисходящему, а какие к
восходящему программированию?
2. Какие языки или среды программирования объединяют несколько идеологий
программирования?
Задания: Создать форму с названием «Обмен валюты» для моделирования соответствующих операций обменного пункта.
Порядок выполнения:
1) Загрузить среду программирования Delphi.
2) Отказаться от возможности изменять размеры окна программы. Выполнить
программу и убедится, что отсутствуют кнопки для минимизации, максимизации окна и системного меню. Завершить работу программы.
3) Вставить в форму два объекта типа RADIOBUTTON (переключатель). Задать
начальное значение второго переключателя как активное.
4) Вставить в форму четыре поля редактирования EDIT, четыре текстовых поля
LABEL и две кнопки BUTTON.Сохранить созданную форму в своей папке.
35
5) Поменять название формы с FORM1 на Обмен валюты и изменить подписи на
RADIOBUTTON, LABEL и BUTTON, поочередно выбирая объекты и меняя
значения свойства CAPTION. Задать одинаковые размеры для всех расположенных элементов и выровнять их на форме. Сохранить работу.
6) Задать значения курсов купли-продажи валюты, указать сколько валюты покупается или продается: значение свойства TEXT объекта EDIT1 - 5.25, EDIT2 5.45 и EDIT3 - 20. Очистить EDIT4 и заблокировать возможность ввода данных, поскольку в него будет выводиться результат. Выполнить программу и
убедится, что нельзя ввести или редактировать данные в EDIT4.
7) Запрограммировать RADIOBUTTON, чтобы направление стрелки указывало
операцию: купля или продажа. Запустить программу и убедится, что переключатели выполняют свои функции. Запрограммировать кнопки «Выход» и «Вычислить». Сохранить работу, выполнить программу с разными денежными
суммами и операциями. Закрыть окно программы «Обмен валюты».
8) Обеспечить появление подсказки «Введите сумму в долларах» после перемещении указателя мыши к EDIT3. Поменять вид стрелки с => на , а <= на  с
помощью шрифта Wingdings. Сохранить работу, запустить программу и убедится, что подсказка появляется и стрелка меняется.
9) Создайть ехе-файл программы. Закрыть среду Delphi, запустить созданную
программу и выполните вычисления для разных входных данных. Запустите
ехе-файл с именем проекта из своей папки.
10) Вставить в созданную форму кнопку для очистки полей денежных сумм. Выполнить программу и убедится в правильности ее работы.
11) Обеспечить появление подсказок «Введите курс купли» и «Введите курс продажи» после перемещения указателя мыши к полям EDIT1 и EDIT2.
12) В процедуре для кнопки «Вычислить» предусмотреть 1% сбора в пенсионный
фонд от операции продажи.
13) Модифицировать программу, введя дополнительную возможность: после
щелчка мышью на стрелке изменить тип операции (купля, продажа).
14) Удалить лишние объекты из формы и изменить код кнопки «Вычислить»,
чтобы ее можно было переводить мили в километры и наоборот в зависимости от положения переключателя (1 миля = 1,609344 км). В форму вставить группу переключателей для выбора типа мили из двух возможных: морской или обычной (1 морская миля = 1,852 км).
15) Оформить отчет с программным кодом и формами с результатами работы.
16) Сделать вывод по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 12
Табулирование функций в Borland Delphi.
Цель: программирование циклов в среде программирования Borland Delphi.
Задачи:
1) Создать форму по заданию и выполнить остальные действия.
2) Убедиться в работоспособности разработанной программы.
36
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, операционная система Windows, среда программирования Borland
Delphi.
Литература: 3, 7, 12, 13, 24, 27, 29, 30, 37, 39.
Краткое изложение основных теоретических и методических аспектов:
Объект MEMO применяют для многострочного редактора текста, CHECKBOX для создания независимого двух или трёхпозиционного флажка: включен, выключен или серый. Панель группы (GROUPBOX) предназначена для размещения
на ней группы из нескольких объектов, используемых для улучшения дизайна окна программы. С помощью объекта MainMenu создают главное меню программы,
а с помощью объекта POPUPMENU - контекстное меню компонента. Для связывания контекстного меню с объектом необходимо свойству этого объекта присвоить значение NAME соответствующего контекстного меню.
Для смены пиктограммы нужно указать конкретный файл с рисунком в поле
значения свойства ICON (пиктограмма) формы. Щелкнуть в строке ICON на , а
потом на кнопке LOAD окна PICTURE EDITOR, чтобы получить окно LOAD
PICTURE. Открыть и выбрать графический файл пиктограммы => OPEN => OK.
Чтобы выровнять и отцентрировать объекты - окно ALIGNMENT. Выделить
группу объектов с подписями к ним и выполнить EDIT=> ALIGN (выровнять)=>
HORISONTAL - LEFT SIDES (горизонтально - левые границы)=> VERTICAL –
SPACE EQUALLY (вертикально - равномерно)=> OK или EDIT=> ALIGN=>
HORISONTAL - CENTER IN WINDOW (горизонтально - к центру окна)=> OK.
Для вставки в форму панели группы объектов выбираем GROUPBOX
на
закладке STANDARD палитры компонентов, флажков - CHECKBOX , многострочного поля редактирования - MEMO
на закладке STANDARD. Для вставки
главного и контекстного меню - MAINMENU
и POPUPMENU
там же, на
этапе выполнения программы они невидимы. Для ввода названия команд главного меню формы выбрать MAINMENU и щелкнуть на свойстве ITEMS или дважды
на объекте и закрыть окно создания команд главного меню FORM1.MAINMENU.
Методы - это набор процедур и функций, которые применяют к объекту. Имя
объекта от имени метода отделяется точкой. Программирование команды «Очистить поле вывода» главного меню с помощью метода CLEAR объекта MEMO
выполняется так. После щелчка по команде меню «Очистить поле вывода» появится заготовка процедуры реакции на событие вызова. В нее записывается команда вызова метода CLEAR для очистки поля вывода MEMO:
PROCEDURE TFORM1.N3CLICK (SENDER: TOBJECT);
{N3 - имя команды «Очистить поле вывода», может быть другой номер}
BEGIN
MEMO1.CLEAR {Вызов очищающего метода объекта Memo}
END;
Для построения графика функции в форму вставляется объект CHARTFX из
закладки OCX. Дважды щелкнуть на нем и на закладке APPEARANCE из списка
GALLERY TYPE, выбрать пиктограмму графика. На закладке 3DVIEW убрать
37
флажок 3D. На закладке DATAVALUES задать ожидаемые (ориентировочно)
максимальное и минимальное значения функции. Создать пункт меню или кнопку «Нарисовать график» и запрограммировать:
PROCEDURE TFORM1.BUTTON1CLICK (SENDER: TOBJECT);
VAR I, N: INTEGER;
X: REAL;
S: STRING;
BEGIN
X := 0; N := 10; {N- КОЛИЧЕСТВО ТОЧЕК}
CHARTFX1.OPENDATAEX (COD_VALUES, 1, N);
FOR I := 0 TO N-1 DO
BEGIN
CHARTFX1.VALUE[I] := SIN (X) + 1 ; {Формируем легенду оси ОХ}
STR (X:5:2,S);
CHARTFX1.LEGEND[I] := S;
X:=X+0.5;
END;
CHARTFX1.CLOSEDATA(COD_VALUES);
END;
Самостоятельно изучить вопросы:
1. Назовите три основных типа алгоритмов обработки данных?
Контрольные вопросы:
1. Почему модули применяются в современном программировании?
2. Сравните модули и подпрограммы.
3. Должно ли имя модуля совпадать с именем файла, в котором он находится?
Задания: Создать форму «Табулирование функции» для вычисления функции
y=sin(x)+1 с запросом левой, правой границы и шага. Добавить производную этой
функции. На основе разработанной формы рассмотреть решение других задач.
Порядок выполнения:
1) Загрузить среду программирования Delphi.
2) Поменять заголовок формы с Form1 на «Табулирование функции» и увеличить
вертикальные размеры формы. Сменить пиктограмму в левом верхнем углу
формы, указав конкретный файл с рисунком в поле значения свойства ICON
(пиктограмма) формы. Сохраните форму в своей папке.
3) Расположить в форме три поля редактирования EDIT и соответствующие им
текстовые ноля «Левая граница», «Правая граница», «Шаг», а также текстовое
поле для задания вида функции y=sin(x)+1. Выровнять вставленные поля редактирования к левому краю первого объекта и отцентрировать текстовое поле
с указанием функции. Сохранить.
4) Вставить в форму панель группы объектов CROUPBOX, назвать его Вывод.
Размер, стиль и цвет шрифта выбирать. Увеличить панель группы.
5) Вставить на панель три флажка CHECKBOX. Выровнять, заблаговременно выделив, и поменять подписи. Стиль и цвет шрифтов выбрать на своё усмотрение.
Установить флажки «На экран» и «В массив» в режим «включен».
38
6) Вставить в форму многострочное поле редактирования MEMO и удалить из него слово MEMO. Задать начальные значения полей редактирования левой и
правой границ аргумента и шага изменения аргумента (свойства TEXT).
7) Вставить в форму главное и контекстное меню MAINMENU И POPUPMENU.
Расположить их в произвольном месте формы. Введите названия команд главного меню («Вычислить», «Выход») и контекстного меню формы («Очистить
поле вывода»). Связать контекстное меню POPUPMENU с формой.
8) Запрограммировать команду «Очистить поле вывода» главного меню с методом CLEAR в MEMO и команду «Выход» главного меню, воспользовавшись
стандартной процедурой CLOSE (см. лабораторную работу №11). Запрограммировать команду «Очистить поле вывода» контекстного меню.
9) Запустить созданную программу и исследовать ее работу. В многострочном
поле редактирования MEMO можно выполнять действия, как в текстовом редакторе: выделять фрагмент текста, копировать, переносить или удалять этот
фрагмент. Закончите работу программы, щелкнув на кнопке «Выход».
10) Запрограммировать команду «Табулировать». Выполнить программу и поупражняться с разными значениями левой, правой границы и шага аргумента.
Закрыть окно программы «Табулирование функции».
11) Сохранить программу в своей папке. Создать ехе-файл. Закрыть Delphi, запустить программу и выполните вычисления для различных входных данных.
12) Добавить к контекстному меню команду «Выход» и запрограммировать ее.
13) Создать и запрограммировать контекстное меню с командами «Убрать все
флажки», «Включить все флажки», «Включить инверсивно». Оно должно появляться после щелчка правой клавишей мыши в любой точке панели с флажками. Привязать это меню к панели с флажками.
39
14) Модифицировать программу, предусмотрев возможность табулирования
функции и ее производной. Выбор варианта (с производной или без неё) осуществить с помощью дополнительного флажка.
15) Определить количество элементов массива больших 0.5 и меньших 1. Предусмотреть дополнительную возможность для определения максимального и
минимального значений функции.
16) Поменять процедуру команды «Табулировать», чтобы для включенного флажка «В массив» вывод результатов выполнялся в одномерный массив.
17) Вставить в форму объект CHARTFX для построения графика функции.
18) Оформить отчет с программным кодом и формами с результатами работы.
19) Сделать вывод по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 13
Представление данных в табличном и графическом виде средствами Borland
Delphi
Цель: программирование табличного и графического представления данных в
среде программирования Borland Delphi.
Задачи:
1) Создать форму по заданию и выполнить остальные действия.
2) Убедиться в работоспособности разработанной программы.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, операционная система Windows, среда программирования Borland
Delphi.
Литература: 3, 7, 12, 13, 24, 27, 29, 30, 37, 39.
Краткое изложение основных теоретических и методических аспектов:
Для работы с таблицами используются компоненты DRAWGRID и STRINGGRID (таблица строк) на закладке ADDITIONAL Палитры компонентов. Таблица
DRAWGRID позволяет отображать в ячейках текстовую и графическую информацию, сетка выводится автоматически. Этот компонент не хранит информацию.
Компонент STRINGGRID применяется для обработки текстовых и графических
данных, позволяет хранить и автоматически отображать.
Крайние левые столбцы и верхние строки таблицы можно устанавить фиксированными для оформления заголовков, они могут выделяться цветом и при прокрутке оставаться неподвижными. Их число определяют свойства FIXEDCOLS и
FIXEDROWS. Значения свойств содержащих номера первых видимых столбца и
строки LEFTСOL и TOPROW типа LONGINT.
Свойства СOLOR и FIXEDCOLOR типа TCOLOR задают цвета таблицы и ее
фиксированных элементов. По умолчанию свойство COLOR имеет значение
CLWINDOW, а свойство FIXEDCOLOR— значение CLBTNFACE.
Для доступа к ячейке служит свойство СELLS [ACOL, AROW: INTEGER]
типа STRING, являющееся двумерным массивом с элементами строками. Индекс
ACOL определяет столбец, а AROW — строку в таблице. Свойство CELLS можно использовать только во время выполнения программы для чтения и записи.
LABEL1.CAPTION := STRINGGRID1.CELLS[5,9];
40
STRINGGRID1.CELLS[1,2] := 'HELLO';
Для построения диаграмм на основании информации, содержащейся в
наборе данных, предназначен компонент-диаграмма DBCHART. Этот компонент является сложным и имеет большое количество свойств, многие из которых тоже объекты и имеют свои свойства. Установка их значений выполняется
при разработке программы с помощью Редактора диаграмм, который позволяет
оперировать со свойствами-объектами, информация о которых отображается на
его страницах, и вызывается двойным щелчком по компоненте DBCHART или
через Инспектор объектов. Важным свойством компонента DBCHART является
SERIES [INDEX: LONGINT] типа TCHARTSERIES, представляющее собой массив диаграмм, выводимых в области компонента. Для каждой диаграммы устанавливается: тип, описание, название, оси, источник данных и другие параметры.
Источник данных выбирается на странице SERIES-DATA SOURCE:
 NO DATA — значения, вводимые программно;
 RANDOM VALUES — случайные числа;
 FUNCTION — значения, определяемые выбранной функцией;
 DATASET — значения набора данных;
После закрытия окна Редактора диаграмма строится автоматически на основании записей, составляющих набор данных. При выполнении приложения диаграмма выглядит так же, как при проектировании. Ее функционирование является
динамическим - при изменении набора данных, диаграмма изменяется.
Самостоятельно изучить вопросы:
1.Тенденции развития языков программирования.
2. Приведите примеры языка программирования работающих по компилирующему или интерпретирующему типу.
Контрольные вопросы:
1. Как классифицируются высокоуровневые языка программирования?
2. Что такое современный объектно-ориентированный язык программирования?
3. Выявите тенденции развития языков программирования с точки зрения технологий программирования.
Задания: Выполнить пересчет денежной суммы с использованием табличного
представления данных. Исходная сумма задается в рублях и переводится затем в
различные валюты. Результаты представить в графическом виде.
Порядок выполнения:
1) Загрузить среду программирования Delphi.
2) Поменять заголовок формы с Form1 на Перерасчет денежных сумм и увеличить горизонтальные размеры формы.
3) Расположить в форме таблицу 5x3 (первоначально) с верхней фиксированной
строкой, содержащий наименования столбцов. Первый столбец заполняется
названиями валют, второй – курсом валюты по отношению к доллару США, а
третий - суммами, эквивалентными денежной сумме в рублях, задаваемой в
поле ввода. В левом столбце - «Американский доллар», «Немецкая марка»,
«Английский фунт стерлингов» и «Гривна». Установить свойства таблицы.
4) Добавить к таблице текстовое поле LABEL с пояснением «Сумма в валюте».
41
5) Расположить в форме попарно элементы текстового поля LABEL и поля редактирования EDIT для ввода суммы в рублях. Повторить эти действия для
ввода курса рубля к доллару.
6) Разместить на форме четыре кнопки BUTTON «Добавить», «Удалить», «Расчет» и «Выход». Сохранить.
7) Преобразовать сумму и курс в вещественные числа.
8) Запрограммировать кнопку «Расчет» на основе данных из двух полей ввода и
первых двух столбцов таблицы осуществляется перерасчет соответствующей
каждому виду валюты суммы, которая записывается в ячейку третьего столбца. Разрешить редактировать данные в ячейках.
9) Запрограммировать кнопку «Выход». Сохранить.
10) Запрограммировать кнопку «Добавить» для добавления новой строки в конец
таблицы и очисткой ее ячеек. Сохранить.
11) Запрограммировать кнопку «Удалить» для удаления строки таблицы, в которой находится выбранная ячейка. При этом расположенные ниже строки
сдвигаются вверх, а освободившаяся последняя строка удаляется. В случае,
если осталось только две строки, удаление не выполняется. Сохранить.
12) Графически оформить информацию, представленную в таблице. Выбрать любой тип диаграммы. Сохранить работу, запустить программу и убедится, что
при изменении набора данных, диаграмма изменяется.
13) Создайть ехе-файл программы. Закрыть среду Delphi, запустить созданную
программу и выполните вычисления для разных входных данных. Запустите
ехе-файл с именем проекта из своей папки.
14) Оформить отчет с программным кодом и формами с результатами работы.
15)Сделать вывод по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 14
Основы профессиональных информационных технологий
Цель: выработать навыки использования основных операций и процессов в среде
электронной таблицы для автоматизации работы с данными, представленными в
табличной форме.
Задачи:
1) Изучить технологию работы с листами в рабочей книге.
2) Создать таблицы и ввести данные.
3) Использовать для вычисления формулы и функции.
4) Изучить представление данных в виде разнотипных диаграмм.
5) Производить редактирование и форматирование данных и диаграмм как в целом, так и поэтапно.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, операционная система Windows, Microsoft Office и, в частности,
табличный процессор Microsoft Excel.
Литература: 2, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 18, 21, 22, 32, 38, 40.
Краткое изложение основных теоретических и методических аспектов:
Под задачей понимается любая проблема, подлежащая решению, а её про-
42
граммная реализация на ПК называется программой-приложением. С позиции
специфики разработки программы технологические и функциональные задачи.
Функциональные задачи нашли реализацию с использованием профессиональных информационных технологий, например MICROSOFT OFFICE.
Электронные таблицы или табличные процессоры предназначены для проведения табличных расчетов. Поля, в которых располагаются исходные данные,
называются независимыми, поля, где записываются результаты вычислений - зависимыми или вычисляемыми.
Электронные таблицы имеют большие размеры и несколько режимов работы: ввод данных в ячейки, формирование таблицы, редактирование, вычисление
по формулам и функциям, сохранение информации в памяти, построение графиков и диаграмм, упорядочение по признаку, использование сценариев и т. п.
Рабочая книга MICROSOFT ECXEL представляет собой набор рабочих листов, каждый из них имеет табличную структуру и может содержать одну или несколько таблиц. Для работы с листами удобно использовать контекстное меню,
появляющееся при щелчке правой кнопкой мыши по ярлыку активного листа.
Каждый лист имеет название. Чтобы его изменить нужно выбрать команду ПЕРЕИМЕНОВАТЬ в контекстном меню.
Лист состоит из строк и столбцов, которые озаглавлены. На их пересечении
образуются ячейки, обозначение играет роль адреса. Адреса используются при
записи формул и функций определяющих взаимосвязь между значениями, расположенными в ячейках. Одна из ячеек всегда активна. По умолчанию ссылки на
ячейки рассматриваются как относительные – при копировании и перемещении
формулы или функции адреса автоматически изменяются в соответствии с расположением ячеек относительно друг друга. При абсолютной адресации ссылки не
изменяются. Для изменения способа адресации при вводе или редактировании
формулы или функции надо активизировать ячейку (выделить ссылку на нее) и
нажать клавишу F4. Элементы с абсолютной адресацией предваряются символом
$. Может быть частично абсолютная/относительная ссылка для фиксирования
только строки или столбца.
Оформить ячейки можно при помощи пункта меню ФОРМАТ=> АВТОФОРМАТ. Установить в ячейках формат данных (пункт меню ФОРМАТ =>
ЯЧЕЙКИ=> ЧИСЛО).
Для заполнения ячеек формулами, функциями, копирования данных или
применения встроенных списков используется АВТОЗАПОЛНЕНИЕ, когда указатель мыши устанавливается на нижний правый угол активной ячейки или блока.
По окончании вычисления промежуточные значения можно скрыть, выбрав
в контекстном меню команду СКРЫТЬ ЯЧЕЙКИ.
Значения в столбце «Итого» вычисляется с помощью функции СУММ
(кнопка  на панели инструментов).
Минимальные, максимальные, средние значения вычисляются с помощью
кнопки МАСТЕР ФУНКЦИЙ на панели инструментов. Там же находятся и другие функции. На первом шаге выбирается тип функции и ее имя, а на втором шаге
вводятся значения в виде данных с клавиатуры, ссылок на ячейки или блоки, дру-
43
гих формул или функций. Жирным шрифтом выделены аргументы, обязательные
для ввода.
При помощи кнопки МАСТЕР ДИАГРАММ происходит графическое отображение данных. Нужные столбцы, строки и ячейки выделяются и группируются
при помощи кнопок <Shift> и <Ctrl>. На панели инструментов выбрать кнопку
МАСТЕР ДИАГРАММ. В зависимости от желаемого результата рекомендуется
выбирать различные типы диаграмм. В открывшемся окне выбрать тип диаграммы, затем указать диапазон. Дать название рядам в соответствии с таблицей.
Поместить диаграмму на имеющемся или отдельном листе.
Чтобы отобразить формулы и функции на рабочем листе нужно перейти в
режим формул. Для этого в пункте меню СЕРВИС => ПАРАМЕТРЫ=> ВИД и
установить флажок ФОРМУЛЫ.
Выбрать в меню ДАННЫЕ=> АВТОФИЛЬТР=> УСЛОВИЕ, в открывшемся
окне ПОЛЬЗОВАТЕЛЬСКИЙ ФИЛЬТР установить критерий отбора и расположить скопировать полученную таблицу в свободное место на листе.
Для упорядочения данных используется пункт меню ДАННЫЕ=> СОРТИРОВКА. Там же находятся команды для обработки информации из нескольких
таблиц, например, ДАННЫЕ=> ИТОГИ или ДАННЫЕ=> КОНСОЛИДАЦИЯ.
Самостоятельно изучить вопросы:
1. В чем особенности технологии обработки разных видов информации.
2. Что такое программные средства и программные системы?
3. Что понимается под интегрированной программной средой?
4. Как вы понимаете технологизацию социального пространства.
5. Каково место компьютерной техники и технологии в современном мире.
6. Что представляет собой электронная коммерция? В чем ее преимущества и недостатки? Каковы сущность и содержание электронной торговли?
7. Что такое лицензия? Какие типы лицензий применяются в настоящее время?
Контрольные вопросы:
1. Требуется ли от пользователя специальных знаний в области информационных
технологий при работе с современным прикладным программным обеспечением?
2. Что является основой для классификации программного обеспечения?
3. Перечислите виды прикладного программного обеспечения.
4. Примеры универсального и специализированного программного обеспечения.
5. Что характерно для обработки текстовой информации?
6. Какие табличные процессоры существуют?
7. Каковы тенденции развития программного обеспечения?
8. Могут ли люди, живущие в гармонии с природой являться частью информационного общества или должны быть исключены из него?
9. Глобальная информатизация жизни – это положительный или отрицательный
процесс? Рассмотрите влияние на физическое и психологическое здоровье, право
на интеллектуальную собственность и личную тайну?
Задания:
Часть1. Составить отчет о работе предприятия за три года по показателям:
валовая выручка, налог на добавленную стоимость, выручка от реализации, за-
44
траты на производство продукции, в том числе: заработная плата, арендная плата,
аренда оборудования, другие расходы, а так же валовая прибыль, облагаемый доход, налог на доход предприятия и чистый доход предприятия. Валовая выручка
и другие расходы меняются ежемесячно в течении года. Заработная плата, арендная плата, аренда оборудования постоянны в течении года. Статьи:
 затраты на производство продукции = сумме всех затрат;
 налог на добавленную стоимость составляет 20% от валовой выручки;
 выручка от реализации = валовая выручка - налог на добавленную стоимость;
 валовая прибыль = выручка от реализации - затраты на производство;
 облагаемый доход = сумма валовой прибыли и заработной платы;
 налог на доход предприятия составляет 22% от облагаемого дохода;
 чистый доход предприятия = валовая прибыль - налог на доход предприятия;
Предприятие работает три года. Название листа соответствует году работы
предприятия. По результатам работы построить консолидирующую таблицу на
листе «Итог». По данным консолидации построить диаграмму по статьям: валовая выручка, валовая прибыль и чистый доход предприятия.
Часть 2. На первом листе рабочей книги табличного процессора Microsoft
Excel составить список из 10 наименований, содержащий сведения о…
Вариант
Условие
1.
…продукции I, II и III сорта, произведенную рабочими за три смены.
Подсчитать общее количество изделий каждого наименования, выпущенное в течении смены и рабочего дня.
2.
…деятельности косметолога за три месяца: с некоторыми клиентами
она работает на дому или приезжает к ним, других принимает в косметическом кабинете. Подсчитать суммарный доход по каждому виду деятельности и за период.
3.
…телефонных абонентах: ФИО абонента, год установки телефона,
номер телефона, адрес абонента. Подсчитать сколько лет стоит телефон у абонента. Указать максимальную и минимальную величину.
4.
…ассортименте игрушек в отделе: название игрушки, ее цена, количество, возрастные границы. Подсчитать какую сумму можно выручить за каждое наименование и общую сумму от продаж.
5.
…продуктах питания на складе: название, код, цена, количество, дата
поставки. Продукты одного наименования могут быть поставлены в
разное время. Подсчитать на какую сумму продукты каждого наименования и общую сумму.
6.
…доходах предприятий за три месяца по статьям прибыли: от реализации по основной деятельности, от деятельности фирменной торговли и от внереализационных операций. Расположить в алфавитном
порядке. Подсчитать суммарный доход каждого предприятия.
7.
…изделиях швейного ателье зимнего, демисезонного и летнего ассортимента и их стоимости. Подсчитать, на какую сумму произведено изделий в каждый сезон и всего.
45
Вариант
Условие
8.
…доходах за три месяца членов семьи: отца (55 лет), матери (53 года), дочери (28 лет) и сына (20 лет). Подсчитать доход каждого члена
семьи и суммарный доход за каждый месяц и за год.
9.
…деятельности художника за три месяца: картины на заказ, свободная продажа или сдача в галерею. Подсчитать суммарный доход по
каждому виду деятельности за каждый месяц и за год.
10. …цветах, срезанных в оранжерее в течении дня - I, II и III сорта (по
длины стеблей). Подсчитать общее количество цветов по названиям
и сортам, срезанных в оранжерее в течении рабочего дня.
На втором листе рабочей книги составить таблицу, содержащую данные о …
Вариант
Условие
1.
…цене реализации 1 изделия (I сорт - 100% цены, II и III - уценка
10% и 15%). Подсчитать, на какую сумму выпущено продукции
каждого наименования в смену и за рабочий день. По данным построить диаграмму. Указать минимальную и максимальную величину.
2.
…расходах косметолога - каждый месяц покупка профессиональной
косметики и материалов, реклама и аренду кабинета. Подсчитать
суммарные расходы каждый месяц и в течении года. По этим данных подвести итоги работы и построить диаграмму.
3.
…времени междугородних и международных переговоров. Подсчитать на какую сумму наговорил абонент по междугородним и международным линиям. По этим данным построить диаграмму. Вычислить, сколько должны заплатить абоненты.
4.
…количестве проданных игрушек за три рабочих дня. Вычислить
выручку за каждый день и всего. По этим данным построить диаграмму. Определить сколько осталось игрушек каждого наименования.
5.
… отгрузке продуктов. Подсчитать, на какую сумму отгружено продуктов каждого наименования и суммарную выручку. По этим данным построить диаграмму. Определить остаток на складе по каждому наименованию.
6.
…расходах предприятий по трем статьям. Подсчитать суммарные
расходы каждого предприятия. С учетом этих данных подсчитать
прибыли и убытки каждого предприятия. Построить диаграмму.
7.
…цене их продажи. Указать, какое количество изделий реализовано, какая сумма выручена по каждому наименованию изделий и по
итогам года. Подсчитать сколько изделий каждого наименования
осталось. Построить диаграмму.
8.
…расходах семьи. Подсчитать суммарные расходы. С учетом этих
данных подвести итоги семейного бюджета. Построить диаграмму,
отображающую эти результаты.
46
Вариант
Условие
9.
…расходах художника - покупка материалов: краски, холст, кисти,
багет и т. п. Подсчитать суммарные расходы. С учетом этих данных
подвести итоги бюджета и построить диаграмму.
10. … цене реализации цветов (I сорт - 100% цены, II и III - уценка на
20% и 40% соответственно). Подсчитать, на какую сумму реализовано цветов каждого названия. По этим данным построить диаграмму. Указать цветы, продажа которых составляет максимальную и
минимальную величину.
На третьем листе рабочей книги подсчитать среднее значение …
Вариант
Условие
1.
…брака (II и III сорт) в течении рабочего дня. В отдельные таблицы
собрать наименования продукции, брак по которым превышает
среднее значение, равен ему и меньше среднего значения.
2.
…доходов и расходов. Выбрать месяцы, когда доход или расход
превышал среднее значение и сформировать отдельные таблицы.
3.
…времени междугородних переговоров. В отдельные таблицы вынести ФИО абонентов, время переговоров которых превышает, равно среднему значению и менее среднего.
4.
…количества покупаемых игрушек (за три дня). В отдельные таблицы собрать наименования игрушек, которых продано больше
среднего значения, равно или меньше среднего.
5.
…составить для оставшейся продукции таблицу, содержащую сведения о дате выработке и сроках годности продуктов. В отдельные
таблицы вынести наименования продуктов, срок годности которых
заканчивается сегодня и завтра.
6.
…доходов и расходов. Выбрать предприятия с доходом и расходом
выше, ниже среднего. Если есть предприятия с нулевым балансом вывести их названия.
7.
…количества выпускаемых изделий по каждому наименованию. В
отдельные таблицы собрать наименования изделий, которых выпущено больше или меньше среднего значения.
8.
…доходов и расходов. Выбрать месяцы, когда доход или расход в
семейном бюджете превышал среднее значение и сформировать отдельные таблицы.
9.
…доходов и расходов. Выбрать месяцы, когда доход или расход в
бюджете художника превышал среднее значение и сформировать
отдельные таблицы.
10. …брака цветов (II и III сорт) в течении дня. В отдельные таблицы
собрать названия цветов, брак по которым превышает среднее значение, равен среднему или меньше среднего значения.
Порядок выполнения:
1) Открыть MICROSOFT ECXEL.
47
2) Создать таблицы и заполнить их более-менее реальными данными и отформатировать. Структура таблицы – произвольная.
3) Выполнить задание частей 1 и 2. Для вычисления использовать встроенные
функции или пользовательские формулы. При обращении к ячейкам должны
указываться ссылки на эти листы и ячейки. Листы переименовать в зависимости от помещенной на них информации.
4) Данные для промежуточных вычислений должны быть скрыты.
5) Ячейки и таблицы, содержащие результаты обязательно должны иметь название, диаграммы - подписи осей и легенду.
6) В отчете кратко описать выполненные действия, распечатать полученные таблицы в обычном режиме и в режиме формул.
7) Сделать вывод по полученным результатам работы.
ЛАБОРАТОРНАЯ РАБОТА № 15
Основы функционирования информационной системы Microsoft Access.
Цель: выработать навыки использования основных операций в системе управления базой данных для автоматизации работы с данными.
Задачи:
1) Изучить технологию работы с таблицами, формами, запросами и отчетами.
2) Создать таблицы и ввести данные.
3) Создать запросы к ним.
4) Изучить представление данных в виде форм и отчетов.
5) Производить редактирование и форматирование данных как в целом, так и поэтапно.
Перечень оборудования и программного обеспечения: ПК, находящийся в локальной сети, операционная система Windows, Microsoft Office и, в частности,
табличный процессор Microsoft Access.
Литература: 2, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 18, 21, 22, 32, 38, 40.
Краткое изложение основных теоретических и методических аспектов:
База данных — это файл специального формата, содержащий информацию,
структурированную заданным образом, совокупность связанных данных, правила
организации которых основаны на общих принципах описания, хранения и манипулирования данными. По технологии обработки базы данных подразделяются на
централизованные, хранящиеся в памяти одной машины и распределенные, состоящие из нескольких, возможно пересекающихся и дублирующих друг друга
частей, хранимых в различных ЭВМ. По способу доступа к данным разделяются
на базы данных с локальным и удаленным или сетевым доступом.
Создание баз данных, их поддержка и обеспечение доступа пользователей к
ней осуществляются централизованно с помощью с помощью специального программного инструментария – системы управления базами данных. СУБД - это
комплекс программных и языковых средств, необходимых для создания базы
данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. СУБД используются для упорядоченного хранения и
обработки информации больших объемов. В процессе упорядочения информации
48
СУБД генерируют базы данных, а в процессе обработки сортируют информацию
и осуществляют поиск. Многие являются не законченными продуктами, а специализированными языками программирования, с их помощью создаются любые
структуры и вводятся в них необходимые элементы управления.
Информация в базах данных структурирована на отдельные записи - группы
связанных между собой элементов данных. Характер связи между записями
определяет тип организации баз данных: иерархический и реляционный. В
иерархической базе данных записи упорядочиваются в определенную последовательность и поиск данных осуществляется последовательным «спуском» со ступени на ступень. Реляционная база данных, представляет собой двумерную таблицу.
Большинство баз данных имеют табличную структуру. В них столбцы называются полями, а строки — записями. Поля образуют структуру базы данных, а
записи составляют информацию, которая в ней содержится.
Поля обладают свойствами. От свойств полей зависит, какие типы данных
можно вносить и какие действия допустимо осуществлять над данными. Основным свойством поля является длина в символах или знаках. Уникальным свойством поля является имя, одна база данных не может иметь двух полей с одинаковым именем, но есть еще свойство подпись — это та информация, которая
отображается в заголовке столбца. Разные типы полей имеют разное назначение и
свойства. Современные СУБД позволяют хранить в виде файлов данные любых
типов: числовые, текстовые, графические, звуковые, видео и прочие.
База данных состоит из элементов данных и связей между ними. Связи между информационными объектами могут быть следующие:
1 : 1 – один-к-одному – одному экземпляру первого объекта соответствует один
экземпляр второго объекта и наоборот;
1 : М – один-к-многим - одному экземпляру первого объекта соответствует множество экземпляров другого объекта, но каждому экземпляру второго объекта соответствует только один экземпляр первого;
М : М – многие-ко-многим - каждому экземпляру первого объекта соответствует
множество экземпляров второго объекта и наоборот.
Данные в базах часто хранятся в виде таблиц. Каждая таблица имеет структуру, которая должна быть такой, чтобы при работе требовалось вводить как
можно меньше. Если ввод данных приходится повторять, базу делают из нескольких связанных таблиц. Структуру каждой таблицы разрабатывают отдельно.
Чтобы связи между таблицами работали надежно и по записи из одной таблицы можно было найти записи в другой таблице, надо предусмотреть в таблице
уникальные поля, значения в которых не могут повторяться. Если ни одно поле
таблицы не приемлемо в качестве уникального, его можно создать искусственно.
При создании структуры таблиц одно поле (или одну комбинацию полей) можно
назначить ключевым. С ключевыми полями компьютер работает особо: проверяет
их уникальность и быстрее выполняет действия. Ключевое поле — кандидат для
создания связей. Иногда ключевое поле называют первичным ключом.
49
Исходное окно ACCESS содержит шесть вкладок этого окна представляют
шесть видов объектов, с которыми работает программа.
ТАБЛИЦЫ — основные объекты базы данных. В них хранятся данные, которые можно изменять, удалять, сортировать, фильтровать, размножать и выполнять с ними другие операции.
ЗАПРОСЫ — это структуры, предназначенные для обработки данных. С их
помощью данные упорядочивают, фильтруют, отбирают, изменяют, объединяют.
В MICROSOFT ACCESS запросы создают с помощью бланка запроса по образцу.
Запросы на выборку производят выбор данных из базы, их обработку, выполнение итоговых вычислений и другие операции. По результатам запроса создается
временная результирующая таблица. На ее основе, можно создавать новые таблицы или изменять существующие. Для этого служат запросы на изменение.
ФОРМЫ — это объекты, с помощью которых в вводят новые данные или
просматривают имеющиеся. Формы — экранные объекты. Проектирование формы состоит в размещении элементов управления на бланке и в задании связей
между этими элементами и полями таблиц или запросов. Размещение элементов
управления на бланке формы автоматизировано. Создание форм можно выполнять автоматически (АВТОФОРМЫ), полуавтоматически (МАСТЕР) или вручную (КОНСТРУКТОР).
ОТЧЕТЫ — с их помощью данные выдаются на печать в удобном и наглядном виде, они служат для создания печатных документов с информацией из базовых или результирующих таблиц, полученных из запросов. Проектирование отчета состоит в создании структуры его разделов и в размещении элементов управления внутри них, в задании связей между элементами и полями таблиц или запросов. Создание отчетов может выполняться автоматически (АВТООТЧЕТЫ),
полуавтоматически (МАСТЕР) или вручную (КОНСТРУКТОР).
Таблицы, запросы, формы и отчеты являются основными объектами базы
данных. Их разрабатывает создатель базы данных. Пользователь базы использует
эти объекты без вмешательства в их структуру. Разработчик базы данных имеет
два типа дополнительных объектов: макросы и модули. Эти объекты создаются,
когда стандартных средств управления оказывается недостаточно для выполнения операций, необходимых заказчику. С помощью МАКРОСОВ создают макрокоманды, упрощающие наиболее утомительные операции с базой, а с помощью
МОДУЛЕЙ, написанных на языке программирования VISUAL BASIC, создают
программные процедуры для выполнения нестандартных операций.
Самостоятельно изучить вопросы:
1. В каких случаях целесообразнее использовать при работе с табличной информацией следующие приложения Windows: Microsoft Word, Excel, Access?
2. Какие основные модели данных используются для представления информационных объектов и связей между ними?
3. Какая модель данных наиболее используема в настоящее время?
4. Какие данные называются структурированными?
Контрольные вопросы:
1. Приведите реальные примеры из жизни связей между информационными объ-
50
ектами в базах банных.
2. Чем «база данных» отличается от «системы управления базами данных»?
3. Какие характеристики указываются при описании структуры базы данных и
каково назначение такого описания?
4. Поле какого типа является естественным кандидатом на роль ключевого?
5. Можно ли использовать формы не только для ввода, но и для вывода данных?
6. Как называется запрос, предназначенный для выбора данных из таблиц?
7. Как называется категория запросов, выполняющих итоговые вычисления? Какие итоговые функции вы знаете?
Задания:
Вариант 1. Таблица «Студенты» для сведений о 15 студентах первого курса:
поле «Номер по порядку» типа счетчик, «Номер зачетной книжки» - текст из 5
символов, поля «Фамилия», «Имя», «Отчество» - текст из 15 символов, «Дата
рождения» - дата краткого формата и «Группа» - текст из 6 символов.
Добавить сведения еще о 5 студентах. Осуществить поиск данных о студенте
с определенной фамилией. Показать данные о студентах старше 20 лет. Получить
данные о студентах одной из групп. Вывести данные таблицы «Студенты» и
представить результаты фильтрации и запроса. Сформировать таблицу «Успеваемость», для хранения данных по двум экзаменам тех же студентов и выбрать записи о студентах с отличной и хорошей успеваемостью.
Таблица «Успеваемость»: поля «Номер по порядку», «Номер зачетной книжки», «Фамилия», «Имя», «Отчество» - такие же, поля «Предмет1» и «Предмет2» типа число фиксированного формата.
Проанализировать таблицы «Студенты» и «Успеваемость» и связать их. Внести сведения еще о 5 студентах. Сообщить фамилию, имя и отчество студентов со
слабой успеваемостью определенной группы.
Вариант 2. Таблица «Слушатели курсов» для сведений о 15 слушателей 4 – 5
курсов: поле «Номер по порядку» типа счетчик, «Номер паспорта» - текст из 11
символов, поля «Фамилия», «Имя», «Отчество» - текст из 15 символов, «Дата
рождения» - дата краткого формата и «Название курсов» - текст из 6 символов.
Добавить сведения еще о 5 слушателей курсов. Осуществить поиск данных о
слушателей курсов с определенной фамилией. Указать слушателей курсов
школьного возраста. Получить данные о слушателях определенных курсов. Вывести данные таблицы «Слушатели курсов» и представить результаты фильтрации и
запроса. Сформировать таблицу «Оплата», для хранения данных об оплате слушателями курсов (курсы могут быть оплачены частично) и выбрать записи о
слушателей, оплативших курсы и не имеющих долга.
Таблица «Оплата»: поля «Номер по порядку», «Номер паспорта», «Фамилия», «Имя», «Отчество» - такие же, поля «Оплачено» и «Долг» – типа денежный
Проанализировать таблицы «Слушатели курсов» и «Оплата» и связать их.
Внести сведения еще о 5 слушателей курсов. Сообщить фамилию, имя и отчество
слушателей, имеющих долг за курсы в определенной группе.
Вариант 3. Таблица «Машины» для сведений о 15 автомашинах любых 4 – 5
марок: поле «Номер по порядку» типа счетчик, «Марка машины» - текст из 10
51
символов, «Двигатель (емкость)» - число фиксированного формата, «Цвет кузова», «Салон», «Магнитола» - текст из 15 символов, «Цена» - денежный формат.
Добавьте сведения еще о 5 автомашинах. Осуществить поиск автомашин с
определенной ценой. Указать автомашины, у которых емкость двигателей больше
некоторого значения. Получить данные о автомашинах определенной марки. Вывести данные таблицы «Машины» и представить результатов фильтрации и запроса. Сформировать таблицу «Оплата», для хранения в ней данных об оплате
покупки машины в соответствии со структурой (автомашина может быть куплена
в рассрочку) и выбрать записи о владельцах, сразу заплативших за автомашину и
не имеющих долга.
Таблица «Оплата»: поля «Номер по порядку», «Марка машины» и «Цена» такие же, поле «ФИО владельца» типа текст из 50 символов, «Номер паспорта» текст из 11 символов, «Оплачено» и «Долг» - денежный.
Проанализировать таблицы «Машины» и «Оплата» и связать их. Внести сведения еще о 5 автомашинах. Сообщить фамилию, имя и отчество владельцев автомашин определенной марки, имеющих долг.
Вариант 4. Таблица «Кухни» для сведений о 15 видов мебели для кухни,
продаваемых в 4 – 5 магазинах: поле «Номер по порядку» типа счетчик, «Название кухни», «Фасад», «Цвет», «Нестандартные элементы», «Комплектация» текст из 15 символов, «Цена» - денежный, «Магазин» - текст из 15 символов.
Добавить сведения еще о 5 видах кухни. Осуществить поиск данных о кухни
с определенным названием. Указать кухни, цена которых меньше некоторого
значения. Получить данные о предложениях определенных магазинов. Вывести
данных таблицы «Кухни» и представить результаты фильтрации и запроса.
Сформировать таблицу «Услуги», для хранения данных о дополнительных услугах, предлагаемых в магазинах при покупки кухни (доставка и сборка может быть
бесплатной, оплачиваемой дополнительно или отсутствовать) и выбрать записи о
кухнях, сборка и доставка которых производится бесплатно.
Таблица «Услуги»: поля «Номер по порядку», «Название кухни», «Комплектация», «Магазин» - такие же, поля «Доставка» и «Сборка» - текст из 10 символов, «Гарантия» - число фиксированного формата,
Проанализировать созданные таблицы «Кухни» и «Услуги» и связать их.
Внести сведения еще о 5 видах кухни. Сообщить название и цену кухни, гарантия
на которую 2 года.
Вариант 5. Таблица «Туристические поездки» для сведений о 15 туров: поле
«Номер по порядку» типа счетчик, поля «Направление» и «Страна» - текст по 20
символов, «Стоимость» - денежный, поля «Название тур.фирмы» и «Адрес
тур.фирмы» - текст из 10 и 20 символов соответственно.
Добавить сведения еще о 5 туристических поездок. Осуществить поиск данных о туристических поездках в определенном направлении. Указать туристические поездки дороже указанной пользователем суммы. Получить данные о туристических поездках, предлагаемых определенной тур.фирмой. Вывести данные
таблицы «Туристические поездки» и представить результатов фильтрации и запроса. Сформировать таблицу «Предложения», для хранения данных о длитель-
52
ности поездки и дополнительных услугах (виза и страховка может входить или не
входить в стоимость путевки, а может не предлагаться) и выбрать записи о
направлении туристических поездок, в стоимость которых входят виза и страховка.
Таблица «Предложения»: поля «Номер по порядку», «Направление»,
«Название тур.фирмы» - такие же, поля «Виза» и «Страховка» - текст из 5 символов, «Длительность» - дата произвольного формата.
Проанализировать таблицы «Туристические поездки» и «Предложения» и
связать их. Внести сведения еще о 5 слушателей курсов. Сообщить направление и
стоимость туристических поездок длительностью более недели, предлагаемые
определенной тур.фирмой.
Вариант 6. Таблица «Мебель» для сведений о 15 наименований мягкой мебели предлагаемой 4 - 5 фирмами: поле «Номер по порядку» типа счетчик, поля
«Наименование», «Обивка», «Цвет обивки», «Отделка» - текст из 10 символов,
«Цена» - денежный, «Фирма» - текст из 15 символов.
Добавить сведения еще о 5 наименованиях мягкой мебели. Осуществить поиск данных с отделкой определенного цвета. Указать наименование мебели дороже указанного значения. Получить данные о предложениях определенной фирмы. Вывести данные таблицы «Мебель» и представить результаты фильтрации и
запроса. Сформировать таблицу «Услуги», для хранения данных о дополнительных услугах, предоставляемых фирмами при покупки мебели (доставка и сборка
может быть оплачиваемой, бесплатной или отсутствовать) и выбрать записи о
наименовании мебели, для которой отсутствует доставка, сборка и гарантия.
Таблица «Услуги»: поля «Номер по порядку», «Наименование», «Фирма» такие же, поля «Доставка» и «Сборка» - текст из 10 символов, «Гарантия» - число
фиксированного формата.
Проанализировать таблицы «Мебель» и «Услуги» и связать их. Внести сведения еще о 5 наименованиях мягкой мебели. Сообщить наименование и стоимость мебели, при покупке которой определенная фирма предлагает доставку.
Вариант 7. Таблица «Напитки» для сведений о 15 напитках 4 - 5 производителей: поле «Номер по порядку» типа счетчик, поля «Название», «Консерванты»
и «Красители» - текст из 15 символов, «% натуральных компонентов» и «% сахара» - число произвольного формата, «Производитель» - текст из 15 символов.
Добавить сведения еще о 5 напитках. Осуществить поиск данных с определенным названием. Указать напитки, содержащие менее 75% натуральных компонентов. Получить данные о напитках определенного производителя. Вывести
данные таблицы «Напитки» и представить результаты фильтрации и запроса.
Сформировать таблицу «Реализация», для хранения данных о цене напитков и
выбрать записи о напитках, с определенными ценой производителя или ценой
реализации.
Таблица «Реализация»: поля «Номер по порядку», «Название», «Производитель» - такие же, поля «Цена производителя» и «Цена реализации» - денежный.
Проанализировать таблицы «Напитки» и «Реализация» связать их. Внести
сведения еще о 5 напитках. Сообщить название, содержание натуральных компо-
53
нентов и производителя напитков реализуемых по максимальной цене.
Вариант 8. Таблица «Бытовая техника» для сведений о 15 наименованиях
бытовой техники 4 – 5 производителей: поле «Номер по порядку» типа счетчик,
поле «Наименование» - текст из 15 символов, «Код» - текст из 10 символов, «Цена» - денежный, поля «Производитель» и «Страна-производитель» - текст из 15
символов.
Добавить сведения еще о 5 единицах бытовой техники. Осуществить поиск
данных о технике определенного наименования. Указать бытовую технику, произведенную в Германии. Получать данные о бытовой технике определенного
производителя. Вывести данные таблицы «Бытовая техника» и представить результаты фильтрации и запроса. Сформировать таблицу «Дополнительные услуги», для хранения данных (доставка, установка и обслуживание может быть оплачиваемой дополнительно, бесплатной или отсутствовать) и выбрать записи о бытовой технике, доставка, установка и обслуживание которой входит в стоимость.
Таблица «Дополнительные услуги»: поле «Номер по порядку» типа счетчик,
поле «Наименование», «Код», «Цена» - такие же, поля «Доставка», «Установка»
и «Обслуживание» - текст из 5 символов.
Проанализировать таблицы «Бытовая техника» и «Услуги» связать их. Внести сведения еще о 5 единицах бытовой техники. Сообщить наименование и код
бытовой техники, произведенной в Японии, установку которой нужно оплачивать
дополнительно.
Вариант 9. Таблица «Машины» для сведений о 15 автомашинах любых 4 – 5
марок: поле «Номер по порядку» типа счетчик, поля «Марка», «Модель», «Страна
производитель» - текст из 10 символов, поля «Двигатель (емкость)» и «Двигатель
(мощность)» - число фиксированного формата, поле «Цена» - денежный.
Добавить сведения еще о 5 автомашинах. Осуществить поиск данных об
определенной модели. Указать машины, у которых мощность двигателей больше
некоторого значения. Получить данные об автомашинах определенной марки.
Вывести данные таблицы «Машины» и представить результаты фильтрации и запроса. Сформировать таблицу «Заказы», для хранения данных и выбрать записи
об автомобилях, за которые на текущую дату уже произведена оплата и отгрузка.
Таблица «Заказы»: поля «Номер по порядку», «Марка», «Цена» - такие же,
поля «Код» - текст из 10 символов, поля «Дата заказа», «Дата оплаты» и «Дата отгрузки» - дата краткого формата.
Проанализировать таблицы «Машины» и «Заказы» и связать их. Внести сведения еще о 5 машинах. Сообщить код и цену автомашин определенной марки.
Вариант 10. Таблица «Клиенты» для сведений о 15 клиентах некой фирмы:
поле «Номер по порядку» типа счетчик, поле «ФИО» - текст из 50 символов,
«Адрес» - текст из 10 символов, «Телефон» и «Заказ» - число фиксированного
формата, «Дата заказа» - дата краткого формата.
Добавить сведения еще данные о 5 клиентах. Осуществить поиск данных о
клиентах с определенной фамилией. Выбрать записи о клиентах, сделавших заказ
на прошлой неделе. Получить данные о клиентах, живущих вне города Тольятти
и представить результаты фильтрации и запроса. Сформировать таблицу «Зака-
54
зы», для хранения данных и выбрать записи о заказах, которые на текущую дату
уже оплачены и отгружены.
Таблица «Заказы»: поля «Номер по порядку» типа счетчик, «ФИО», «Заказ» такие же, поля «Дата оплаты» и «Дата отгрузки» - дата краткого формата.
Проанализировать таблицы «Клиенты» и «Заказы» и связать их. Внести сведения еще о заказах 5 клиентов. Сообщить даты заказа, оплаты и отгрузки заказов, номера которых лежат в некотором диапазоне.
Порядок выполнения:
1) Открыть Microsoft Access.
2) Сформировать таблицу в соответствии со структурой.
3) Ознакомиться с вводом и редактированием данных в табличном режиме.
4) Создать однотабличную пользовательскую форму для ввода и редактирования
данных в таблице, добавьте сведения.
5) Отсортировать записи по возрастанию значений одного из полей по выбору
пользователя.
6) Показать какие-либо данные, отфильтровав их в соответствии с критериями.
7) Сформировать запрос-выборку, позволяющий получать данные по критериям.
8) Освоить создание детального отчета для вывода данных в таблицу.
9) Сформировать новую таблицу (дублирующие поля скопировать из первой таблицы).
10) Любым способом выбрать записи по критериям. Предоставить результаты в
виде отчета.
11) Проанализировать созданные таблицы. Определить ключевые поля. Установить связи между таблицами.
12) Создать составную форму для ввода новой информации в таблицы.
13) Сформировать запрос для многотабличных баз данных. Создать отчет по результату обработки данных.
14) В отчете кратко описать выполненные действия, распечатать полученные таблицы и запросы к ним в виде отчетов, формы.
15) Сделать вывод по полученным результатам работы.
55
ЛИТЕРАТУРА
4.1. Основная литература
1. Агальцов, В.П. Информатика для экономистов [Текст]: учеб. пособие для вузов
по специальности «Прикладная информатика в экономике» / В.П. Агальцов, В.М.
Титов. - М.: ИД «ФОРУМ»: ИНФРА-М, 2006. – 447 с. : ил.
2. Акулов, О.А. Информатика: базовый курс [Текст]: учеб. пособие для вузов, бакалавров, обучающихся по направлениям 552800, 654600 «Информатика и вычислительная техника» / О.А. Акулов, Н. В. Медведев. – М.: Омега-Л, 2005. - 551 с.: ил.
3. Дарахвелидзе, П.Г. Программирование в Delphi 7. [Текст] / П.Г. Дарахвелидзе,
Е.П. Марков. - СПб.: БХВ-Петербург, 2003. – 784 с.: ил.
4. Избачков, Ю.С. Информационные системы [Текст] : учеб. для вузов по направлениям «Информатика и вычислительная техника» / Ю.С. Избачков, В.Н. Петров.
– СПб.: Питер, 2005. – 655 с.: ил.
5. Косарев, В.П. Экономическая информатика [Текст]: учебник для вузов / В.П.
Косарев, Л.В. Еремин, О.В. Машников, Е.Л. Шуремов, И.Н. Голубева; под ред.
В.П. Косарева. – М.: Финансы и статистика, 2005. – 591 с.: ил.
6. Косарев, В.П. Практикум по информатике для экономистов [Текст]: учебник
для вузов / В.П. Косарев, Фин. акад. при Правительстве РФ., Е.А. Мамонтова,
М.С. Кенесов.; под ред. В.П. Косарева. – М.: ЦентрЛитНефтеГаз, 2007. – 460 с.: ил.
7. Культин, Н.Б. Delphi в задачах и примерах [Текст] / Н.Б. Культин - СПб.: БХВСанкт-Петерберг, 2005. – 416 с.: ил.
8. Леонтьев, В.П. Новейшая энциклопедия персонального компьютера 2006 [Текст]:
настольная книга пользователя. / В.П. Леонтьев. –М.: Олма-Пресс, 2006. – 895 с.: ил.
9. Лесничая, И.Г. Информатика и информационные технологии [Текст]: учеб. пособие / И.Г. Лесничая, И.В. Миссинг, Ю.Д. Романова, В.И. Шестаков и др.; под
ред. Ю.Д. Романовой. –М.: Изд-во Эксмо, 2006. – 542 с.: ил.
10. Макарова, Н.В. Информатика [Текст]: учебник / Н.В. Макарова, Л.А. Матвеев,
В.Л. Бройдо, Т.А. Гаврилова, Е.А. Рамин и др.; под ред. проф. Н.В. Макаровой–
М.: Финансы и статистика, 2004. – 765 с.: ил.
11. Михеева, Е.В. Информационные технологии. Вычислительная техника. Связь
[Текст]: учеб. пособие / Е.В. Михеева, А.Н. Герасимов. –М.: Издательский центр
«Академия», 2005. – 285 с.: ил.
12. Одинцов, И.О. Профессиональное программирование. Системный подход
[Текст] / И.О. Одинцов. –СПб.: БХВ-Петербург, 2004. – 610 с.: ил.
13. Окулов, С.М. Основы программирования [Текст] / С.М. Окулов. – М.:
ЮНИМЕДИАСТАЙЛ, 2002. – 383 с.: ил.
14. Острековский, В.А. Информатика [Текст]: учеб. для студентов средних профессиональных учебных заведений / В.А. Острековский. –М.: Высш. школа, 2001.
– 319 с.: ил.
15. Савицкий, Н.И. Экономическая информатика [Текст]: учебник для вузов./
Н.И. Савицкий –М.: Экономистъ, 2004. – 429 с.: ил.
56
16. Симонович, С.В. Информатика для юристов и экономистов [Текст]: учеб. для
вузов. С.В. Симонович, Г.А. Евсеев, Г.А. Мураховский, А.Ю. Казуто; под ред.
С.В. Симоновича. –СПб.: Питер, 2005. – 687 с.: ил.
17. Симонович, С.В. Специальная информатика [Текст]: учеб. пособие: университетский курс / С.В. Симонович, Г.А. Евсеев, А.Г. Алексеев; под ред. С.В. Симоновича. –М.: АСИ_ПРЕСС Инфорком-пресс, 2002. – 479 с.: ил.
18. Симонович, С.В. Информатика. Базовый курс [Текст]: учебник для ВУЗов /
Под редакцией С. В. Симоновича – СПб.: Питер, 2004. – 639 с.: ил.
19. Советов, Б.Я. Информационные технологии [Текст]: учеб. для вузов по напр.
"Информ. и вычислит. техника", "Информ. системы" / Б.Я. Советов, В.В. Цехановский. – Изд. 2-е, стер. –М.: Высш. школа, 2006. -263 с.: ил.
20. Солоницин, Ю. Интернет: Энциклопедия [Текст] / Ю. Солоницин, В. Холмогоров. – Изд. 3-е, стер. –СПб.: Питер, 2002. – 592 с.: ил.
21. Степанов, А.Н. Информатика для студентов гуманитарных специальностей
[Текст]: учеб. пособие для вузов. / А.Н. Степанов.– СПб.: Питер, 2002. – 608 с.: ил.
22. Стоцкий, Ю. Самоучитель Office ХР [Текст] / Ю. Стоцкий. –СПб.: Питер,
2002. – 576 с.: ил.
23. Сухарев, М. Turbo Pascal 7.0. Теория и практика программирования [Текст] /
М. Сухарев. –СПб.: Наука и Техника, 2004. – 326 с.: ил.
24. Фаронов, В. В. Система программирования Delphi [Текст] / В. В. Фаронов. –
СПб.: БХВ-Петербург, 2005. – 912 с.: ил.
25. Фаронов, В. В. Турбо Паскаль 7.0. Начальный курс. [Текст]: учеб. пособие / В.
В. Фаронов. – М.: ОМД Групп, 2003. – 575 с.: ил.
4.2. Дополнительная литература
26. Алексеев, В. Е. Вычислительная техника и программирование [Текст]: практикум по программированию / В. Е. Алексеев. –М.: Высшая школа, 2001. – 560 с.:
ил.
27. Арзангельский, А.Я. Программирование в Delphi 6 [Текст] / А.Я. Арзангельский. – М.: ЗАО Издательство «БИНОМ», 2002. – 436 с.: ил.
28. Бабушкина, И. А. Практикум по Турбо Паскалю [Текст]: учеб. пособие по
курсам "Информатика" и "Основы алгоритмизации и языки программирования" /
И. А. Бабушкина, Н.А. Бушмелева, С.М. Окулов, С.Ю. Черных. -М.: АБФ, 1998. –
384 с.: ил.
29. Гофман, В. Э. Delphi 5 [Текст] / В. Э. Гофман, А.Д. Хоменко. –СПб, БХВСанкт-Петербург, 2000. – 800 с.: ил.
30. Гофман, В. Э. Delphi 6 [Текст] / В.Э. Гофман, А.Д. Хоменко. –СПб, БХВСанкт-Петербург, 2002. – 800 с.: ил.
31. Громов, Г.Р. Очерки информационной технологии [Текст] / Г.Р. Громов. –М.:
ИнфоАрт, 1992. – 336 с.: ил.
32. Есипов, А. С. Информатика [Текст]: учебник по базовому курсу общеобразовательных учебных заведений / А.С. Есипов. –СПб.: Наука и техника, 2001. – 384 с.: ил.
33. Иванов, В. В. Информатика и основы программирования [Текст]: учеб. пособие / В.В. Иванов.–М., МГУС, 2001. – 48 (149) с.: ил.
57
34. Лойко, В.И. Структуры и алгоритмы обработки данных [Текст]: учеб. пособие
для вузов / В.И. Лойко. –Краснодар: КубГАУ, 2000. – 261 с.: ил.
35. Марченко, А.И. Программирование в среде Turbo Pascal 7.0 [Текст] / А.И.
Марченко, Л.А. Марченко. –КиевМ.: ВЕК+ДЕСС, 1999. – 496 с.: ил.
36. Петров, В. Н. Информационные системы [Текст]: учебник / В. Н. Петров. –
СПб.: Питер, 2002. – 688 с.: ил.
37. Симонович, С.В. Занимательное программирование: Delphi [Текст]: книга для
детей, родителей и учителей / С.В. Симонович, Г.А. Евсеев. – М.: АСТ-ПРЕСС
КНИГА: Инфорком-Пресс, 2001. – 368 с.
38. Степанов, А. Н. Информатика для студентов гуманитарных специальностей
[Текст] : учеб. пособие для вузов / А. Н. Степанов–СПб.: Питер, 2002. – 608 с.: ил.
39. Стивенс, Р. Delphi. Готовые алгоритмы [Текст]: пер. с англ. / Р. Стивенс. – М.:
ДМК ПРЕСС, 2001. – 384 с.: ил.
40. Уилсон, С. Ф. Принципы проектирования и разработки программного обеспечения [Текст] / учеб. курс MCSD. Официальное пособие MS для самостоятельной
подготовке к экзамену / С. Ф. Уилсон, Б. Мэйплс, Т. Лэндлрейв. –М.: РУС.РЕД,
2002. – 736 с.: ил.
Download