Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Написание программы на Паскале для решения задач на ввод-вывод линейных и двумерных массивов
Цель работы: научиться правильно описывать различные массивы, уметь инициализировать массивы, распечатывать содержимое массива; научится решать задачи на использование массивов.
Общие сведения: Массив - это структурированный тип данных, который используется для описания упорядоченной совокупности фиксированного числа элементов одного типа, имеющих общее имя. Для обозначения элементов массива используются имя переменной-массива и индекс. Перед выполнением работы необходимо изучить правила описания и использования переменных типа массив, типизированных констант типа массив. Пример1: Дан двумерный массив. В каждой строке все его элементы, не равные нулю, переписать (сохраняя порядок) в начало строки, а нулевые элементы - в конец массива. Новый массив не заводить. Этапы решения задачи: 1. Суть одного из алгоритмов решения данной задачи состоит в том чтобы " просматривать" массив построчно и находить в каждой строке пару (0: число), а затем менять их местами между собой и так до тех пор пока в строке таких пар не окажется. 2. Напишем программу на псевдо паскале: program example1; var V: array[1..100, 1..100] of integer; m, n, i, j, c: integer; flag: boolean; begin < ввод размерности массива m*n> < заполнение ячеек массива> for i: =1 to m do repeat flag: = true; for j: =1 to n-1 do if (v[i, j]=0) and (v[i, j+1]< > 0) then begin < поменять их местами> flag: = false; end; until flag; < Печать массива> readln; end.
3.Составим блок схему алгоритма
1. Каким образом определяются переменные типа массив (одномерный и двумерный)? 2. Как осуществляется доступ к отдельному элементу одномерного и двумерного массива? 3. Каким образом выводятся элементы массива на экран? 4. Приведите пример фрагмента программы, который выводит на экран двумерный массив в виде матрицы. 5. Сколько чисел можно записать в шестимерный массив X: Array[0..1, 0..1, 0..1, 0..1, 0..1, 0..1] of Integer?
Список индивидуальных заданий: 1. Даны целые числа а1, а2, а3. Получить целочисленную матрицу [bij]i, j=1, 2, 3, для которой bij=ai-3aj. 2. Получить [aij]i=1, …10; j=1, …12 - целочисленную матрицу, для которой aij=i+2j. 3. Дано натуральное число n. Получить действительную матрицу [aij]i, j=1, …n, для которой aij=. 4. Дана квадратная вещественная матрица размерности n. Найти количество нулевых элементов, стоящих: выше главной диагонали; ниже главной диагонали; выше и ниже побочной. 5. Дана вещественная матрица размерности n * m. По матрице получить логический вектор, присвоив его k-ому элементу значение True, если выполнено указанное условие и значение False иначе: - все элементы k столбца нулевые; - элементы k строки матрицы упорядочены по убыванию; - k строка массива симметрична. 6. Дана вещественная матрица размерности n * m. Сформировать вектор b, в котором элементы вычисляются как: - произведение элементов соответствующих строк; - среднее арифметическое соответствующих столбцов; - разность наибольших и наименьших элементов соответствующих строк; - значения первых отрицательных элементов в столбце. 7. Дан двухмерный массив A[1..m, 1..n]. Написать программу построения одномерного массива B[1..m], элементы которого соответственно равны а) суммам элементов строк, б) произведениям элементов строк, в) наименьшим средних арифметических элементов строк. 8. Расположить элементы данного массива в обратном порядке (первый элемент меняется с последним, второй - с предпоследним и т.д. до середины; если массив содержит нечетное количество элементов, то средний остается без изменения). 9. В данном массиве поменять местами элементы, стоящие на нечетных местах, с элементами, стоящими на четных местах. Задачи повышенной сложности 1. В массиве А[1..N, 1..N] определить номера строки и столбца какой-нибудь седловой точки. Некоторый элемент массива называется седловой точкой, если он является одновременно наименьшим в своей строке и наибольшим в своем столбце. 2. Массив А[1..5, 1..7] содержит вещественные числа. Требуется ввести целое число K и вычислить сумму элементов А[I, J], для которых I+J=К. Прежде, однако следует убедиться, что значение К позволяет найти решение, в противном случае нужно напечатать сообщение об ошибке. 3. Дан массив A[1..N, 1..N]. Составить программу, которая прибавила бы каждому элементу данной строки элемент, принадлежащий этой строке и главной диагонали. 4. Дана матрица NxM. Переставляя ее строки и столбцы, переместить наибольший элемент в верхний левый угол. Определить можно ли таким же образом поместить минимальный элемент в нижний правый угол. 5. Заполнить двухмерный массив Т[1..n, 1..n] последовательными целыми числами от 1 до n 52 0, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке: 1 2 3 4 5 6 20 21 22 23 24 7 19 32 33 34 25 8 18 31 36 35 26 9 30 29 28 27 10 15 14 13 12 11
6. Элемент двухмерного массива называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером NxN найти максимум среди всех локальных минимумов. ЛАБОРАТОРНАЯ РАБОТА №7-15. Создание однотабличной базы данных. Заполнение базы данных. Создание новых таблиц. Ввод и просмотр данных посредством формы. Создание схем данных. Создание многотабличной формы. Формирование запросов на выборку. Создание сводных таблиц и диаграмм. Создание отчетов. Цель работы: Изучить вопросы, связанные с созданием таблиц в БД и заданием схемы данных. Изучить способы создания запросов на выборку, удаление, обновление, добавление данных и формирование новых таблиц, простых форм (с помощью мастера и конструктора). Изучить свойства форм. Методическое указание. Реализовать базу данных (БД) по теме «Учет выдачи и возврата книг» в СУБД Microsoft Access 2007. В результате проектирования БД «Учет выдачи и возврата книг»получены следующие таблицы: Тематика (код тематики, наим.тематики) Издательство (код изд-ва, наим. изд-ва) Читатель (номер ЧБ, фам, адрес, год рожд, образование) Книги (№ книги, наим.книги, авторы, код тематики, код изд-ва, адрес хранения) Учет книг (номер ЧБ, № книги, дата возврата, дата выдачи, дата факт.возврата) Перед созданием таблиц в СУБД необходимо для каждого поля (столбца) таблиц определить некоторые характеристики (полужирным шрифтом выделены ключевые поля):
Тематика
Читатель
Издательство
Книги
Учет книг
1. Запустить MS Access 2007, создать новую базу данных «Учет выдачи и возврата книг». 2. Создание таблицы «Тематика»: · на закладке Главная с помощью кнопки Вид перейти в режим Конструктора:
· внести названия и типы полей таблицы «Тематика»: · в разделе Свойства поля на закладке Общие для поля Наименование тематики установить характеристики индексируемости и обязательности: · на закладке Главная с помощью кнопки Вид перейти в Режим таблицы и ввести данные в таблицу «Тематика»:
3. Создание таблицы «Читатель»: · на закладке Создание с помощью кнопки Таблица создать новую таблицу и сохранить под именем «Читатель»:
· перейти в режим Конструктора и внести названия и типы полей таблицы «Читатель»: - для поля Год рождения в разделе Свойства поля на закладке Общие внести соответствующее ограничение целостности в строку Условие на значение; - так как поле Образование должно быть представлено в виде списка, поэтому для его создания выберите тип данных Мастер подстановок. Затем в появившемся окне необходимо выбрать опцию Будет введен фиксированный набор значений, далее, отвечая на вопросы Мастера, ввести значения элементов списка;
· в разделе Свойства поля на закладке Общие для введенных полей установить соответствующие характеристики индексируемости и обязательности; · внести данные в таблицу «Читатель».
4. Аналогично создать таблицы «Издательство», «Книги», «Учет книг», учитывая характеристики полей в соответствующих таблицах, и внести данные. Обратите внимание, в каком порядке создавались таблицы и вносились в них данные!
5. Схема данных: · на закладке Работа с базами данных с помощью кнопки Схема данных вызвать схему данных и поместить на неё все имеющиеся таблицы. В случае использования Мастера подстановок, реализующего связи между таблицами, на Схеме данных уже будут отображены связи между таблицами (в противном случае, с помощью мыши установить связи между таблицами по одинаковым по смыслу полям). Для каждой связи вызвать команду Изменение связи и в появившемся окне установить флажок Обеспечение целостности данных: Внешний вид схемы данных должен быть следующий:
6. Создание форм: Экранные формы позволяют организовать наглядную и удобную работу с базой данных, состоящей из большого количества связанных таблиц реляционной базы данных. Имеющийся в системе Мастер разработки экранных форм позволяет легко создавать экранные формы нескольких видов (простые - для работы с данными одной таблицы, более сложные - для работы с несколькими таблицами с использованием подчиненных форм). · на закладке Создание с помощью кнопки Форма создать формы для каждой таблицы, улучшая внешний вид каждой формы при использовании закладки Формат.
7. Создание отчета Пусть требуется создать отчет по читателям и темам с итогами (число выданных книг) по читателям и темам. Для реализации отчета необходимо выбрать из базы данных соответствующие данные, то есть создать запрос: · на закладке Создание с помощью кнопки Конструктор запросов создать новый запрос и сохранить под именем «Книги читателя»; · поместить в созданный запрос те таблицы, сведения из которых необходимы для будущего отчета, и выбрать из этих таблиц соответствующие поля: · проверить правильность работы запроса с помощью закладки Конструктор и команды Выполнить; · на закладке Создание с помощью кнопки Мастер отчетов создать простой настраиваемый отчет на основе запроса «Книги читателей». При работе с Мастером отчетов необходимо установить следующие уровни группировки: · для добавления итогов откройте созданный отчет в Режиме макета и на закладке Формат в списке Итоги выберите Количество значений. Таким образом, общий вид отчета должен быть следующим:
8. Элементы администрирования базы данных В MicroSoft Office Access 2007 предусмотрена улучшенная модель безопасности, которая упрощает процесс защиты базы данных и ее открытия с включенной защитой. Примечание: хотя предлагаемые методы повышают уровень безопасности, наилучший способ защиты данных — хранение таблиц на специальном сервере (например, на компьютере, на котором выполняется Службы Microsoft Windows SharePoint Services 3.0) и хранение форм и отчетов на локальных компьютерах или в общих сетевых ресурсах. Cредства обеспечения безопасности в Office Access 2007:
Шифрование базы данных паролем. В средстве шифрования, доступном в MicroSoft Office Access 2007, объединены и усовершенствованы два предыдущих средства — применение паролей и шифрование базы данных. При использовании пароля базы данных для шифрования базы данных эти данные становятся недоступны для других средств, и другие пользователи вынуждены вводить пароль, чтобы получить доступ к этой базе данных. Для шифрования в Access 2007 используется более эффективный алгоритм, чем в более ранних версиях Access. · Откройте базу данных в монопольном режиме, для этого: - щелкните значок Кнопка Office , а затем выберите команду Открыть; - в диалоговом окне Открытие найдите файл, который нужно открыть, и выделите его (одним щелчком); - нажмите стрелку рядом с кнопкой Открыть и выберите вариант Монопольно: · на закладке Работа с базами данных в группе Работа с базами данных щелкните Зашифровать паролем: · откроется диалоговое окно Задание пароля базы данных, введите пароль в поле Пароль, повторите его в поле Подтверждение и нажмите кнопку ОК; · самостоятельно изучить возможности дешифровки базы данных.
Создание резервной копии базы данных. · щелкните значок Кнопка Office , выберите команду Управление, затем Резервная копия базы данных; · в появившемся окне Сохранение укажите место для сохранения резервной копии базы данных.
Упрощенное открытие баз данных. В предыдущих версиях Access пользователю приходилось отвечать на различные предупреждающие сообщения — например о безопасности макросов и изолированном режиме. По умолчанию, если в Office Access 2007 открывается база данных, расположенная не в доверенном месте, отображается только панель сообщений.
Если файлы базы данных (как в новом формате Office Access 2007, так и в более ранних) расположены в надежном месте, например в папке или в общем сетевом ресурсе, которые указаны как надежные, они будут открываться и обрабатываться без сообщений с предупреждениями и запроса о включении или отключении содержимого. Описанная ниже последовательность шагов объясняет, как найти или создать надежное расположение, а затем добавить туда базу данных. · щелкните значок Кнопка Office , а затем - кнопку Параметры Access. Примечание: открывать базу данных не требуется; · в открывшемся диалоговом окне Параметры Access выберите пункт Центр управления безопасностью и в группе Центр управления безопасностью Microsoft Office Access нажмите кнопку Параметры центра управления безопасностью; · выберите Надежные расположения, просмотрите уже созданные надежные расположения; · для создания нового надежного расположения используйте кнопку Добавить новое расположение, а затем укажите значения параметров в диалоговом окне Надежное расположение Microsoft Office; · для размещения базы данных в надежном расположении можно воспользоваться проводником Windows или открыть файл в Access и сохранить его в надежном расположении; · для открытия базы данных в надежном расположении можно использовать любой привычный способ. Например, выбрать и затем дважды щелкнуть файл в проводнике Windows либо, если уже запущен Access, нажать кнопку Microsoft Office для поиска и открытия файла. Если база данных Office Access 2007 размещена в надежном расположении, при ее открытии работают все коды VBA, макросы и безопасные выражения. При этом не возникает необходимость решать вопросы доверия.
Контрольное задание. Продемонстрировать БД «Учет выдачи и возврата книг», выполненную полностью в соответствии с данной лабораторной работой.
ЛАБОРАТОРНАЯ РАБОТА №16-18. Популярное:
|
Последнее изменение этой страницы: 2016-03-25; Просмотров: 1140; Нарушение авторского права страницы