Удаление с экрана лишних данных.

ü Одного столбца – установите в него курсор и выполните команду Формат – Скрыть столбцы.

ü Нескольких столбцов, а также восстановления их отображения - выполните команду Формат – Отобразить столбцы.

Фиксация столбцов.

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.