ФУП Информатика. Контрольная работа
.pdf41
Начало |
|
|
Начало |
|
|
Ввод n |
|
|
S=0 |
|
|
i=1 |
|
|
|
да |
|
i < = n |
S=S+1/i |
i=i+1 |
нет Вывод S
Конец
Конец
Рис. 5. Схема алгоритма решения задачи 5
Поясним схему. Блоки 3, 4, 5 служат для организации цикла. С их помощью задается количество повторений цикла. Переменная i называется переменной цикла (счетчиком цикла). В
блоке 3 |
задается |
начальное |
значение |
счетчика цикла, а в |
блоке 6 – |
шаг |
изменения |
счетчика |
цикла. В блоке 4 |
осуществляется проверка на конец циклических вычислений. Обнуление суммы S в блоке 2 необходимо для того, чтобы
при первом вхождении в блок 5 действие S + 1/i было однозначно определено.
Программа на Паскале:
Program Prim_5; |
{заголовок программы} |
Var I, N: Integer; |
{блок описания данных} |
S: Real; |
|
Begin |
{начало операторов программы} |
|
42 |
Read(N); |
{ввод значения N с клавиатуры} |
S:=0; |
{обнуление суммы} |
For I:=1 To N Do |
{оператор цикла} |
S:=S+1/I; |
{циклическое действие} |
Writeln('S=',S:6:2) |
{вывод результата} |
End. |
{конец программы} |
Алгоритм на Бэйсике:
10 Input N%
20 S=0
30 For I%=1 To N%
40 S=S+1/I%
50 Next I%
60 Print ("S=";S)
70 End
Можно записать и так:
10 Input N
20 S=0
30 For I=1 To N
40 S=S+1/I
50 Next I
60 Print ("S=";S)
70End
Результаты будут одинаковы при одном и том же значении N.
Вэтой задаче можно не указывать тип переменных, так как счетчик цикла I может принимать только целочисленные значения.
43
Задача 6. Дан массив чисел D = (d1,d2,..,dn). Найти dср по формуле dср = (d1 + d2 +...+ dn)/n.
Решение этого примера похоже на решение примера 5. Сначала введем исходные данные d1,d2,..,dn и найдем их сумму S. Разделив S на n, получим dср. и выведем результат и исходные данные.
Схема алгоритма решения задачи 6:
Начало
Ввод n
i=1
|
нет |
|
i > n |
Ввод di |
i=i+1 |
да
S=0
i=1
нет
i > n |
S=S+dS=S+di i |
|
i=i+1 |
|
да dcp=S/n
Вывод dcp
Конец
Рис. 6. Схема алгоритма решения задачи 6
|
|
44 |
|
Программа на Паскале: |
|
|
Program Prim_6; |
{заголовок программы} |
|
Const M=100; |
|
|
Var I,N : Integer; |
{блок описания данных} |
|
S,DSR : Real; |
|
|
D : Array[1..M] of Real; |
|
|
Begin |
{начало операторов программы} |
|
Read(N); |
{ввод значения N ≤100 с клавиатуры} |
|
For I:=1 To N Do |
{оператор цикла} |
|
Read(D[I]); |
{Ввод значений Di} |
|
S:=0; |
{обнуление суммы} |
|
For I:=1 To N Do |
{оператор цикла} |
|
S:=S+D[I]; |
{нахождение суммы Di} |
|
DSR:=S/N; |
{нахождение среднего диаметра DSR} |
|
Writeln('DSR=',DSR:6:2) |
{вывод результата} |
|
End. |
{конец программы} |
|
Программа на Бейсике: |
|
10 |
Input N |
|
20 |
Dim D(N) |
|
30 |
For I=1 to N |
|
40 |
Input D(I) |
|
50 |
Next I |
|
60 S=0 |
|
|
70 |
For I=1 To N |
|
80 |
S=S+D(I) |
|
90 |
Next I |
|
100 DSR=S/N
110 Print ("DSR=";DSR)
120 End
45
Задача 7. Даны массив целых чисел X = (x1,x2,..,xn) и целое число Z. Найти количество чисел xi , которые равны Z.
Схема алгоритма решения задачи 7:
Начало |
|
|
Ввод n,z |
|
|
i=1 |
|
|
нет |
Ввод xi |
|
i > n |
i=i+1 |
|
да |
|
|
k=0 |
|
|
i=1 |
|
|
нет |
|
нет |
i > n |
xi=z |
i=i+1 |
да |
да |
|
|
|
|
|
k=k+1 |
|
Вывод k
Конец
Рис. 7. Схема алгоритма решения задачи 7
46
Искомое количество элементов массива Х, равных числу Z, обозначим K. До начала просмотра элементов K=0. Просматривая по порядку все элементы массива, будем сравнивать их с числом Z. Как только будет обнаружен очередной элемент, который равен Z, значение переменной K увеличивается на 1.
Программы записываются так:
Program Prim_7; |
{заголовок программы} |
|
Const M=100; |
|
|
Var I,N,K,Z : Integer; |
{блок описания данных} |
|
|
X : Array[1..M] of Integer; |
|
Begin |
{начало операторов программы} |
|
Read(N); |
{ввод значения N ≤100 с клавиатуры} |
|
For I:=1 To N Do |
{оператор цикла} |
|
|
Read(X[I]); |
{Ввод значений Xi} |
Read(Z); |
{Ввод значения Z} |
|
K:=0; |
{обнуление K} |
|
For I:=1 To N Do |
{оператор цикла} |
|
|
If X[I]=Z Then |
{проверка условия} |
|
K:=K+1; |
{нахождение количества К} |
Writeln('K=',K:6) |
{вывод результата} |
|
End. |
{конец программы} |
|
10 |
Input N,Z |
|
20 |
Dim X(N) |
|
30 |
For I=1 To N |
|
40 |
Input X(I) |
|
50 |
Next I |
|
60 K=0 |
|
|
70 |
For I=1 To N |
|
80 |
If X(I)=Z Then K=K+1 |
|
90 |
Next I |
|
100 Print ("K=";K)
110 End
47
Методические указания к выполнению задания по теме
MS OFFICE ACCESS 2010
1.Запустите программу MS ACCESS, выберите «Создание новой базы данных» и сохраните создаваемую БД под именем «Служба занятости».
2.С помощью конструктора таблиц создайте следующие таблицы:
Название |
Поля таблицы |
|
|
Код_предприятия |
|
|
Название |
|
«Предприятия» |
Адрес |
|
|
Телефон |
|
|
Руководитель |
|
|
Код_безработного |
|
|
Ф.И.О. |
|
|
Адрес |
|
«Безработные» |
Телефон |
|
|
Стаж |
|
|
Семейное_положение |
|
|
Образование |
|
|
Код_пособия |
|
|
Код_безработного |
|
«Пособия» |
Размер_выплаты |
|
|
Доп_выплаты |
|
|
Дата_постановки |
|
|
Код_вакансии |
|
«Вакансии» |
Код_специальности |
|
Код_предприятия |
||
|
||
|
Зарплата |
|
|
Код_безработного |
|
«Предпочтения» |
Код_предприятия |
|
|
Код_специальности |
|
«Специальности» |
Код_специальности |
|
Наименование |
||
|
48
Примеры заполненных таблиц.
Таблица «Предприятия»
Таблица «Безработные»
Таблица «Пособия»
Таблица «Вакансии» |
Таблица «Предпочтения» |
49
Таблица «Специальности»
3. Свяжите таблицы в схему данных, показанную на рисунке. Проанализируйте данную схему и определите, между какими таблицами установлены отношения «многие-ко-многим».
50
Рис. 8. Схема данных
Итоговые запросы
Для вычисления итоговых значений надо нажать кнопку Групповые операции, чтобы в бланке QBE появилась строка Групповые операции. MS Access использует установку Группировка в строке Групповая операция для любого поля, занесенного в бланк запроса. Теперь записи по каждому полю группируются, но итог не подводится. Если выполнить запрос сейчас, вы получите набор записей, включающий по одной строке для каждого уникального значения поля запроса – но без итогов. Для получения итогов замените установку Группировка в строке Групповая операция на конкретные итоговые функции.
MS Access предоставляет девять функций, обеспечивающих выполнение групповых операций. Вы можете задать нужную вам функцию, введя ее имя с клавиатуры в строке Групповая операция бланка запроса или выбрав ее в раскрывающемся списке.
Итоговые функции MS Access:
Sum – вычисляет сумму всех значений заданного поля в каждой группе.
Avg – вычисляет среднее арифметическое всех значений данного поля в каждой группе.