extracted_text:
Муниципальное бюджетное вечернее (сменное)
общеобразовательное учреждение Центр образования
города Ставрополя  имени Героя России   Владислава
Духина

Серия  лабораторных  работ  по
программированию

ЛАБОРАТОРНЫЙ     ПРАКТИКУМ

Программирование на алгоритмическом языке PASCAL

АВТОР ПРОГРАММЫ:
учитель информатики
Краснокутская С.Н.
высшая категория

г. СТАВРОПОЛЬ
2018

СОДЕРЖАНИЕ

Лабораторная работа №1.
Основные понятия языка Pascal
Лабораторная работа №2.  Условные инструкции. Оператор IF.
Лабораторная
работа №3.  Оператор цикла. For -
оператор цикла с параметром.
Лабораторная
работа №4.  Оператор цикла. Инструкция while
Лабораторная
работа №5.  Оператор цикла. Инструкция repeat.
Лабораторная работа №6.  Инструкция
множественного выбора
Лабораторная
работа №7.  Символы и строки.
Лабораторная работа №8.  Одномерные массивы.
Лабораторная
работа №9.  Двухмерные массивы.
Лабораторная
работа №10. Множества.
Лабораторная
работа №11. Записи.
Лабораторная
работа №12. Процедуры
Лабораторная
работа №13. Функции.
Лабораторная
работа №14. Файлы.

Графический режим работы в языке  PASCAL.
Лабораторная
работа №15. Линия.
Лабораторная
работа №16. Заполненный   прямоугольник.
Лабораторная
работа №17. Окружность и дуга окружности.
Лабораторная
работа №18. Заполненный сектор окружности.

ЛИТЕРАТУРА

Лабораторная работа
№1
 Основные понятия языка Рascal

Структура программы:
Program < имя программы
>
Label < раздел меток
>
Const < раздел констант
>
Туре < раздел типов >
Var < раздел переменных
>
Procedure    и    function < раздел
подпрограмм >
Begin
< раздел инструкций >
end.
При написании программ
разделы  const, type, var, label, рrocedure,function могут отсутствовать.
К разделу инструкций
относятся:
1.  Оператор присваивания:
< имя переменной > : = < арифметическое выражение >
2.
Оператор ввода
     Read ( список ввода )
     Readln (список ввода)
3.
Оператор
вывода
     Write (список вывода)
     Writeln ( список вывода )
— отличается
от инструкций write только тем, что после вывода сообщений или
значений переменных курсор переводится в начало следующей строки, например :
Writeln ('На улице хорошая
погода');
Writeln ('Целое а=', а:3);
Write ('Вещественное b=', b:10:3);
После имени переменной
через двоеточие можно поместить формат переменной. Для переменной целого
типа формат задается в виде целого числа, определяющего ширину поля вывода (
кол - во позиций на экране ). Для переменной вещественного типа формат задается
двумя целыми числами, разделенными двоеточием. Первое число определяет ширину
поля вывода,
второе - количество цифр после десятичной точки. Текст, заключенный в апострофы -
сообщение которое будет выводиться на экран.
Типы данных :
Бывают простые и
структурированные типы данных. К простым типам данных относятся :
1.
Целые типы:   byte,
word, integer, longint, shortint.
2.      Логический (булев)
тип данных  boolean   представлен двумя значениями   true и  false
3.
Символьный
(литерный) тип  char.
4.
Интервальный
5.
Вещественные
типы: real, single, double, extended, сотр.
Некоторые стандартные
функции:
Arctan(x)  - арктангенс х,
выраженный в радианах;
Cos(x)       -  косинус х;
Sin(x)        - синус х;
Sqr(x)       -  квадрат х;
Sqrt(x)       - квадратный корень из х;
Ехр(х)       - экспонента (ех);
Ln(x)          -  натуральный
логарифм  х;
Frac(x)      -  дробная часть х;
Int(x)          -  выделяет целую
часть  х  без преобразования типа;
Random(x) - генерирует
случайное число   с     в пределах   0 < с < х;
Round(x)      - округляет значение х
до ближайшего целого числа;
Тrunс(х)      -  выделяет целую
часть вещественного числа и преобразует ее к типу longint..

Пример:
Найти сумму (sum) и произведение  (pr) трех  введенных с
клавиатуры целых чисел  a,b,c.

 Program
primer1;               { имя программы }
Uses crt;
{ организует
программе  доступ к процедурам   и функциям  библиотеки  Crt }
Var a, b,
c, sum, pr : integer;        { объявление переменных а, b, с, sum ,pr
,
                                                                                которые
 присутствуют в
программе }
    Begin               { начало программы
}
    clrscr;               {  очистка текущего
окна }
Write ('Введите З целых
числа - ');   { выводит на экран сообщение "Введите
3                   целых числа" }
        Readln (a,b,c);           { ввод с клавиатуры
исходных данных а, b, с }
        Sum:= 0;              { присваивает
переменной  sum  значение ноль }
       pr := 0; ;                { присваивает
переменной  pr  значение ноль}
        Sum :=a+b+c;               {  вычисляет сумму (
sum )   трех  чиcел   а, b, с }
        Pr :=a*b*c;
{ вычисляет   произведение ( pr )   трех чисел   а,
b, с }
Write ('Сумма = ', sum: 5, 'произведение =',pr: 5);   { выводит на
экран сообщение сумма =     и  дописывает  к ней результат сложения трех
чисел (отводит под число 5 позиций экрана), далее  произведение =      и
результат произведения в 5 позициях. }
Readln;
End.
( конец программы }

Задание для самостоятельной работы
1.     Написать программу
вычисления стоимости покупки, состоящей из нескольких тетрадей и  карандашей.
2.    Написать программу
вычисления площади прямоугольника по формуле S:= a*b.
3.  Написать программу вычисления стоимости
поездки на автомобили на дачу (туда и обратно).
Исходными данными являются: расстояние до дачи (км.), количество бензина, которое потребляет автомобиль на 100 км. пробега,
цена одного литра бензина.
4.     Написать программу
вычисления площади поверхности параллелепипеда по формуле
S = (a*b + a * h+ b * h) * 2,    a, b - длина и ширина, h - высота
параллелепипеда.
5.     Написать программу
вычисления объема цилиндра по формуле   V= 2*П*г2
*h.
6.   Написать
программу   вычисления   площади   поверхности   цилиндра   по   формуле      S = 2*Л*г2+2*П*г*п;

7.Составить программу:
а) вычисления значения функции    у = 7х- 3х +6    при  любом  значении    х ;
б) вычисления значения функции   х = 12а+ 7а  – 16  при любом значении  а.

8. Даны два числа. Найти среднее
арифметическое о среднее геометрическое их модулей.

9. Полторы кошки за полтора часа съедают
полторы мышки. Сколько мышек съедят  Х   кошек  за   Y   часов ?

10.  Окружность вписана в квадрат заданной
площади. Найти площадь квадрата, вписанного  в эту окружность. Во сколько раз
площадь вписанного квадрата меньше площади заданного ?

11.
Даны катеты прямоугольного треугольника. Найти его гипотенузу.

12.
Даны катеты прямоугольного
треугольника. Найти его периметр.

13.
Даны основание и высота
равнобедренной трапеции. Найти ее периметр.

14.
Составить программу вычисления
значения функций

Z =      и    q = 2.8 sin x
+ y   при любых значениях    x   и   y.
Лабораторная работа №
2
Условные инструкции. Оператор IF.

Формат записи:

If < условие >   then    < инструкция
1>    else    < инструкция 2 >

Здесь if, then, else - зарезервированные
слова (если, то, иначе);
<условие > - выражение
логического типа;
< инструкция1
>. . < инструкция 2 > - любые инструкции языка Паскаль.

Выполняется
инструкция  if следующим образом :
1.  Вычисляется значение <условие
>.
2.
Если условие истинно   (true), то выполняются
инструкции, следующие за словом   then  и находящиеся между
словами   begin   и   end
3.
Иначе
выполняются инструкции, следующие за словом   else.
Если действие должно
быть выполнено только при выполнении определенного условия и пропущено в случае его невыполнения, то
инструкция if записывается без инструкции else.
if <условие >   then    <инструкция1 >
Пример:
Даны три вещественные числа х, у, z. Найти максимальное из них.

Program
primer;
Var  х, у, z, max :
real;
Begin
Write ( 'Введите числа х,
у, z через пробел - ');
Readln (x, у, z);
If x>y   then
max:=x   else   max:=y;
If
z>max    then    max:=z;
Writeln ( 'максимальное из
них', max:4);
Readln;
End.

Задание для самостоятельной работы.
1. Написать программу, которая сравнивает
два введенных с клавиатуры числа. Программа  должна указать, какое число больше
или числа равны, вывести соответствующее сообщение.
2.    Написать программу
вычисления стоимости покупки с учетом скидки. Скидка в 3%  предоставляется, если
сумма покупки больше 500 руб., в 5%- если сумма больше 1000 руб.
3.    Написать программу
вычисления площади кольца по формуле   S = 2 * П * (r1 - r2).  Программа должна
проверять правильность исходных данных.
4.    Написать программу
решения квадратного уравнения. Программа должна проверять  правильность исходных данных , и в случае
если коэффициент при второй степени неизвестного
равен нулю, выводить соответствующее сообщение. Необходимые формулы :
d =b2-4*с,          x1 = (-b+)/ 2*a,         х2 =(-b - )/ 2*a,
5.
Написать
программу проверки знаний даты основания Санк - Петербурга .В случае  неправильного ответа
пользователя, программа должна выводить правильный ответ.
6. Написать программу проверки
знаний даты начала второй мировой войны. В случае неправильного ответа
пользователя, программа должна выводить правильный ответ
7. Написать
программу вычисления стоимости покупки с учетом скидки. Скидка в   10%
предоставляется, если сумма покупки больше 1000 рублей.
8. Написать программу вычисления
плошали кольца по формуле
S = 2 *П *(r1-r2). Программа должна проверять
правильность исходных данных.
9. Написать программу вычисления
стоимости разговора по телефону с учетом  20%  скидки, предоставляемой по
субботам и воскресеньям.
10. Написать программу, которая
проверяет , является ли  введенное пользователем целое число четным.
11. Написать программу, которая вычисляет
оптимальный вес пользователя, сравнивает его с реальным и выдает  рекомендации о
необходимости поправиться или похудеть. Оптимальный вес вычисляется по
формуле:
рост (см) – 100.
12.  Даны три
вещественные числа х, y, z . Вычислить значение
выражений
x + y + z      и    xyz     и   вывести
максимальное из них :
х + y + z   >   x* у * z       или        х + y + z   <   x* у * z .

13. Составить программу для
определения значения функции у. Предусмотреть вывод сообщения о том, по какой
ветви происходило вычисление значения аргумента функции   х.

а)

б)
Лабораторная работа № 3
 Оператор цикла.
 For - оператор цикла с параметром.

Инструкция   For используется, когда
число повторений заранее известно. Формат записи :

For <счетчик> :=
<начальное значение > to <конечное значение> do
Begin
{тело цикла}
End;

Здесь <счетчик > - имя
переменной , определяющей число повторений инструкций тела цикла;
 <начальное значение>, <конечное значение> - выражения, определяющие начальное и конечное
значения переменной счетчика циклов .
В
инструкции For после каждого выполнения инструкции тела
циклов автоматически увеличивается счетчик
циклов. Если вместо ключевого слова to написать downto , то счетчик будет не увеличиваться, а
уменьшаться.

Пример:
Вычислить   s = 1 + 2+3 +…+n.

Program
primer;
uses crt;
var n, s,
i: integer;
begin
clrscr;
write('введите значение n-');
readln(n);
S:=0;
for i :=1   to  n    do
S:=s + i;
writeln('сумма =',s);
readln;
 end.

Если между операторными скобками   begin   и   end
находится только одна
инструкция (как в нашем примере ), то
слова   begin   и   end  можно не писать.
Задание для самостоятельной работы.
1.  При   а = 2.7
табулировать функцию   у = 6 - За sin x . Для переменной  х
последовательно  ввести значения   1, 2, 4, 7,11,17.

2.
Какое
число отображает слово «КОТ».   Если «КТО» + «КОТ» = «ТОК».
3.
Необходимо решить следующий числовой   ребус -
«ШАЛАШ» + «ШАЛАШ» =
«КОКОИОКОКО».

4.   *312** :  *321 = ***.

5.
*1*
*    3*2    = *312**.

6.
Среди
чисел от     1 < n < 100     найти все пары чисел, для
которых   их сумма равна их  произведению.

7.
При
в = 3   табулировать функцию    у = 12.5  .
Значение   х   изменяется от   1   до  5  с  шагом   0.5 .

8.   При
а = 1.5   и   в =-3   табулировать функцию     у=       Значение х  изменяется от   1  до  5   с шагом   0.5.
( Знаменатель не  должен     быть равен 0 и подкоренное выражение
не должно быть отрицательным ).

9.  Написать
программу,  которая вычисляет сумму первых    n   членов ряда
1,3,5,7... Количество суммируемых членов ряда задается во время работы программы.

10.  Написать программу,
которая вычисляет сумму членов ряда
      1 + 1/2 +
1/3 + ¼ …    Количество суммируемых членов ряда задается
во                         время работы программы.

11.   Написать   программу,
которая  вычисляет  среднее   арифметическое   последовательности  дробных чисел, вводимых с клавиатуры. После того,
как будет введено последнее число, программа
должна вывести минимальное и максимальное число последовательности.

12.  Составить программу для
определения таблицы значений функции у в произвольном диапазоне [a,b] изменения аргумента х с произвольным шагом h. Значения a, b, h
вводятся с клавиатуры. Таблица должна содержать следующие столбцы: порядковый
номер, значение аргумента x,
значение функции, сообщение о возрастании или убывании функции, разность двух
соседних значений функции. Определить максимальное и минимальное значения
функции.
1.
   a=-0,5;
b=2,5; h=0,2.
2.
   a=-0,9;
b=2,7; h=0,3.
Лабораторная
работа № 4
Оператор цикла. Инструкция while
Инструкция While используется в том
случае, когда некоторую последовательность действий надо выполнять несколько раз , причем необходимое число
повторений заранее неизвестно и может быть
определено только во время работы программы , то есть в процессе
вычислений. Формат записи данной инструкции таков:
while
<yсловие> do
begin
{последовательность инструкций}
end;
Здесь    <условие>
- выражение логического типа , определяющее условие выполнения  цикла.
Инструкция while выполняется следующим
образом:
1.  Вычисляется значение
выражения <условие>
2.
Проверяется истинность
условия:
·
если
условие является ложным   (false) , то инструкции
расположенные между словами begin   и   end, не выполняется и
выполнение инструкций   while   завершается ;
·
если
условие является истинным   (true), выполняются
инструкции цикла между словами begin   и   end   и после этого вновь
переходит к шагу 1.
Пример:
Найти сумму вводимых
с клавиатуры положительных чисел. Сигналом к вычислению результатов является ввод нуля,
символизирующего конец последовательности.
Program
primer;
Uses crt;
Var a, s : real;
Begin
Clrscr;
S:=0
Read(a);
    While a<>0
do
      Begin
                     If a>0
then s := s+a ;

Read(a);
      End;
Writeln('Cyммa=',
s:3:2);
Readnl;
Readln;
End.
Лабораторная работа №
5
Оператор цикла.
Инструкция repeat.
Инструкция repeat , используется в
программе в том случае, когда необходимо организовать цикл, причем число повторений
неизвестно и может быть определено во время работы программы, то есть определяется ходом вычислений
repeat
{инструкции }
until < условие >
Здесь   < условие >   - выражение логического типа,
определяющее условие завершения  цикла.

Инструкция   repeat   выполняется следующим
образом:
1.  Выполняются
инструкции цикла, находящиеся между словами   repeat   и until.
2.
Вычисляется
значение выражения   <условие>:
   -  если условие
ложно (false),  выполняется переход к
шагу 1 ;
   -  если условие
истинно (true), выполнение цикла
прекращается.
Пример ;
Даны два натуральные числа. Определить их
наибольший общий делитель.

program
primer;
uses crt;
var
n,m,x:integer;
begin
clrscr;

repeat
writeln('введите натуральные числа m и n');
readln(n,m);
until
(n>0) and (m>0);
     while
n>0 do
     begin
  x:= m
mod n;
   m: = n
;
    n : =
x ;

end;
writeln('НОД = ' , m);

readln;
end.

Задание для самостоятельной работы.
1.     Подсчитать сумму
всех нечетных чисел от   101   до  301 .
2.     Написать программу,
которая определяет максимальное число из введенной    с  клавиатуры
последовательности положительных чисел ( длина последовательности не  ограничена. Для
завершения ввода введите ноль ).

3.
Вычислить
степень числа  3   в диапазоне от 1 до 300.

4.     В  бак с  помощью
мерных сосудов различного  объема нужно  залить столько  жидкости, чтобы бак не
переполнился, но был наполнен как можно полнее. Значения  емкости бака, емкости
сосуда, количества вылитых в бак мерных сосудов вводятся с  клавиатуры. Если объем
жидкости превышает объем бака, выдать соответствующее  сообщение.

5.
 Написать
программу, которая «задумывает» число в диапазоне
от   1  до 10
и предлагает пользователю угадать число за   5  попыток.

6.
Дано действительное число а.
Найти среди чисел 1, 1+1/2, 1+1/2+1/3+… первое, большее а.
7.
Дана последовательность . Среди первых ста членов последовательности
найти минимальный номер и значение того члена последовательности, который
является целым числом.

8.
Определить количество слагаемых в
сумме вида S=2+4+6+… при условии, что S≤2m, где m – целое
число, вводимое с клавиатуры.

Лабораторная  работа № 6
Инструкция множественного выбора

Условий, по которым организуются ветвления
в программе, может быть не два, а больше.
Для множественного выбора служит
инструкция   case.
Case  a of
1,5,7..10:
c:=b+a;
2..4,20: с=b-а;
20..100: с:=b/а
else c:=b*a
end;

Выполняется
инструкция   case  следующим образом:
1.  Вычисляется значение
выражения   (а), следующего за словом    case;
2.
Полученные значения
последовательно сравниваются с константами из списков констант  перед двоеточием.

После этого возможен один из следующих
вариантов действий:
·
если   значение   выражения   совпадает   с   константой   из
списка,   то   выполняется  соответствующая   этому    списку
последовательность    инструкций    и    выполнение  инструкций   case  завершается;
·
если
значение выражения не совпадает ни с одной константой из списков, то
выполняется  последовательность инструкций, следующая за словом  else,  и выполнение
инструкции  case  завершается;
·
если блока   else  в инструкции   case   нет, то
ее выполнение завершается.
Пример:
Составить программу,
которая позволяет ввести два числа в первой строке и один из знаков +, -, *, /
во второй строке, а на экран выводит результат соответствующего арифметического
действия.

Program
primer;
uses crt;
var   x, у, z : real;
operation: char; begin
writeln ('Введите числа  х и
у');
readln
(x,y);
writeln ('Введите символ
операций');
readln
(operation);
case
operation   of
‘+': z:=x+y;
' - '
:z:=x-y;
‘ * ’ :
z:=x*y;
' / ’ :
z:=x/y
else  writeln('Taк не
договаривались')
end;
writeln(‘Результат = ‘ , z
);
readln;
end.

После инструкций, расположенных перед
ключевым словом   else,
символ точки с
запятой не  ставиться.

Задание для самостоятельной работы.

1.  Написать программу для вывода дней недели.

2.
Дано
натуральное число n < 101, определяющее возраст человека (в годах).
Дать для этого числа
подпись   «год», «года»,   или   «.лет». Например, 1 год,
23 года, 45 лет   и  т.п.

3.
Написать
программу    вычисляющую    стоимость    междугороднего    телефонного  разговора (цена одной    минуты определяется
расстоянием до города, в котором  находится абонент). Исходными данными для
программы являются код города и  продолжительность разговора.

4.
Написать
программу, которая анализирует данные о возрасте и относит человека к  одной     из четырех
групп  :  дошкольник, ученик, работник, пенсионер. Возраст вводится с клавиатуры.

5.
Составить
программу, определяющую результат гадания на ромашке («любит – не  любит»), взяв за
исходные данные количество лепестков.

Лабораторная  работа
№ 7
Символы и строки.

Символом   является любой одиночный знак, заключенный
в апострофы    (тип char).
Над значениями типа   char   возможны операции
сравнения   =, <>, >, >=, <, <=,   а также  часто применяются следующие функции:

Ord(ch)    - численное
значение (код) символа
Pred(ch)   -
предыдущее значение, например pred (' b ')='a'
Succ(ch) -
последующее значение, например  succ('a')=' b '
Последовательность символов составляет
строку.
Строка   -   это   ограниченная   апострофами   последовательность
любых   символов.   Для  обработки строк
используется тип string.
< идентификатор
> : string [ п ];
Здесь п -
длина строки, не более 255 символов. К любому символу в
строке можно  обратиться так
же, как к элементу одномерного массива.
Для обработки
строковых данных существует стандартные функции и процедуры:
1.  delete (st,k,n)
-   удаляет п символов из строки   st, начиная с символа   к;
2.
insert (st1,st2,k) - вставляет
строку  st1   в
строку  st2  с к-го
символа;
3.   copy(st,k,n)
- копирует из строки   st   с   к-го символа   п
символов;
4.
concat (st1,st2,...
st n)  - выполняет
сцепление строк в том порядке в котором они  указаны;
5.
length (st)      -   вычисляет длину
строки st;
6.
pos (st1,st2 )
-  отыскивает строку  st1 в
строке st2 (результат
- это номер позиции с которой начинается st1);
7.
upcase ( ch )   -
преобразует строчную латинскую букву в прописную;
8.
str (n,st) - преобразует
число   n   в строковую переменную   st;
9.
val (st,x,code) -
преобразовывает строку   st  в
двоичное число  x, где
code  представляет собой код
неправильного символа;
Пример;

Из данной строки
получить новую строку, удалив все звёздочки (*) и повторив все остальные символы дважды, полученную
строку распечатать.
program
primer;
uses crt;
var
s,h:string;
      i,k,j:
integer;
begin
clrscr;
writeln('введите строку -');
readln(s);
j:=1;
for i:=l
to length (s) do
        if
s[i] <>'*' then

begin

h[ j ]=s[ i];

h[j+1]=s[ i];

j=j+2;
     end;
    for
i:=l to 2*length (s) do  write(h[i]);
readln;
end.

Задание для
самостоятельной работы;
1.  Дана строка, содержащая 10
символов, подсчитать сколько раз в ней встречается буква а.
2.
Написать
программу, которая выводит на экран сообщение в телеграфном» стиле, т.е. буквы сообщения
должны появляться по одной , причем с некоторой задержкой.
3.
Написать программу,
которая выдает код символа, введенного пользователем. Программа должна завершать работу после ввода, например
точки.
4.
Дана
строка символов. Заменить в ней все восклицательные знаки на точки.
5.
Дана
строка символов. Выделить подстроку между первой и второй точкой.
6.     Дана строка символов
до точки. Группа символов в ней между группами пробелов считаются словами.
Подсчитать, сколько слов содержит данная строка.
7. Ввести с
клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши
"Ввод". Программа должна определить длину введенной строки L, и, если
длина L кратна 2,  то удаляются все числа, которые делятся на 2.
8. Выяснить,
имеются ли среди символов S1...Sn некоторой строки все буквы, входящие в слово
DOS.

Лабораторная работа по теме № 8
Одномерные массивы.

 Массив - это структура данных,
которую можно рассматривать как набор переменных одинакового типа, имеющих
общее имя. Массив в программах должен быть объявлен.

<Имя> : array  [< н. индекс >..< в. индекс> ]  of <mun>

Где
< имя > - имя
переменной - массива;
Array   -   зарезервированное слово, обозначающее, что переменная
является массивом;
<
н. индекс >
и   < в.
индекс > - соответственно, нижний и верхний индексы, которыми
являются целые константы;
<
Тип > - тип элементов массива.
Для ввода больших
массивов удобно использовать функцию - генератор случайных чисел -random(x). Случайные целые числа,
принадлежащие отрезку
[a, b ] , вычисляются по формуле а
+ random ( b - а + 1). Например, если необходимо
случайное число на отрезке [10, 99], функцию можно записать
otr := 10 + random ( 90 ); Эта функция обычно
используется совместно с процедурой randomize, позволяющей при
последовательных запусках программы получать разные случайные
последовательности.

Пример;

Дан массив из пяти целых чисел. Отсортировать его по
возрастанию методом прямого обмена ( «пузырьковый» метод ).

Program
primer;
Uses crt;
var   a :
array [1..5] of integer;
i, j , n, с : integer;
begin
n := 5;
randomize;
    for i := 1 to  n   do
         begin
   afij := random(15)-3;
   write ( a[i]:4 );
  end;
 writeln;
for  i:=le
to n-1 do
     for
j:=l to n-1 do
    if a [  j]> a[j+1] then
            begin

c:=a[j];
            a[j]:=a[j+1];

a[j+1]:=c;
end;
for i:=l to n do
write ( a[ i]:4);
readln;
end.
Задание для
самостоятельной работы.

1.     Найдите сумму всех элементов массива  А,
больших заданного числа.
2.     В одномерном массиве целых чисел удалить
К - элемент массива.
3.     Заполнить массив, применив для его
заполнения следующие значения :
а[ i ] = x*i*i / ( i + х ).
4.     В одномерном массиве целых чисел удалить
элемент, равный заданному числу, если он есть. Если таких элементов несколько,
то удалить последний из найденных.
5.       Дан массив чисел. Найти значение
максимального элемента. Если таких элементов несколько, то определить сколько
их.
6.       Дан массив чисел.. Найти, сколько в нем
пар одинаковых соседних элементов.
7.       Известны данные о среднемесячной
температуре за год. Определить, какая была самая  высокая температура летом и
самая низкая зимой.
8.
Даны три одномерных
числовых массива   А, В, С.  Сформировать массив  К  такой же
длины, элементы которого вычисляются по формуле
 K[i] =А[i] + В[i] / (1 + <С [i] ).
9.
В массиве хранится
сведения о количестве осадков выпавших за каждый день месяца.
Определить:
а). общее количество осадков за месяц;
б). общее количество осадков, выпавших за
каждую декаду месяца;
д). среднедневное количество осадков в
этом месяце;
г).   в какой период выпало больше
осадков: в первую половину месяца или во вторую;
е).   в какую декаду месяца выпало больше
всего осадков.
10. Дан массив вещественных чисел, размер
которого N.
Подсчитать, сколько в нем отрицательных,
положительных и нулевых элементов.
Лабораторная работа № 9
Двухмерные массивы.
Формат записи:

<имя>:аrrау[<нижний индекс 1> . . <верхний
индекс 1>, <нижний индекс 2> . . <верхний индекс 2> ] of <mun>;

Для того чтобы использовать элемент
массива, надо указать имя массива и индексы элемента. Первый индекс
соответствует номеру строки, второй - номеру столбца.
For
I := 1
to  n   do
For
j := 1
to   n   do

A[i,j]:= random (100);

Пример:
Дана матрица   А5,5   ,
содержащая случайные  элементы.  Найти сумму  всех элементов  матрицы.

program primer;
uses crt;
const n=5;
var
a:array[1..n,1..n] of integer;

i,j,s:integer;

begin
  randomize;     s:=0;
  for i:=l to n do
  begin
 for j:=l to n do
 begin
        a[i,j]:=random(20);
        write(a[i,j]:4);
        s:=s+a[i,j];
        end;
  writeln;
 end;
writeln('сумма элементов матрицы =',s:10);
readln;
end.

Задания для
самостоятельной работы.

1)    Дана матрица  А 5,5 ,
состоящая из случайных чисел. Составить одномерный массив   S, в котором будут содержаться значения суммы элементов
каждого столбца матрицы.

2)    Вывести на экран таблицу Пифагора.

3)    Найти сумму положительных элементов,
указанного столбца матрицы целых чисел.

4)    Заменить все элементы двухмерного массива
целых чисел, которые меньше среднего арифметического первого столбца,
квадратами этих элементов.

5)    Найти  сумму
элементов  двухмерного  массива вещественных  чисел
С [  15, 15],   расположенных на главной диагонали.

6)    Имеется двухмерный массив целых чисел.
Создать из него два одномерных
массива, в одном из которых расположены положительные и нулевые элементы, а в
другом - отрицательные элементы.

7)    В двухмерном массиве вещественных чисел
заменить все элементы, меньшие суммы элементов первой строки, этой суммой.

8)    Отсортировать строки массива целых чисел
по возрастанию.

9)    Дан двухмерный массив. Вывести на экран:
•
все элементы пятой
строки массива;
•
все элементы третьей
строки массива, начиная с последнего элемента этой строки;
•
все элементы  S-го столбца массива;
•
все элементы второго
столбца массива;
•   все элементы    n–ой  строки массива.

10) Дана матрица     N х М
состоящая из натуральных чисел. Найти в ней наименьший  элемент и определить
его местоположение.

Лабораторная работа № 10
Множества.

Множество - это совокупность
связанных данных, состоящая из элементов одного типа, который называется базовым.
Описание множественного типа:
S = set of
a
Здесь  set  и  of- зарезервированные
слова, имеющие смысл  множество   и   из;
S - имя объявляемого множественного типа;
А - базовый тип
множества;
Type  s= set of 1..3
                      var x := s
Переменная   x   принадлежащая
множественному типу   s   может принимать значения:
[], [1], [2], [1,2],
[3], [1,3], [2,3], [1,2,3]   (всего 23 значений)
Константы
множественного типа записываются с помощью квадратных скобок [ ] и списка элементов.

Процедура Include (s, a ) - добавляет в множество
какой-нибудь элемент, где S - множество, а - добавляемый элемент.

Функция  Exclude (s, а)   исключает элемент а
из множества   s.

Для множеств
используется следующие операторы:

+
- объединение множеств;
*
- пересечение множеств;

-      - разность множеств;
=
- проверка равенства множеств;
<>
- проверка неравенства множеств;
<=   - проверка того, является ли левое
множество подмножеством правого;
=>   - проверка того, является ли  правое множество
подмножеством левого;
in
- проверка на принадлежность элемента данному множеству.
Результатом операции
объединения, пересечения и разности является новое множество. Тип результата остальных
операций - логический.
ПРИМЕР:
Дана строка,
содержащая 20 символов. Подсчитать количество цифр, входящую в данную строку.

Program
primerl;
uses crt;
var s :
string[20];
N : set
of char;
I, k:
integer;
Begin
clrscr;
N: =['0’..'9'];
Write(' введите слово (
не более 20 символов ) -');
Read(s);
k:=0;
for i: =1
to length(s) do     if s [ i ] in   n   then   inc ( k );
Writeln(' цифры в строке
встречаются ', k,' раз(а)');
Readln;
Readln;
End.

Задание для
самостоятельной работы :

1. Дана строка символов. Удалить из нее
первый встречающийся знак препинания.

2.   Дана строка символов.
Удалить из нее все знаки препинания.

3.   Задано множество
целых положительных чисел от 1 до n.  Создать из
элементов этого множества такие подмножества, элементы которых удовлетворяют следующим
условиям:
·
не
превышают 10;
·
кратны 8;
·
не
кратны 3 и 6.

4. Даны две символьные строки, содержащие только строчные
латинские буквы. Построить строку S3
, в которую войдут только общие символы   S1  и  S2  в алфавитном
порядке и без повторений.

Лабораторная работа №
11
Записи.

Запись - это структура данных,
состоящая из отдельных компонентов разного типа, называемых полями. Тип записи должен
быть объявлен в разделе Туре

<
имя >  =  record
<
поле 1 > : < тип 1 >
<
поле 2 > : < тип 2 >
       . . .
поле к > : < тип
к >
end;
Здесь < имя >
- имя типа записи;
record - слово языка Паскаль
означающее, что далее следует описание полей записи;
< поле >   и   < тип .>
- имя и тип   1-го   поля записи
type person = record
 fam: string
[20];
name:
string [15];
day:
byte;
address:
string [40];
end;

Чтобы
использовать в программе поле переменной-записи, указывают имя переменной и
имя поля, отделяя имя поля от имени переменной точкой,  например person .fam Инструкция      with    позволяет
использовать в тексте программы имена полей без указания имени
переменной - записи:

             with <имя> do

begin
       {инструкции
программы}
 end;

Здесь   with - слово, означающее, что
далее до слова   end   при обращении к полям переменной - записи   <имя>
можно не указывать имя записи.

Пример:

Багаж  пассажира
характеризуется  количеством   и   общим   весом   вещей.   Имеется информация   о   багаже   нескольких
пассажиров   -   соответствующие   пары   чисел. Подсчитать общее количество
вещей и выяснить, имеется ли пассажир, багаж которого состоит из одной вещи
весом не менее 30 кг.
program
zap;
   uses  crt;
const res:
string[3] = 'не';
total:
byte = 0;
type info = record
       q: byte;
      w: real
      end;
   var
bagage: info;
   i, n:
byte;
begin
clrscr;
write('введите число
пассажиров ->'); readln(n);
writeIn('введите  пары  чисел   (количество  и  вес):');

for  i:=1   to  n  do

begin

readln(bagage.q,bagage.w);

inc(total,bagage.q);
       if
(bagage.q=l)and(bagage.w>=30)    then  res:='' ;
end;
writeln('суммарное
количество  вещей:',total); writeln('искомый  пассажир,res,'имеется.');
readln;
end.
Задание для
самостоятельной работы.
1.  Описать переменную   служащий, состоящую
из имени, фамилии, отчества служащего, даты
рождения, образования, домашнего адреса, профессии. Используя массив таких
переменных, определить имена людей с высшим образованием. Выдать данные о
служащем, который имеет ту или иную профессию.
2.
Описать
переменную  экзаменационная ведомость   (предмет, номер группы,
номер зачетной книжки, фамилия, имя, отчество студента, его оценки по итогам
текущей сессии). Используя массив таких переменных, определить отличников,
хорошистов, троечников и двоечников.
3.
Дан массив записей,
содержащих   дату ( число, месяц, год )   и
 время ( час, минута, секунда). Упорядочить этот
массив в порядке возрастания», то есть от более ранних значений к более
поздним .
4.
Дан
массив записей, содержащий сведения о работниках магазина, напечатать:
а) список продавцов;
б) среднюю
заработную плату по предприятию.
5.  В
классе 20 учеников. По известным фамилиям и оценкам по 5 предметам найти среднюю
оценку каждого ученика и вывести на печать фамилию и средний балл лучшего
ученика
Лабораторная
работа  № 13
Процедуры

Процедуры - независимая
именованная часть программы, которую можно вызвать по имени для   выполнения   определенных
действий.   Структура   процедуры   повторяет   структуру программы. Упоминание
имени процедуры в тексте программы приводит к активизации процедуры и называется ее вызовом.

Заголовок процедуры:
Procedure    < имя >   [(< список >)]; Здесь   < имя > -   имя
процедуры;
< список > -   список формальных
параметров ( не обязательно )

Пример
Банк выплачивает  Р
%   годовых.   В  какую  сумму  превратится вклад величиной   х 0 , положенный
на    n    лет?

program
primer;
uses crt;
var x0 : real;
        n : integer;
procedure
vichislenija;
const p=8
;
var xn:
xeal;
begin
clrscr;
xn ;=xo*exp
(n*ln (1+0.01 *p) ) ;
      write (‘ Сумма =   ‘  ,xn:6:2) ;
end;
begin
write ( 'Введите сумму
вклада.   - ') ;
readln
(xo) ;
wri te( 'Введите срок
вклада   -');
readln
(n);
vichislenija;
readln;
end.

Задание для самостоятельной работы.

1.
Заполнить линейный
массив, элементы которого вычисляются по формуле   a[j] := 2*i / (i+1).
Вычисление по формуле оформить процедурой.

2.
Составить программу  с   процедурой   без  параметров  для вычисления
полярных  координат     r=     и      f = arctg х/у       по прямоугольным
координатам    х   и   у    , (x>0) .

3.
Написать процедуру ввода и вывода элементов матрицы..
4.
Дана строка символов. Написать процедуру удаления из строки всех
одинаковых рядом стоящих символов.
5.
Составить программу для вычисления   z =, используя процедуру  Sh x =  .
6.
Ввести массив NxN (не больше 50) целых чисел и в
функции посчитать сумму его    положительных значений.

7.
Найти сумму цифр введенного с
клавиатуры целого числа. Для подсчета суммы использовать функцию

8.
С помощью функции,
определяющей большее из двух чисел, найти большее из четырех чисел.

9.
Найти все простые числа из
промежутка от  1  до  n.  В данном случае воспользуемся так называемой   косвенной
рекурсией. Эта ситуация, когда первая процедура вызывает вторую, вторая
процедура вызывает третью, а третья вновь вызывает первую.

10.
 Даны основания и высоты двух
равнобедренных трапеций. Найти сумму их периметров, определив функцию для
расчета периметра равнобедренной трапеции по ее основаниям и высоте.

11.
Даны шесть различных чисел.
Найти максимальное из них, определив функцию, находящую максимум из двух
различных чисел.

12.
 Даны два натуральных числа.
Выяснить, в каком из них сумма цифр больше, определив функцию для расчета суммы
цифр натурального числа.

Лабораторная работа № 12
Функции.
Функция аналогична процедуре, но
имеются два отличия : во-первых,   функция передает в точку вызова скалярное (одиночное) значение, во- вторых, имя функции
может входить в выражение, как операнд.

Описание функции состоит из заголовка и
тела. Заголовок функции:
Function <имя> [
(списох ) ] : <тип> Здесь <имя> - имя функции
          <список> - список формальных параметров,
 <тип> - тип возвращаемого
функцией результата.
 Список формальных параметров не
обязателен.
Пример :
Написать функцию, которая из двух целых
чисел выбирает наименьшее число.

Program primer;
Uses crt;
Var  i, j :
integer;
Functiоп   min (i,
j; integer) : integer;
begin
if  i<j
then   min : =i   else min : =j
end; Begin
Writeln ( 'введите два целых
числа ');
Readln
(i,j);
Writeln (
'min = ', min (i, j) );
Readln;
End.

Задание для
самостоятельной работы
1.       Написать функцию,
которая сравнивает  два целых числа и возвращает результат сравнения в виде одного из знаков : ’>’, ’<’ или
‘=’ .
2.       Написать функцию для
решения квадратного уравнения . Параметрами функции должны быть
коэффициенты и корни уравнения. Значение функции должно использоваться для передачи в вызывающую
ее программу информации, о наличии корней
уравнения : 2 - два разных корня; 1- корни одинаковые, 0 - уравнение не имеет решение

Лабораторная работа № 14
Файлы.

Файл - это именованная
область внешней памяти компьютера, являющаяся источником или  приемником
информации.

Файловый тип или
файловую переменную можно задать одним из трех способов:
1.
<имя>  = file
of <mun>;
2.
<имя>   =
<text>;
3.
<имя>
=   <file>;
Здесь <имя>
- имя переменной файлового типа;
File of   - зарезервированные
слова,
<text>   - имя текстового
файла,
<file>    -  имя любого файла;
<тип>  - любой тип языка
Паскаль.

Существуют следующие
стандартные функции и процедуры для работы с файлами.
1.  Assign(<ф.n.>,<u.ф.>) - связывает файловую
переменную (ф.п.) с конкретным файлом
(и.ф.);
2.
Reset(<ф.n.>) - открытие
файла для чтения;
3.
Rewrite(<ф.n.> )-открытие
файла для записи  (если файл ранее  содержал данные , то они
уничтожаются);
4.
Append(<ф.n.>) - открытие
файла для добавления;
5.
Close
(<ф.п. >) - закрытие файла с
сохранением в нем данных;
6.
Rename (<ф.п.>,<новое имя>) - переименование файла;
7.
Erase
(<ф. п. >) -уничтожение файла;
8.
Eof(<ф.n.>) : boolean- логическая
функция, определяющая конец файла.
Текстовые файлы.
Процедуры и функции
для работы с текстовыми файлами:
1.
Read(<ф.n.>,<cnucок
евода>) - чтение из файла;
2.
Readln(<ф.n.>,<cnucок
евода>) - чтение строки из файла;
3.
Write
(<ф.п.>,<список вывода>) -
запись в файл;
4.
Writeln((<ф.п.>,<список
вывода>)  -запись
строки в файл;
5.
Ео1п(<ф.п.>) – конец
строки файла;
6.
Seekoln(<ф.п.>) – конец строки файла,
пропускает в конце строки символы пробела и табуляции;
7.
Seekof(<ф.п.>) -конец
файла.
Пример.
Даны символьные
файлы    f    и    g. Записать в файл   h   сначала компоненты
файла   f ,   затем компоненты файла   g   с сохранением порядка
их следования.

program  fail;
uses  crt;
var  f,g,h : file of char;

       ch : char;
begin
assign(f,'ch.txt’);  reset(f);
assign(g,'ch2.txt'); reset(g);
assign(h,’ chl  2.txt');
rewrite(h);
        while not eof(f)   do
        begin

read(f,ch);

write(h,ch)
        end;
while not eof(g) do
begin
        read(g,ch);
        write(h,ch)
        end;
       close(f) ;
close(g); close(h);
end.

Задания для
самостоятельной работы.
1. Считать файл, удвоив каждый его элемент через пробел.
2.    Считать текстовый
файл, удвоив все буквы   «а».
3.    Прочитать текстовый файл и определить ,
сколько в нем встречается буква «а».
4.
Написать
программу,   которая   на  сменном   диске   компьютера  (А:)
создает      файл   primer.txt    и
записывает в него 5 введенных пользователем целых чисел.
5.
Напишите   программу,
которая  дописывает   в   файл     a:\primer.txt     5   введенных пользователем целых чисел. Убедитесь при помощи редактора
текста, что в файле находятся 10 чисел.
6.    Написать программу,
которая выводит на экран содержимое файла
 a : \ primer.txt    .
7.    Написать программу,
которая вычисляет  среднее арифметическое чисел, находящихся в  файле    a : \ primer.txt    .
8.    Написать программу,
которая позволяет просматривать текстовые файлы (выводит на экран содержимое
файла). Имя просматриваемого файла должно вводится во время работы программы.
Графический режим работы в языке  PASCAL.
Лабораторная
работа № 15

Линия.
Процедура LiпеТо очень удобна для вычерчивания
различных многоугольников или ломанных линий. Она отображает прямую линию от текущей позиции указателя
до точки с заданными координатами.
Процедура    LineTo (x, у)
Где (х,у) -
координаты конца линии (тип Integer).
Линия отображается с использованием стиля и толщины,
определенных процедурой
Setlinestyle (код стиля, шаблон, толщина),
используется
цвет, заданный с помощью процедуры Setcolor (цвет) .

Пример ; Программа вывода на экран произвольного многоугольника

program risunok;

(200,100)

(100,100)

uses
crt,   graph;
var
driver, mode: integer;

begin
clrscr;

(250,150)

driver:=detect;
initgraph(driver,mode,'
') ;
setcolor(4)
;
setlinestyle(2,5,6)
;
moveto(100,100)
;
lineto(200,100) ;
lineto(250,150)
;
lineto(150,250) ;
lineto(50,150)
;
lineto(100,100) ;
readln;
end.
Процедура Moveto (100,100) перемещает указатель текущей позиции в точку с координатами (100,100). Затем
последовательно 5 раз вызывается процедура Lineto, которая каждый раз отображает
очередную сторону нашего многоугольника. Чтобы многоугольник получился замкнутым при вычерчивании
последней стороны многоугольника
процедуре Lineto должны быть переданы те же координаты, которые вначале были сообщены процедуре Moveto.

Задание для самостоятельной
работы.
Требуется нарисовать домик.

Лабораторная работа №
16
Заполненный
прямоугольник.
Процедура  Ваr  позволяет
отображать на экране заполненные (но не обведенные) прямоугольники.
Подобные прямоугольники могут потребоваться при создании на экране разного рода столбчатых диаграмм.
Процедура     Bar (x1,y1,x2,y2 )
Где (x1,y1) и (х2,у2 )
- координаты соответственно верхнего левого и нижнего правого углов прямоугольника.
X1,y1,x2,y2 –числа типа   Integer;
Для заполнения используются шаблон и цвет
определенный с помощью процедур:
Setcolor (цвет)
Setfillstyle (заполнение, цвет)

Пример :
Программа вывода на экран прямоугольника
красного цвета с текстом   1998   выглядит следующим образом.
program
diagrama;
uses
crt,graph;
var
driver, mode: integer;
begin
clrscr;
driver:=detect;
initgraph(driver,mode,’
‘  );
setcolor(4);
setfillstyle(1,4);
bar(100,400,150,500);
settextstyle(0,0,3);
outtextxy(110,430,'
1998');
readln;
end.
Где outtextxy (110,430,'1998') - процедура вывода
строки текста  - 1998
(110, 430) - координаты позиции с которой
начинается отображение строки.
Задание для самостоятельной работы.
Требуется построить столбчатую диаграмму.
Построение прямоугольника с текстом "1998" рассмотрен в
предыдущем примере. Остальные строятся аналогично, с учетом размера экрана монитора

Лабораторная работа №
17
Окружность и дуга
окружности.
Процедура    Circle (x, у, радиус)   -   вычерчивает окружность.
Где (х, у )
 - координаты центра окружности ; х, у - числа типа   Integer;
Окружность вычерчивается текущим цветом,
установленным с помощью
процедуры   Setcolor (цвет)
При этом используется стиль линии,
определенный процедурой
Setlinestyle (тип линии, шаблон линии, толщина
линии)
Для отображения на экране части окружности
( дуги ) необходимо воспользоваться процедурой

90

Процедура      Arc ( х, у,
<начальный угол >, < конечный угол>, радиус)

Пример ; Программа выводит на экран следующий
рисунок .
program
risunok;
uses
crt,graph;

var
driver,mode : integer;
begin
clrscr;
driver:=detect;
initgraph(driver,mode,’’);
setcolor(4);
setlinestyle(0,0,3);
circle(300,240,60);
circle(280,220,10);
circle(320,220,10);
arc(300,300,45,135,40);
readln;
end.
Задание для самостоятельной работы.
Требуется построить следующие два рисунка
:
1.  Для первого рисунка прямую линию можно
нарисовать с помощью процедур MoveTo( x, у ) и   LineTo( x1, y1).

2.

Для второго рисунка
координаты центра дуги совпадают с координатами центра окружности  большего радиуса.

Лабораторная
работа № 18
Заполненный сектор
окружности.
Процедура PieSlice отображает заполненный
сектор окружности.
Процедура  PieSliece
(x, у, Bangle, Eangle, R )
Где (х, у)
- координаты центра,
Bangle   и   Eangle    -
начальный и конечный углы
сектора,
R   - радиус.
Заполнение сектора производится шаблоном и цветом, определенными с
помощью процедуры  SetFillStyle (заполнение, цвет)
Процедура  PieSlise очень удобна для
построения круговых диаграмм.
Пример:
Построить круговую
диаграмму.
Program
crug;
uses crt,
graph;
var driver, mode : integer ;

begin
clrscr;
Driver :=
detect;
Initgraph
( driver, mode,’’ );
SetFillStyle
( 1, 4 );
PieSlice
(300,200, 0,135, 150 );
SetFillStyle (1,7);
PieSlice
(300, 200,135, 225, 150 );
SetFillStyle
(1,3);
PieSlice
(300, 200, 225, 280, 150 );
SetFillStyle
(1,1);
PieSlice
(300, 200, 280, 360, 150 );
Outtextxy
(300,100, '37,5%');
Outtextxy
( 170, 180, '25%' );
Outtextxy
(210, 280, '15,3%');
Outtextxy
( 330, 230, '22,2' );
Readln;
End.
Задание для самостоятельной работы

1.

225

180

90

0

б)

a)

Постройте круговую диаграмму
радиусом 100.

ЛИТЕРАТУРА

1. Д.А. Гуденко, Д.В.
Петроченко. Сборник задач по программированию. Питер, 2003

Лабораторный
практикум
«Программирование
на алгоритмическом языке   PASCAL»

file_name: лабораторные работы Паскаль.doc

alt: СОДЕРЖАНИЕ Лабораторная работа №1

alt: Логический (булев) тип данных boolean представлен двумя значениями true и false 2

alt: Задание для самостоятельной работы 1

alt: Лабораторная работа № 3 Оператор цикла

alt: Лабораторная работа № 4 Оператор цикла

alt: Лабораторная работа № 5 Оператор цикла

alt: Задание для самостоятельной работы

alt: Результат = ‘ , z ); readln; end

alt: Задание для самостоятельной работы; 1

alt: Лабораторная работа по теме № 8

alt: Задание для самостоятельной работы

alt: Вывести на экран таблицу Пифагора

alt: Лабораторная работа № 10 Множества

alt: Лабораторная работа № 11 Записи

alt: In ('введите пары чисел (количество и вес):'); for i:=1 to n do begin readln(bagage

alt: Лабораторная работа № 13

alt: Составить программу с процедурой без параметров для вычисления полярных координат r = и f = arctg х/у по прямоугольным координатам х и у , (…

alt: Лабораторная работа № 12 Функции

alt: Лабораторная работа № 14 Файлы

alt: Пример. Даны символьные файлы f и g

alt: Графический режим работы в языке

alt: ЛИТЕРАТУРА 1. Д.А. Гуденко,

intro: В практикуме приведены краткие теоретические сведения по основам программирования на алгоритмическом языке  PASCAL  и даны  индивидуаль-ные  задания  к  каждой главе. Практикум содержит 18 лабораторных работ с разбором заданий.  Ориентирован на  учащихся 9-х и 10-х классов.

title: ЛАБОРАТОРНЫЙ  ПРАКТИКУМ.  Программирование на алгоритмическом языке PASCAL


extracted_text:
Назови одним словом кто это?

1. Это утро, вечер, день или ночь.
2. Почему ты так думаешь?
3. Расскажи, кто что делает?
4. Хорошо им вместе?

Кто это был?

Выпал снег. И всё кругом стало белое. Вышел Коля дрова
нарубить и вдруг видит на снегу какие-то ямки. Это следы…. Что
за зверь тут ходил? «Это надо узнать», - подумал Коля. Он положил
на снег красную морковку, а сам ушёл. А утром глядит - нет морковки!
Зверёк приходил ночью и морковку съел. Кто же это был?

1.
Что увидел Коля на снегу?
2.
Что это было?
3.
Что подумал Коля?
4.
Что положил Коля на снег?
5.
Что увидел Коля утром?
6.
Почему нет морковки?
7.
Кто же это был? Какой это зверёк?

Зимний день

Зимой
солнышко хотя и светит, но мало греет. Оно недолго остаётся на небе.
Зимний день гораздо короче летнего, а ночь длиннее. Реки и озёра замерзают так,
что по льду можно ходить и ездить. Земля покрывается снегом, как белым ковром.

1.
Как греет солнышко зимой?
2.
 Какой день зимой?
3.
 Какая ночь зимой?
4.
 Как замерзают реки и озёра?
5.
 Чем покрывается земля зимой?

Репка (сказка)

Посадил дед репку. Выросла репка большая пребольшая.

Стал дед репку тянуть.
Тянет-потянет, вытянуть не может. Позвал дед бабку.
Стали они тянуть репку. Тянут-потянут, вытянуть не
могут.
Позвала бабка внучку. Тянут-потянут, вытянуть не
могут.
Позвала внучка Жучку.
Тянут-потянут, вытянуть не могут.
Позвала
Жучка кошку. Тянут-потянут, вытянуть не могут.
Позвала кошка мышку. Тянут-потянут, вытянули репку!

Снежная баба

Ребята слепили во дворе два огромных снежных
кома. Положили ком на ком. Затем прилепили снежной бабе руки.
Воткнули ей в руки метлу. Потом сделали ей глаза, рот и нос. Прилепили
пуговицы. На голову бабе надели ведро. Хорошая получилась
баба. Ай, да баба!

1.
 Как называется рассказ?
2.
 Что слепили ребята из снега?
3.
 Сколько слепили комов?
4.
 Что прилепили бабе?
5.
 Что сделали потом?
6.
 Что воткнули в руки?
7.
 Что надели бабе на голову?
8.
 Какая получилась баба?

Колобок (сказка)

Жили-были дед да баба. Однажды дед попросил бабу
испечь колобок. Испекла баба колобок и положила на окошко.
А
колобок прыгнул с окошка на дорожку и покатился в лес.
Катится колобок, а на- встречу ему заяц. «Колобок,
колобок, я тебя съем». – «Не ешь меня, заяц, я тебе песенку спою».
Заяц не съел колобка, колобок покатился дальше.
А навстречу ему волк. «Колобок, колобок, я тебя съем».
– «Не ешь меня, волк, я тебе песенку спою».
Волк
не съел колобка, колобок покатился дальше. А навстречу ему медведь. «Колобок,
колобок, я тебя съем». – «Не ешь меня, медведь, я тебе песенку спою».
Медведь не съел колобка, колобок покатился дальше. А
навстречу ему лиса. «Колобок, колобок, я тебя съем». – «Не ешь меня, лиса, я
тебе песенку спою».
А лиса хитрая была. Говорит лиса колобку: «Я плохо
слышу. Ты сядь мне на нос и спой ещё». Колобок сел лисе на нос, а она его:
«Ам!», - и съела.

Три медведя (сказка)

Жили в лесу три медведя. Большой медведь – папа,
поменьше – мама. Самый маленький медведь – сын.

Однажды медведи пошли в лес. Впереди идёт папа, потом
- мама, сзади – медвежонок.
Папа рубит сухие ветки, мама собирает грибы.
Медвежонок собирает ягоды.
В дом медведей пришла Маша. Она увидела на столе три
чашки: папину чашку, мамину чашку, и чашку медвежонка.

Маша ест суп медвежонка. Суп очень вкусный.

Медведи идут к себе домой. Маша испугалась и убежала.

1.
 Кто жил в лесу?
2.
 Большой медведь был кто?
3.
 Кто был медведь поменьше?
4.
 Кто ещё был у них?
5.
 Как шли медведи по лесу?
6.
 Что делали медведи в лесу?
7.
 Кто пришёл в дом медведей?
8.
 Что увидела Маша на столе?
9.
 Чей суп съела Маша?
10.
Что потом сделала Маша?

Петух, курица и цыплята

Петушок поёт. Курицу с цыплятами зовёт.
петушок зёрнышки нашёл, сам не съел, цыплятам
отдал.

1. Кто нашёл зёрнышки?
2. кого позвал петушок?
3. С кем гуляла курочка?
4. Кому петушок отдал зёрнышки?
5. кто же склевал зёрнышки?

Не замёрзни, Васенька!

Папа одевает Васю. Папа Васе говорит:
«Смотри, Васенька, не замёрзни. Варежки не снимай. Шарф не
развязывай».

1.
Как зовут мальчика?
2.
Как ты думаешь, на улице тепло или
холодно?
3.
Кто его одевает?
4.
кого папа одевает?
5.
Что у Васи на руках?
6.
Что у Васи на шее?

Ёлка

Папа привёз из леса ёлку. Ёлка
была большая, зелёная и пушистая. Ребятам ёлка очень понравилась. Они хотели
сами наряжать ёлку. Серёжа и Вася уже повесили флажки и фонарики.
Маша и Нина повесят бусы, шары и шишки. гена повесит два самолёта и домик. Папа на верхушку наденет
звезду и повесит лампочки. А маленький Дима поставит под ёлку Деда
Мороза. Ёлка будет очень красивая!

1.
Что привёз папа из леса?
2.
Какая была ёлка?
3.
Что хотели делать дети?
4.
Что сделали Сережа и Вася?
5.
Что сделают Маша и Нина?
6.
Что сделает Гена?
7.
Что сделает папа?
8.
Что сделает маленький Дима?
9.
Какая будет ёлка?

Дед Мороз

Ах, какой хороший,
Добрый Дед Мороз!
Ёлку нам на праздник
Из лесу принёс!
Огоньки сверкают
Красный, голубой…
Хорошо нам, ёлка,
Весело с тобой!

1.
Какой Дед Мороз?
2.
Что он принёс на праздник?
3.
Откуда Дед мороз принёс ёлку?
4.
Что делают огоньки?
5.
Какие огоньки?
6.
Как ребятам с ёлкой?

Друзья птиц

Один раз Вова и Лена выбежали на улицу. Ребята
посыпали на снег хлебные крошки и крупу. Потом дети спрятались за дерево.

Прилетела маленькая серая птичка. Это воробей. Воробей
стал клевать хлебные крошки.

Потом прилетела птица побольше. Это голубь. Голубь
тоже стал клевать хлебные крошки и крупу. Дети были очень довольны.

1.
Что сделали Вова и Лена?
2.
Почему ребята спрятались?
3.
Какая прилетела птичка? Что она
стала делать?
4.
Какая птица прилетела потом?
5.
Что стал делать голубь?
6.
Чем были довольны дети?
7.
Как помогали Лена и Вова птицам?
8.
 Кого называют другом (друзьями)?
9.
Как называется рассказ? Почему?

file_name: Программный речевой материал по сказкам.doc

alt: Назови одним словом кто это? 1

alt: Кто это был?

alt: Зимний день

alt: Репка (сказка) Посадил дед репку

alt: Колобок (сказка)

alt: Петух, курица и цыплята Петушок поёт

alt: Не замёрзни, Васенька! Папа одевает

alt: Папа привёз из леса ёлку . Ёлка была большая, зелёная и пушистая

alt: Дед Мороз

alt: Друзья птиц Один раз Вова и

alt: Что сделали Вова и Лена? 2.

title: Программный речевой материал по сказкам


материал по  информатике  для уроков задания


extracted_text:
ЛАБОРАТОРНАЯ РАБОТА
РАБОТА В СРЕДЕ СИСТЕМЫ УПРАВЛЕНИЯ РЕЛЯЦИОННЫМИ БАЗАМИ ДАННЫХ MS ACCESS

Время выполнения – 2
академических часа.

Цель
работы
Освоение
технологии работы в MS Access 2007.

Задачи лабораторной работы
После
выполнения работы ученик должен:
1)       освоить интерфейс программы;
2)
уметь создавать структуру базы данных;
3)
освоить   приемы  создания  объектов  базы  данных  (таблиц,  форм, запросов, отчетов);
4)
научиться устанавливать связи
между таблицами;
5)       уметь производить отбор данных по заданным критериям.

Перечень
обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со
следующим обеспечением: операционная система Windows и MS Office 2007 и выше.

Общие
теоретические сведения
Современные информационные системы характеризуются большими объемами
хранимых данных, их сложной организацией, а также высокими требованиями к
скорости и эффективности обработки этих данных. Это становится возможным при
использовании специальных программных средств
–   систем управления базами данных (СУБД).
База данных (БД) – это поименованная совокупность данных
относящихся к определенной предметной области.
Система управления базами данных (СУБД) – это комплекс программных и языковых средств,
необходимых для создания обработки баз данных и поддержания их в актуальном
состоянии.
Почти все современные СУБД основаны на реляционной модели данных.
Название "реляционная" связано с тем, что каждая запись в такой базе
данных содержит информацию, относящуюся (related) только к одному объекту. Все
данные в реляционной БД представлены в виде таблиц. Каждая строка таблицы
содержит информацию только об одном объекте и называется записью.
Столбец таблицы содержит однотипную для всех записей информацию и называется полем.
Для успешного функционирования базы данных важна правильная организация данных
в ней. При определении структуры данных в базе выделяют следующие основные
понятия.

Класс объектов - совокупность объектов, обладающих одинаковым
набором свойств. Например, в базе данных о ВУЗе классами объектов могут быть
студенты, преподаватели, предметы.
Свойство (атрибут) - определенная часть информации о некотором
объекте. Хранится в виде столбца (поля) таблицы. Например, фамилия, имя,
отчество - это свойства для объекта Студент.
Связь (отношение) - способ, которым связана информация о разных объектах.
Типы
связей между объектами
Основным структурным компонентом базы данных, как правило, является
таблица. При определении состава таблиц следует руководствоваться правилом: в
каждой таблице должны храниться данные только об одном классе объектов.
Если в базе данных должна содержаться информация о разных классах
объектов, то она должна быть разбита на отдельные таблицы. Связь между
таблицами осуществляется с помощью общих полей.
Связи между любыми двумя таблицами относятся к одному из трех типов:
один-к-одному (1:1), один-ко-многим (1:М) и
многие-ко-многим (М:М).
При установке связи типа "один-к-одному" (1:1) каждой записи в
одной таблице соответствует не более одной записи в другой таблице.
Связь типа "один-ко-многим" (1:М) означает, что каждой записи
в одной таблице соответствует несколько записей в связанной таблице. Этот
наиболее распространенный тип связей. Для его реализации используются две
таблицы. Одна из них представляет сторону "один", другая – сторону
"много".
Связь типа "много-ко-многим" (М:М) используется, когда
множеству записей в одной таблице соответствует множество записей в связанной
таблице. Большинство современных СУБД непосредственно не поддерживают такой тип
связи. Для ее реализации такая связь разбивается на две связи типа
один-ко-многим. Соответственно, для хранения информации потребуется уже три
таблицы: две со стороны "много" и одна со стороны "один".
Связь между этими тремя таблицами также осуществляется по общим полям.
Структура MS
Access
MS Access – это функционально полная реляционная СУБД, работающая
в среде Windows. В Access база данных включает в себя все объекты, связанные с
хранимыми данными (таблицы, формы, отчеты, запросы, макросы, модули). Все
объекты Access хранятся в одном файле с расширением .accdb. В таблицах хранятся
данные, которые можно просматривать, редактировать, добавлять. Используя формы,
можно выводить данные на экран в удобном виде, просматривать и изменять их.
Запросы позволяют быстро выбирать необходимую информацию из таблиц. С помощью отчетов
можно создавать различные виды документов, для вывода на печать, макросы и
модули позволяют автоматизировать работу с базой данных.
Запуск Access осуществляется двойным щелчком мыши по значку «MS Access»
на рабочем столе, или в подменю «Microsoft Office» меню «Пуск».

После запуска на экране появится окно Приступая к работе с Microsoft
Office Access, с помощью которого можно создать новую базу данных, выбрать
нужный шаблон базы данных из Интернета или открыть локально расположенную базу
данных.
При нажатии на
кнопку Новая база данных правая часть окна изменится. В ней необходимо
указать название файла новой базы данных и её будущее местоположение. Затем
нажать кнопку Создать (рис. 1).

Рис.
1. Создание новой базы данных MS Access 2007

Откроется окно
новой базы данных с новой таблицей для дальнейшей работы. Верхняя строка
представляет собой Ленту MS Office 2007. Она содержит вкладки и
кнопки для выполнения определенных действий. Лента позволяет работать с
таблицами, формами, запросами и отчетами базы данных (рис. 2).

Рис.
2. Созданная база данных с новой таблицей

Создание новой таблицы с помощью
Конструктора
Для создания новой таблицы на вкладке Создание Ленты выбрать
пиктограмму Конструктор таблиц. На экран будет выведено окно таблицы в
режиме Конструктора, в котором можно задать имена, типы и свойства полей для
вновь создаваемой таблицы.

Каждая строка в
столбце Тип данных является полем со списком, элементами которого
являются типы данных Access. Тип поля определяется характером вводимых в него данных
(рис. 3).

Рис.
3. Создание таблицы в режиме конструктора

Среди типов данных Access есть специальный тип – Счетчик. В поле
этого типа Access автоматически нумерует строки таблицы в возрастающей
последовательности. Редактировать значения такого поля нельзя.
Набор свойств поля зависит от выбранного типа данных. Для определения
свойств поля используется бланк Свойства поля в нижней части окна
конструктора таблиц.
Создание запросов
Для создания
запроса выбрать на ленте вкладку Создание и нажать Мастер запросов.
Появится окно для выбора  способа  построения  запроса (рис. 4).

Рис.
4. Мастер построения запросов

Существуют
простые запросы и перекрестные запросы.
Простой запрос создает
простой запрос из определенных полей.
Перекрестный запрос создает запрос, данные в котором имеют
компактный формат, подобный формату сводных таблиц в Excel. С помощью
перекрестного запроса можно более наглядно представить данные итоговых
запросов, предусматривающих группировку по нескольким признакам (по двум, в частности).
В этом случае значение полей по первому признаку группировки могут стать
заголовками строк, а по второму - заголовками столбцов.
Запросы имеют три режима отображения:
–
режим конструктора – пример представлен выше. Этот режим рекомендуется для
создания запросов. Запрос в этом режиме существует только в оперативной памяти;
–
режим SQL – содержит команды на
языке SQL (Structured Query Language – структурированный язык запросов) и указания, в каких таблицах и какие данные нужны пользователю.
Пример запись SQL-запроса, в котором производится выбор поля1и поля2 из
таблицы с заданным именем для записей, если поле2 равно 0.
SELECT
имя таблицы.[поле1], имя таблицы.[поле2] FROM имя таблицы
WHERE(имя таблицы.[поле2]=0);
В таком
виде запрос сохраняется в файле БД.
–
режим таблицы – в этом режиме отображаются данные, отобранные с
помощью запроса. На экране монитора данные, отвечающие условиям запроса
представлены в форме таблицы.
Вычисляемые поля
Можно задать вычисления над любыми полями таблицы и сделать вычисляемое
значение новым полем в запросе.
Для этого в строке Поле бланка QBE (бланк запроса) вводится формула для
вычисления, причем имена полей, которые участвуют в вычислениях заключаются в
квадратные скобки.
Например:
=[
Оклад]*0.15.
При создании выражений для вычисляемых полей можно использовать Построитель
выражений. Для этого нужно щелкнуть по пустому полю в бланке запроса, а
затем по кнопке панели инструментов Построить, откроется окно Построитель
выражений.
Все имена объектов, из которых строится выражение для вычисления,
заключены в квадратные скобки, причем перед именем поля может стоять
восклицательный знак (!) разделяющий имя поля и имя таблицы.
Выражение создается в верхней части окна. Можно самим ввести выражение,
но проще использовать различные кнопки, расположенные под областью ввода.
Составление
отчетов

Анализ данных в MS Access, может быть выполнен с помощью отчетов.
Основным предназначением отчетов, является представление данных для их просмотра как
в электронной, так и в печатной
форме. Возможность использовать отчеты для анализа данных обусловлена
тем, что в них можно не только включать необходимые данные других объектов БД (таблиц, запросов и форм), но
и использовать для их обработки формулы и выражения.
Существует два режима отображения отчетов. В режиме предварительного
просмотра отчет отображается так, как он будет выглядеть при печати. Режим
конструктора предоставляет пользователю доступ к макету отчета. При этом можно
придать отчету необходимые свойства, а также изменить состав и свойства
объектов отчета. В этом режиме можно создавать отчет. Однако обычному
пользователю целесообразно для этого использовать мастер создания отчетов.
Сортировка
записей
Сортировку записей MS Access может осуществлять по одному признаку, который выбирается пользователем
путем установки курсора в нужный
столбец таблицы, или нескольким признакам. В последнем случае
выделяются поля, содержащие признаки, по
которым должна осуществляться
сортировка. Однако при этом
следует учитывать, что сортировка производится только по признакам, записанным в смежных столбцах.
Она осуществляется  поочередно  в каждом
столбце, слева направо. Это означает, что для такой сортировки
необходимо сначала изменить макет таблицы
таким образом, чтобы соответствующие столбцы
располагались рядом. При этом слева должны располагаться признаки, значения
которых принимает большее количество записей.
Для фильтрации данных в таблицах БД можно использовать два типа
фильтров: фильтр «по выделенному» или расширенный фильтр.
С этой целью используется команда Записи/Фильтр... (для того чтобы эта
команда стала доступной пользователю, необходимо открыть таблицу). Затем
пользователь выбирает тип фильтра.
При применении фильтра «по выделенному» программа оставляет
доступными для просмотра только записи,  содержащие  признак,  совпадающий с
тем, который выбрал пользователь. Такой фильтр можно установить, выделив в
таблице часть поля, одну или несколько смежных ячеек, содержащих данные, которые должны быть в соответствующих
полях результирующего набора. MS Access отобразит записи, совпадающие с
выделенным образцом.
Особую разновидность фильтра «по выделенному»
представляет собой результат
выполнения команды Записи/ Фильтр/Исключить
выделенное. В этом случае отбираются
записи, не содержащие выделенных данных.
В случае использования расширенного фильтра СУБД открывает диалоговое
окно с макетом фильтра.
В верхней части макета размещается окно с перечнем полей таблицы, а в
нижней – бланк для записи условий фильтрации.

С
дополнительным материалом по теме можно ознакомиться в литературе
[1, 3, 4, 7].

Упражнение 1.
Создать
базу данных с названием "Студенты-Экзамены".
Решение.
В диалоговом окне Приступая к работе с Microsoft Office выбрать Новая
база данных, задать имя файла базы данных и выбрать место расположения.
Будет создана новая база данных вместе с новой таблицей (рис. 5).

Рис.
5. Создание новой базы данных «Студенты-Экзамены»

Упражнение 2.
Создать
новую таблицу с названием «Студенты», включающую поля:
1)
ФИО;
2)       номер зачетки;
3)
дата рождения;
4)
группа;
5)       адрес;
6)
стипендия;
7)
телефон.
Поле Номер зачетки установить
ключевым полем.
Решение.
1.
Закрыть   появившуюся   автоматически   Таблицу1   (нажать   правой кнопкой мыши на вкладке «Таблица1»
под лентой).
2.
Выбрать на ленте вкладку Создание,
в разделе Таблицы выбрать Конструктор таблиц.
3.
Задать необходимые имена полей
согласно заданию.
4.       Определить   и    установить   соответствующий   тип    каждого   поля
(текстовый, числовой, дата/время, денежный) (рис. 6).

Рис.
6. Заполнение структуры таблицы

5.
Для поля Группа в нижней части
окна в разделе Свойства поля задать значение Размер поля 10.
6.
Задать ключевое поле Номер зачетки
(Выделить поле Номер_зачетки и нажать кнопку Ключевое поле или задать с помощью
контекстного  меню)  (рис. 7).

Рис.
7. Создание ключевого поля

7.       Сохранить таблицу с именем Студенты.

Упражнение 3.
В режиме
Таблица ввести 2 записи в таблицу Студенты.
Решение.
1.
Перейти   в   режим   Таблицы  с   помощью  ленты,   выбрать  вкладку Конструктор, кнопку Режим.
2.     Ввести 2 записи (рис.
8).

Рис.
8. Ввод двух записей в таблицу

Ввод данных в таблицу можно выполнить с помощью форм. Access предлагает
следующие способы создания форм:
–
Конструктор форм – позволяет разрабатывать собственные экранные формы с
заданными свойствами для просмотра, ввода и редактирования данных.
–
Мастер форм – позволяет достаточно быстро создать форму на основе
выбранных для нее данных.
–
Автоформа: в столбец, ленточная,
табличная.
–
Диаграмма – позволяет создавать форму, данные в которой
представлены в виде диаграммы.
По сравнению с простыми автоформами, формы, созданные с помощью Мастера
более разнообразны по стилю оформления, могут содержать выбранные поля, в т. ч.
и из нескольких связанных таблиц.
Для запуска Мастера форм нужно на ленте во
вкладке Создание выбрать раскрывающийся список Другие формы – Мастер
форм.
На 1 шаге Мастера форм необходимо определить поля будущей формы. После
указания имени таблицы/запроса в списке Доступные поля появляется
перечень всех полей данной таблицы.
Необходимо из этого перечня перенести все необходимые поля в список
Выбранные поля.
На 2 шаге предлагается задать внешний вид формы: в один столбец,
ленточный, табличный, выровненный.
На 3 шаге
выбирается стиль формы из списка вариантов стилей.

На 4 шаге открывается последнее окно Мастера форм, где нужно ввести имя
создаваемой формы (по умолчанию ей дается имя базовой таблицы/запроса) и
вариант дальнейшей работы (открытие формы для просмотра, изменение макета формы).
Создавать и редактировать формы любой степени сложности позволяет только
Конструктор форм. Также в режиме Конструктора можно отредактировать формы,
созданные Мастером, или автоформы.
Для создания формы в режиме Конструктора перейти в ленте на вкладку Создание
и выбрать Конструктор форм. На экране откроется окно Конструктора
форм.
В окне конструктора форм элементы, расположенные в разделах заголовка и
примечания формы, отображаются только в заголовке и примечании формы. Элементы,
расположенные в области данных, отображаются для каждой записи базовой
таблицы/запроса.

Упражнение 4.
С   помощью  мастера  форм  создать  форму  для   заполнения  таблицы Студенты и ввести 2 записи в форму.
Решение.
1.
Выбрать на ленте вкладку Создание,
в разделе Формы выбрать Другие формы – Мастер форм.
2.
Следовать   указаниям   мастера   форм   (выбрать   поля   из   таблицы Студенты (рис. 9).

Рис.
9. Мастер форм

3.
Перейти с помощью формы до 3
записи с помощью указателей-стрелок или нажать на кнопку Новая (пустая) запись
внизу окна формы.
4.
Ввести 2 новые записи (рис. 10).

Рис. 10. Созданная форма с 4 записями

Упражнение 5.
Создать в режиме конструктора новую таблицу с
названием «Экзамены» с полями: Номер зачетки, Экзамен1, Экзамен2,
Экзамен3. Ключевое поле не создавать, поля Номер зачетки, Экзамен1,
Экзамен2 и Экзамен3 задать числовыми.

Упражнение 6.
Установить тип поля Номер зачетки в таблице с
помощью мастера подстановок, используя данные из таблицы Студенты.
Мастер подстановок позволяет формировать для нужного поля список
значений, который может содержать данные другой таблицы или запроса, либо
состоять из фиксированного набора значений. В обоих случаях Мастер
подстановок облегчает ввод данных, так как поле Номер зачетки является
общим для обеих таблиц.
Комбинированный список для поля Номер
зачетки формируется на основе данных связанной таблицы Студенты.
Решение.
1.
Войти в режим конструктора таблицы
Экзамены.
2.
Перейти в колонку Тип данных для
поля Номер зачетки.
3.
Из    списка    доступных   типов    полей    выбрать   элемент    Мастер подстановок (рис. 11).

Рис. 11. Выбор Мастера подстановок из списка Тип данных

Первое диалоговое
окно Мастера подстановок предлагает выбрать источник формирования списка: на
основе данных таблицы/запроса или фиксированного набора значений. В данном
случае нужно выбрать первый вариант (рис. 12).

Рис.
12. Окно «Создание подстановки». Шаг 1

В следующем окне из приведенного списка таблиц/запросов следует выбрать
таблицу/запрос, являющуюся источником данных для списка. В нашем примере такой
таблицей является таблица Студенты, так как она служит источником данных
для списка номеров зачеток (рис. 13).

Рис. 13. Окно «Создание подстановки». Шаг 2

В третьем окне
Мастера подстановок из списка Доступные поля нужно выбрать поля,
значения которых используются в списке. В данном случае можно выбрать поле ФИО,
которое сделает список более  информативным  (рис. 14).

Рис.
14. Окно «Создание подстановки». Шаг 3

Выбрать сортировку списка
«ФИО» по возрастанию (рис. 15).

Рис. 15. Окно «Создание подстановки». Шаг 4

Задать
ширину столбцов, которые содержат столбец подстановки.
Нажать   кнопку   Готово   для   завершения   процесса   проектирования комбинированного списка.
4.
Сохранить таблицу Экзамены.
5.       В режиме Таблица ввести 2 записи в таблицу Экзамены.

Упражнение 7.
С   помощью  мастера  форм  создать  форму  для   заполнения  таблицы Экзамены и ввести 2 записи в форму.
Решение.
1.
Выбрать на
ленте вкладку Создание, в разделе Формы выбрать Другие формы –
Мастер форм.
2.
Следовать   указаниям   мастера   форм   (выбрать   поля   из   таблицы Экзамены).
3.
Перейти с помощью формы до 3
записи с помощью указателей-стрелок или нажать на кнопку Новая (пустая)
запись внизу окна формы.
4.       Ввести 2 новые записи.

Упражнение 8.
Установить
связь один-ко-многим между таблицами.
Решение.
Для установления (изменения) связей между таблицами необходимо закрыть
все открытые таблицы, формы, отчеты и запросы. На Ленте выбрать вкладку Работа
с базами данных. Нажать кнопку Схема данных. Появляется Схема данных,
включающая 2 таблицы и связи между ними. Связь между таблицами Студенты и
Экзамены мы создали при установке мастера подстановок (рис. 16).

Рис. 16. Схема данных

Перед созданием новой связи необходимо удалить старую. Для этого на
линии между таблицами щелкнуть правой кнопкой мыши, выбрать Удалить.
После этого нажать правой кнопкой мыши по названию каждой из таблиц и нажать Скрыть.
Закрыть Схему данных, сохранив изменения.
Вновь открыть Схему данных. Для добавления в
схему данных таблиц нажать кнопку Отобразить таблицу на Ленте или с помощью
контекстного меню выбрать Добавить таблицу.
В окне Добавление таблицы нужно
выделить имена таблиц, добавляемых в схему данных, и нажать на кнопку Добавить.
После этого данное окно закрыть. В окне Схема данных появятся имена всех
указанных таблиц вместе со списками полей (рис. 17).

Рис. 17. Окно «Добавление таблицы» в Схеме данных
Добавить таблицу Экзамены и закрыть окно «Добавление таблицы».
Для связи нужных полей (в нашем случае Номер зачетки) нужно
выделить ключевое поле Номер зачетки ключевой таблицы Студенты,
нажать левую кнопку мыши, перетащить ее курсором на аналогичное поле в
связываемой таблице Экзамены, после чего кнопку мыши отпустить. В
результате появится диалоговое окно Связи. В этом окне Access заполнит
первую строку именем

поля,
по которому связывались таблицы. Чтобы в связанных таблицах не нарушалась
целостность данных, нужно щелкнуть по флажку Обеспечение целостности данных.
После этого Access сделает невозможным запись в не ключевую таблицу такого
значения общего поля, которого нет в ключевой таблице. После установления
целостности данных Access включает две дополнительные опции: Каскадное
обновление связанных полей и Каскадное удаление связанных полей (рис.
18).

Рис.
18. Окно «Изменение связей»

Если выбрать первую опцию, то при изменении какого-либо значения
ключевого поля в ключевой таблице Access автоматически обновит значения этого
поля для соответствующих записей во всех связанных таблицах. Например, если у
одного из студентов изменился номер зачетки в таблице Студенты, то он
автоматически должен измениться и в таблице Экзамены.
Выбор второй опции при удалении одной из записей в
ключевой таблице приведет к удалению тех записей в таблице со стороны
"много", которые  имеют такое же значение ключа. Например, если из таблицы
Студенты удалить запись об одном из студентов, то записи о результатах
сданных им экзаменов будут удалены автоматически. Включим опции Каскадное
обновление связанных полей и Каскадное удаление связанных записей.
Для завершения процесса создания связей, нужно щелкнуть по кнопке Создать.
Access нарисует линию между таблицами в окне Схема данных, указывающую
на наличие связи Один-ко-многим между ними. На конце линии у таблице со
стороны "один" будет стоять цифра 1, а на другом конце, у

таблицы со стороны
"много" – символ бесконечности ∞
. После закрытия этого окна все установленные связи будут сохранены
(рис. 19).

Рис.
19. Созданная связь «один-ко-многим» между таблицами

Упражнение 9.
Создать форму для заполнения сразу обеих таблиц с помощью мастера форм и
ввести поля: из первой таблицы Студенты: ФИО, Номер_зачетки,
Дата_рождения, Группа, Адрес, Телефон, Стипендия; из второй таблицы Экзамены:
Экзамен1, Экзамен2, Экзамен.
Ввести
дополнительно 3 записи с помощью созданной формы.
Решение.
1.       Выбрать на ленте вкладку Создание,
в разделе Формы выбрать Другие формы – Мастер форм.
2.
Следуя указаниям мастера форм
выбрать необходимые поля из таблиц Студенты и Экзамены.
3.
На втором шаге выбрать вид
представления данных «Подчиненные формы».
4.
Далее выбрать внешний вид
подчиненной формы «Табличный».
5.
Стиль выбрать по желанию.
6.
На следующем шаге имена форм
оставить установленными по умолчанию.
7.
Открыть созданную форму, перейти с
помощью формы до 5 записи с помощью указателей-стрелок или нажать на кнопку
Новая (пустая) запись внизу окна формы.
8.
Ввести 3 новые записи.

Упражнение 10.
Создать запрос в режиме конструктора с сортировкой по возрастанию по
дате рождения и группе и вывести на экран только хорошистов (тех, у кого все
оценки за экзамены не ниже 4), с указанием поля ФИО и номера зачетки студентов.
Решение.
1.
Перейти   на   вкладку   Создание  и   нажать   Конструктор  запросов. Появится окно для построения
запроса (рис. 20).

Рис.
20. Окно «Добавление таблицы» в конструкторе запросов

2.
В окне Добавление таблицы выбрать
нужные таблицы.
3.
В
Поле указать нужные поля из таблиц, перечисленных в задании
(ФИО, номер зачетки, дата рождения, группа, Экзамен1, Экзамен2,
Экзамен3).
4.
Установить сортировку по
возрастанию для Даты_рождения и Группы.
5.
В Условие отбора в столбце
Экзамен1, Экзамен2, Экзамен3 установить
>3, что означает оценки которые больше 3. Второй вариант: установить
4 or 5.
6.
Установка в одной строке Условия
отбора означает, логическую операцию И Экзамен1 >3 , И Экзамен2>3 , И
Экзамен3 >3. То есть все три условия должны выполняться одновременно (рис. 21).

Рис.
21. Созданный запрос

7.
Перейти   в   режим   таблицы   или   нажать   кнопку   Выполнить  для просмотра результата запроса (рис. 22).

Рис.
22. Результат выполнения запроса

Упражнение 11.
Создать
запросы в режиме конструктора с использованием союзов И, ИЛИ:
–
вывести студентов, ФИО которых
начинается на букву П и оценка за Экзамен1 «Не 3»;
–
вывести студентов, родившихся
между 01.01.1990 и 01.10.1992 или у кого стипендия не меньше 1000 руб.
Решение.
Для вывода
ФИО, которые начинаются на определенную букву задать условие: Like “П*”.
Для обозначения отрицания НЕ
используется оператор Not (рис. 23).

Рис.
23. Созданный запрос

Для обозначения МЕЖДУ используется
оператор Between. Например, для задания даты рождения в определенном
интервале: может быть задан шаблон Between #дата1# and #дата2#.
При необходимости использования союза ИЛИ в запросе, условия
размещаются в следующих строках (или), расположенных ниже строки Условие
отбора (рис. 24).

Рис.
24. Созданный запрос

Упражнение 12.
По созданному
запросу1 составить отчет в режиме мастер отчетов. В режиме конструктора
заменить название отчета на Список студентов.
Решение.
Перейти на вкладку Создание и выбрать Мастер отчетов. Для
отчета использовать Запрос1 и следовать указаниям мастера отчетов. Для изменения
имени отчета выбрать Конструктор отчетов и в поле названия отчета сделать
изменения (рис. 25).

Рис.
25. Созданный отчет

Упражнение 13.
Добавить в таблицу Студенты новое поле Пол. В форму Студенты
добавить группу переключателей с названием «Пол». Ввести значения с помощью
формы.
Решение.
1.
Добавить в таблицу Студенты новое
поле Пол после поля ФИО в режиме Конструктор. Тип данных
поля – текстовый. В описании поля (третий столбец в режиме конструктора)
введите «1-мужской, 2-женский». Описание будет выводиться в левой части строки
состояния (расположена в нижней части окна).
2.
Таблицу Студенты сохранить
и закрыть.
3.
Открыть форму Студенты в режиме
конструктора.
4.
Увеличить свободное пространство
формы (белая область с сеткой) путем перемещения нижней строки Примечание формы.
5.
При выборе режима Конструктора на
Ленте включается вкладка Инструменты конструктора форм, которые
позволяют вставлять объекты в форму.
6.
На Ленте во вкладке
Конструктор в группе Элементы управления
нажать кнопку Группа переключателей.

7.
Щелкнуть на свободном пространстве
формы. Ввести в окне Мастера по созданию Группы значения: мужской;
женский (рис. 26).

Рис.
26. Создание группы переключателей. Шаг 1

8.
В    следующем    диалоговом    окне    не    задавать    переключатель, используемый по умолчанию.
9.
В   третьем   диалоговом   окне   оставить   значения,   установленные
автоматически.
10.   В четвертом диалоговом окне установить переключатель в пункт
«Сохранить
значение в поле» и выбрать из списка необходимое поле Пол.
11.   На следующем шаге оставить все настройки без изменений.
12.
На последнем шаге задать подпись
для группы переключателей – Пол. Нажать кнопку Готово (рис. 27).

Рис. 27. Размещенная группа переключателей на форме

Упражнение 14.
Задать
значение поля Пол для каждой записи таблицы Студенты.
Решение.
1.
Перейти в режим Формы (Двойной
щелчок на имени Формы) и пролистать все записи и для каждой установить
переключатель в нужное положение.
2.
Закрыть форму и открыть таблицу и
просмотреть поле Пол.

Упражнение 15.
С помощью фильтра вывести из
таблицы Студенты на экран студентов одной группы.
Решение.
1.
Открыть таблицу Студенты в
режиме таблицы.
2.
Установить курсор в поле Группа.
3.
На вкладке Главная нажать
кнопку Фильтр.
4.
Установить галочку на номере одной
нужной группы. Нажать ОК. Произойдет автоматическое включение фильтра. Данные
будут отфильтрованы по установленному параметру.
5.
Кнопка Применить фильтр позволяет
включать и выключать установленный фильтр.

Содержание отчета
Отчетом    является    файл    СУБД_ФИО_ученика.accdb,    созданный    в результате выполнения задания.

Технология выполнения работы
В данной работе должна быть
создана база данных из трех таблиц, определены условия отбора информации и
создание форм, запросов и отчета.

Вопросы для
защиты работы
1.
Что включает понятие структура
базы данных?
2.
Что такое ключевое поле?
3.       Зачем создаются связи между таблицами?
4.
Какие объекты СУБД вы знаете?
5.
Для какой цели используются формы
в MS ACCESS?
6.       Какие запросы вы знаете?
7.       В каком режиме создается запрос на выборку?

file_name: 24. ЛПЗ_РАБОТА В СРЕДЕ СИСТЕМЫ УПРАВЛЕНИЯ РЕЛЯЦИОННЫМИ БАЗАМИ ДАННЫХ MS ACCESS.doc

alt: ЛАБОРАТОРНАЯ РАБОТА РАБОТА В

alt: После запуска на экране появится окно

alt: На 4 шаге открывается последнее окно

alt: Рис. 10. Созданная форма с 4 записями

alt: Рис. 13. Окно «Создание подстановки»

alt: Рис. 15. Окно «Создание подстановки»

alt: Рис. 20. Окно «Добавление таблицы» в конструкторе запросов 1

alt: Содержание отчета Отчетом является файл


extracted_text:
Итоговый
  тест по предмету « Электротехника»

Группа № 22
                             Вариант № 1
  Раздел  1  «Постоянный
  электрический ток»
1   .Определить сопротивление лампы накаливания
  , если на ней написано  100 Вт и 220 В
а) 484 Ом

                   б)486 Ом
в) 684 Ом

                    г) 864 Ом
2   .Какой из проводов одинаково диаметра
  и длины сильнее нагревается – медный или стальной при одной и той же силе
  тока ?
а) Медный

                  б) Стальной
в) Оба провода нагреваются
            г) Ни какой из проводов
    одинаково

                      не
  нагревается
3    . Определить полное сопротивление
  цепи при параллельном соединении потребителей, сопротивление которых по 10
  Ом?
а) 20 Ом

         б) 5 Ом
в) 10 Ом

          г) 0,2 Ом
 4
  .Как изменится емкость и заряд  на пластинах конденсатора, если напряжение на
  его зажимах повысится?
а)      Емкость и заряд увеличится
б)     Емкость уменьшится, заряд
  увеличится
в)
  Емкость станется неизменной, заряд увеличится
Раздел
  « Электромагнетизм»
5.       Какие из
  перечисленных величин относятся к характеристикам магнитного поля:
a)       напряжённость
b)      время
c)       магнитный поток
d)      сопротивление
e)       магнитная проницаемость среды

6.        От каких свойств сердечника зависят вихревые токи?
а)   Только от электрических.
Б)  только от магнитных.
В)
  И от электрических, и от магнитн
Раздел  « Переменный
  электрический ток
7   .   Конденсатор емкостью С
  подключен к источнику синусоидального тока. Как изменится ток в конденсаторе,
  если частоту синусоидального тока уменьшить в 3 раза.
а) Уменьшится в 3 раза

   б) Увеличится в 3 раза
в) Останется неизменной

                    г) Ток в
  конденсаторе не зависит от

                    частоты
  синусоидального тока
8
   В цепи с последовательным соединением R, L, C установился
  резонанс напряжений.
Каким будет
  показание вольтметра, если U = 120 В, F = 100 Гц, R = 20 Ом, L = 0,2 Гн
  ?

Uс = 453,6 В, 2. Uс
  = 553,6 В, 3. Uс = 653,6 В, 4. Uс = 753,6 В, 5. Uс =
  853,6 В.

 9.   Технические устройства, в
  которых используется электромагнитное действие электрического тока:
А)  Электрические двигатели и
  генераторы
Б)   Осветительные приборы
С)   Нагревательные приборы
Д)  Линии электропередачи

Итоговый
  тест по предмету « Электротехника»
Группа № 22                                                                                Вариант
  №2

Раздел « Постоянный
  электрический ток»
1    .Как изменится напряжение  на
  входных зажимах электрической цепи постоянного тока с активным элементом,
  если параллельно исходному включить ещё один элемент?
а) Не изменится

            б) Уменьшится
в) Увеличится

                 г) Для ответа
  недостаточно данных
2     .В электрической сети постоянного тока
  напряжение на зажимах источника электроэнергии 26 В. Напряжение на зажимах
  потребителя 25 В. Определить  потерю напряжения на зажимах в процентах.
а) 1

        б) 2 %
в) 3 %

                         г)
  4 %
10.
  3.
  Выберите из представленных формулу закона Ома для участка электрической цепи:
a)         b)      c)          d)
Раздел « Электромагнетизм»

               4.
    Выберите
  величину без которой не может существовать магнитное поле:
a)     магнитное
  напряжение
b)    электрический
  ток
c)     электрическое
  сопротивление
d)
e)     магнитный поток
f)
      Раздел «Переменный электрический ток»
5.
      Электрическая цепь –
 а)
  это… совокупность устройств,
  предназначенных для получения электрического тока
 б)
  разность напряжений в начале и в конце линии
 с)
  замкнутый путь, проходящий по нескольким ветвя
6..  . Как изменится период
  синусоидального сигнала при уменьшении частоты в 3 раза?
а) Период не изменится

                      б)
  Период увеличится в 3 раза
в)Период уменьшится в 3 раза

            г) Период изменится в  раз
7.     . Катушка с индуктивностью
  L  подключена к источнику синусоидального напряжения. Как изменится ток
  в катушке, если частота источника увеличится в 3 раза?
а) Уменьшится в 2 раза

  б) Увеличится в 32раза
в) Не изменится

              г) Изменится в  раз
8.
    Электрический
  ток оказывает на проводник действие...

Начало
  формы

тепловое
радиоактивное
магнитное
физическое

9. Тепловое действие электрического тока используется в:
А)   Электроутюгах
Б)   Выпрямителях
С)   Лампах накаливания
Д)  Асинхронных двигателях

Итоговый
  тест по предмету « Электротехника»

Группа № 22
                               Вариант №3
1.  .Электрическое сопротивление человеческого
  тела  3000 Ом. Какой ток проходит через него, если человек находится под
  напряжением 380 В?
а) 19 мА

    б) 13 мА
в) 20 мА

     г) 50 мА
2.  .Какой из проводов одинаковой длины
  из одного и того же материала, но разного диаметра, сильнее нагревается при
  одном и том же токе?
 а) Оба провода нагреваются
  одинаково;

 б) Сильнее нагревается провод с
  большим диаметром;
 в) Сильнее нагревается провод с
  меньшим диаметром;

 г) Проводники не нагреваются;
20. Катушка с индуктивностью L
  подключена к источнику синусоидального напряжения. Как изменится ток в
  катушке, если частота источника увеличится в 3 раза?
3  .Узел (точка)
  разветвления – это
a)       совокупность
  устройств, предназначенных для получения электрического тока
b)      разность
  напряжений в начале и в конце линии
c)       ее участок,
  расположенный между двумя узлами
d)      точка
  электрической цепи, в которой соединяется три и более проводов
Раздел « Электромагнетизм»
4.      Выберите
  формулу, отражающую магнитный поток:
a)     Ф = В*S
b)    B = *H
c)     H =
  B/
5.        Единицами
  измерения магнитной индукции являются

Начало
  формы

Амперы
Теслы
Вольты
Герц
Раздел   Переменный ток
6.
    .Основные потребители
  электрической энергии:
А)  Осветительные приборы
Б)  Нагревательные приборы
С)  Электродвигатели
  Д)  Генераторы

7.   Бытовая электрическая сеть может
  передавать электроэнергию мощностью 1,5 кВт .Можно ли подключить к этой сети
  одновременно чайник мощностью 1кВт и пылесос мощностью 0,8 кВт?
А)  Можно;
Б  )нельзя;
С)  когда можно, когда нет
  ( доказать)

8. .Безопасным для человека является напряжение: (
  подчеркнуть)
400
 42 В; 220 В; 12 В; 127 В
401

9.  На каких схемах изображено
  правильное включение амперметра:
a)b)c)d)

Скачано с www.znanio.ru

file_name: Итоговый тест по предмету « Электротехника».docx

alt: Начало формы Амперы Теслы