ü Одного столбца – установите в него курсор и выполните команду Формат – Скрыть столбцы.
ü Нескольких столбцов, а также восстановления их отображения - выполните команду Формат – Отобразить столбцы.
Фиксация столбцов.
1. Выделить столбцы для фиксации.
2. Выполните команду Формат – Закрепить столбцы.
Для отмены фиксации выполните команду Формат – Освободить столбцы.
Простой отчет.
1. В окне БД щелкните на вкладке Таблица.
2. Выберите нужную таблицу.
3. Выполните команду Вставка – Автоотчет.
При закрытии окна, сохраните отчет.
Часть 2
Установление связей между таблицами. Создание и открытие запроса (2 часа)
Задание:
1. Откройте базу данных, созданную в результате выполнения предыдущего задания.
2. Создайте таблицу «Поставщики», объявив ключевым поле «Код поставщика».
3. Сохраните таблицу.
Поставщики
Код поставщика | Название фирмы | Телефон | Факс | Адрес |
М.Видео | (095)207-9464 | (095)923-2906 | Маросейка, 6/8 | |
Диал Электроникс | (095)978-0443 | (095)978-1693 | Новослободская, 14/19 | |
Мир | (095)152-4001 | (095)152-4251 | Чонгарский б-р, 16 |
4. Откройте в режиме Конструктора таблицу «Товары». После поля «Код товара» создайте новое поле «Код поставщика», воспользовавшись Мастером подстановок значений этого поля из таблицы «Поставщики». В режиме таблицы задайте для этого поля значения в соответствии со следующими поставками: поставщик 1010 – товары 2,4,6,9; поставщик 1020 – товары 3,5,8,11; поставщик 1030 – товары 1,7,10,12.
5. Установите связь между таблицами «Товары» и «поставщики». В таблице «Товары» поле «Код поставщика» становится полем внешнего ключа.
6. Создайте и сохраните запрос для отображения названий товаров, их цен и названий фирм, поставляющих эти товары.
Технология работы:
Установление связей между таблицами.
1. В окне БД выполните команду Сервис – Схема данных.
2. В появившемся окне выберите таблицы для связи, нажмите Добавить, Закрыть.
3. Установите курсор в любую из таблиц на поле, по которому будет установлена связь, и «перетащите» это поле на связующее поле другой таблицы.
4. Активизируйте флажок Обеспечение целостности данных.
5. Нажмите Создать.
Запрос на выборку.
В окне БД выберите Создание запроса в режиме Конструктора.
1. В появившемся окне укажите имена таблиц, по полям которых будет производиться запрос, нажмите Добавить, Закрыть.
2. В строке Поле укажите поля, по которым будет осуществляться запрос.
3. В строке Вывод на экран флажок должен отображаться галочкой.
4. В строке Условие отбора введите критерии выбора (по заданию).
5. Запустите запрос, нажав кнопку с изображением!.
6. При закрытии, сохраните запрос.
Лабораторная работа №4
Тема: Реализация линейных и разветвляющихся алгоритмов.
Цель работы: сформировать навыки работы в среде программирования (Pascal)
Материально-техническое оснащение: Персональный компьютер – 15шт.(для студентов) и 1шт.(преподавательская); Локальная сеть – academy; Проектор AcerX 1263; Экран настенный; Методические указания к выполнению лабораторной работы; ABCPascal.
Продолжительность: 2ч.
Порядок выполнения лабораторной работы:
1. Ввод и тестирование примеров программ;
2. Составление программ с линейной и разветвляющей структурой;
3. Проверка, корректировка и сдача программ.
Теоретическая часть
Алфавит языка Паскаль можно разбить на 3 группы:
1. буквы строчные и прописные буквы латинского и русского алфавита;
2. цифры - арабские 0..9
3. специальные символы - (+,-,*,/,=,<,>,<>,<=,>=,.:;{}’:= ()),служебные слова:and, begin,const,div,do,else,for, и т.д. и указывается тип переменных списка.
Переменная - это область памяти, названная собственным именем, которая может менять свое значение в процессе выполнения программы. Переменная характеризуется именем, типом и значением.
Константа - не изменяет своего значения в процессе выполнения программы, она может быть задана явно своим значением или обозначена именем.
Список наиболее часто встречающихся зарезервированных слов:
And | goto | set |
array | implementation | shl |
begin | in | shr |
case | interface | string |
const | label | then |
div | mod | text |
Do | nil | to |
Downto | not | type |
Else | of | unit |
End | or | until |
File | pointer | uses |
Far | procedure | var |
For | program | while |
Forward | record | with |
Function | repeat | xor |
Типы переменных:
Тип | Диапазон значений | |
Целый | Shortint | -128…127 |
Integer | -32768…32767 | |
Longint | -2147483648…2147483647 | |
Byte | 0…255 | |
Word | 0…65535 | |
Вещественный | Real | 2.9 10-39…1.7 1038 11..12 значащих цифр |
Single | 7..8значащих цифр | |
Double | 15..16значащих цифр | |
Extended | 19..20значащих цифр | |
Логический | Boolean | True, False |
Символьный | Char | 1 символ |
Строковый | String | Массив символов, по умолчанию длина 256 символов |
Массив | array | |
Файлы | file | |
Записи | record |
Арифметические операции
§ abs(x) - абсолютное значение х, т.е. х
§ exp(x) - значением функции является е в степени х.
§ sin(x) и cos(x) – значение синуса или косинуса х, х должен задаваться в радианах.
§ arctan(x) - арктангенс х.
§ ln(x) - натуральный логарифм х (х>0)
§ sqr(x) - квадрат х.
§ sqrt(x) - квадратный корень из х.
§ random(x) - случайное число из диапазона0<=...< x
§ Pi- значение пи.
§ odd(x) - значение функции true, если х нечетен, иfalseв противном случае.
§ inc(x,n) - значением является х увеличенное на n.
§ dec(x,n) - значением является х уменьшенное на n.
§ int(x) - целая часть числа х.
§ frac(x) - дробная часть числа х.
§ trunc(x) - целая часть в форме longint.
§ round(x) - значение х округленное до следующегоцелого числа.
Правила записи арифметическихвыражений.
1. Все данные, входящие в арифметическое выражение, должны бытьодного типа. Допускается использовать вместе данные целого идействительного типа.
2. Записывать все составные части в одну строку без подстрочных инадстрочных индексов.
3. Использовать скобки одного типа - круглые. ([{ и другие скобкиприменять запрещается)
4. Нельзя записывать подряд 2 знака арифметических операций.
5. Вычисления выполняются слева направо в соответствии состаршинством операций:
1) вычисление функций;
2) * / DIV (деление нацело), MOD (получение остатка от деления)
3) + -
Основные операторы
Оператор присваивания (:=).{переменная}:= {переменная, арифметическое выражение, функция, число или константа}
Например: x:=y; x:=y+z;x:=abs(y-z); x:=12;
Оператор ввода read(список переменных), readln(список переменных), ln – после ввода следует перевести курсор на следующую строку.
Например: readln(f,b,a); read(s);
Структура программы
Правила языка Паскаль предусматривают единую для всех программ форму основной структуры:
Program<Имя программы>;
<раздел описаний>
Begin
<тело программы>
End.
Разветвляющие алгоритмы
Begin {начало}
Оператор; оператор; … оператор
End. {конец}
Примечание: количество слов beginсовпадает с количеством слов end.
Разветвляющий алгоритм – это алгоритм, в котором в зависимости от выполнения или не выполнения некоторого условия выполняется либо одна, либо другая последовательность действий.
Условный оператор:
if<условие>then<оператор1>else<оператор2>;
Примечание: перед словом else нельзя ставить точку с запятой.
Пример 1.1.Вычислить (1,2:36+1,2:0,25+cos2):7,24.
Составим программу для решения приведенного арифметического примера, записывая его по правилам языка в одну строку:
Без использования переменной | |
Program primer1_1; Begin Write('ответ=',1.2/36+1.2/0.25+cos(2))/7.24); End. | |
С использованием переменной | |
Program primer1_1; Var P:real; Begin P:=1.2/36+1.2/0.25+cos(2))/7.24; Write('ответ=',P); End. |
Пример 1.2. Вывести на экран следующую строку:
Инженерный факультет
Группа Зем-15ФИО студента.
Program primer1_2;
Begin
Writeln('Инженерныйфакультет');
Write('Группа Зем-15');
Write('ФИО студента');
End.
Пример 1.3. Ввести и вывести на печать три символа.
Program primer1_3;
Var a1,a2,a3:char;
Begin
Writeln(‘введите три символа через пробел’);
Readln(a1,a2,a3);
Writeln(‘1-ыйсимвол’,a1);
Writeln(‘2-ый символ’,a2);
Writeln(‘3-ый символ’,a3);
End.
Пример 1.4.Необходимо ввести и вывести на печать два целых числа и два вещественных числа.
Program primer1_4;
Var a1,a2:integer; a3,a4:real;
Begin
Writeln(‘введите 1-оечисло’);readln(a1);
Writeln(‘введите 2-оечисло’);readln(a2);
Writeln(‘введите 3-оечисло’);readln(a3);
Writeln(‘введите 4-оечисло’);readln(a4);
Writeln(‘РЕЗУЛЬТАТ’);
writeln(‘1-оечисло’,a1);
writeln(‘2-оечисло’,a2);
writeln(‘3-оечисло’,a3);
writeln(‘4-оечисло’,a4);
End.
Пример 1.5.Вычислить max(X+Y+Z,XYZ), вывести на экран значение большего вычисленного числа.
Program primer1_5;
Varx,y,z:integer;
Max:integer;
Begin
Writeln(‘введитеx,y,z’);
Readln(x,y,z);
If (x+y+z)> x*y*z then max:=x+y+z else max:=x*y*z;
Writeln(‘большое число=’,max);
End.
Пример 1.6. Вычислить значение функции f(x) в зависимости от значения аргумента х.
Program primer1_6;
Varx,y:real;
Begin
Writeln(‘введитех’);
Readln(x);
If x>0 then y:=x;
If x=0 then y:=0;
If x<0 then y:= -sqr(x);
Writeln(‘значение х=’,x);
Writeln(‘значение f(x)=’,y);
End.
Пример 1.7. Определить, попадает ли число Х в интервал от -2 до 13. Проверить два условия:
1. Х должно быть больше -2. Если это условие является истинной, то проверяем второе условие;
2. Х должно быть меньше 13. В том случае, когда оба условия выполняются, то данное значение Х удовлетворяет условию -2<Х <13
1 способ Program primer1_7; Var x:integer; Begin Writeln(‘введитеХ’); Readln(x); If x>-2 then Ifx<13 then writeln(‘x=’,x,’ попадаетвинтервал’) elsewriteln(‘не попадает в интервал’); end. | 2 способ Program primer1_7; Var x:integer; Begin Writeln(‘введитеХ’); Readln(x); If (x>-2) and (x<13) then writeln(‘x=’,x,’ попадаетвинтервал’) elsewriteln(‘не попадает в интервал’); end. |
Пример 1.8. Администрация одного магазина для привлечения большего числа клиентов ввела правило, согласно которому каждый покупатель, который приобрел товар на сумму более 1000 руб., имеет право на скидку в размере 3% со стоимости покупок.
Программа в случае, если стоимость покупки превышает указанную сумму, должна подсчитывать величину скидки и ту сумму, которую должен заплатить покупатель с учетом скидки. В случае же, если стоимость покупок меньше 100 руб., программа должна выдавать сообщение о том, что покупка должна быть оплачена полностью.
Program primer1_8;
Var sum,sumsk,skidka:real;
Begin
Writeln(‘введите сумму покупки’);
Readln(sum);
If sum>1000 then
Begin
skidka:=sum*0.03;
sumsk:=sum-skidka;
writeln(‘суммаскидкисоставляет=’,skidka);
writeln(‘покупатель должен заплатить с учетом скидки=’,sumsk);
end
else
writeln(‘покупатель оплачивает покупку полностью=’,sum);
end.