ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ ПО РЫБОЛОВСТВУ
МУРМАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра Информационных систем
А.Э.Кириченко
ИНФОРМАТИКА
Методические указания и задания к контрольным работам для студентов экономических специальностей факультета заочного социально-экономического образования
Мурманск
2002
УДК 004:33 (07)
ББК 32.81+ 65.С
И-74
Составитель: Александр Эдуардович Кириченко
, доцент кафедры Информационных систем Мурманского государственного технического университета
Методические указания рассмотрены и одобрены кафедрой
17 июня 2002 года, протокол № 6
Рецензент:
зав. кафедрой Информационных систем, доцент Качала В.В.
Оригинал макета подготовлен в авторской редакции
ã А.Э.Кириченко 2002
ã Мурманский государственный технический университет, 2002
1. Введение
Данное пособие разработано в соответствии с рабочими программами по дисциплине "Информатика" для студентов экономических специальностей заочного отделения.
В пособии предлагаются варианты заданий контрольных работ и примеры выполнения заданий. Первое задание относится к той части курса, которая предлагается для самостоятельного изучения.
Лабораторные работы по изучению дисциплины выполняются на основе заданий контрольной работы и примеров выполнения заданий, а также лекционных материалов и материалов практических занятий.
2. Основные положения
Цель данного пособия состоит в обеспечении возможности студенту заочного образования достаточно полно представить себе требования относительно его теоретических знаний в дисциплине "Информатика", а также получить рекомендации к выполнению необходимых для допуска к экзамену контрольных заданий.
Контрольные задания представляют собой комплекс заданий включающий:
теоретический вопрос, ответом на который должен являться мини-реферат (не более чем четыре машинописных страницы);
четыре задания на составление алгоритмов, реализованных в алгоритмическом языке Паскаль.
Номер варианта определяется последней цифрой номера зачетной книжки (студенческого билета).
На экзамене студент обязан ответить на два теоретических вопроса, если он заранее сдал контрольное задание, которое было зачтено без замечаний. В случае наличия замечаний у проверяющего преподавателя, экзаменатор имеет право на дополнительные вопросы по темам контрольного задания.
3. Контрольное задание 1. Теоретический вопрос
Представить развернутые ответы на вопрос в соответствии с вариантом задания.
3.1. Варианты задания
0. Операционные системы семейства WINDOWS. Назначение, основные характеристики и элементы интерфейса.
1. Системы обработки текстовой информации. Назначение, классификация, перечень наиболее распространенных программных продуктов и их характеристики.
2. Системы обработки графической информации. Назначение, классификация, перечень наиболее распространенных систем и их характеристики.
3. Электронные таблицы. Назначение, принципы организации и основные определения. Основы работы в Microsoft Excel.
4. Электронная почта. Назначение, принципы организации и основные определения. Программное обеспечение для обслуживания электронной почты.
5. Глобальная сеть Internet. Назначение, принципы организации и основные определения. Программное обеспечение для обслуживания пользователей сети.
6. Защита информации. Основные методы защиты и их краткая характеристика.
7. Компьютерные вирусы и защита от них. Программное обеспечение для защиты от вирусов и его классификация.
8. Архивация данных. Принципы сжатия данных, программное обеспечение и его основные характеристики.
9. Закон об информатизации и его основные положения.
4. Контрольное задание 2. Линейные алгоритмы
Написать программу реализации линейного алгоритм приема исходных данных со стандартного внешнего устройства (клавиатуры), преобразования данных в результат по заданной в соответствии с вариантом формуле и вывода исходных данных и результата на стандартное устройство вывода (дисплей). Исходные данные и результат должны быть представлены в форматированном виде.
4.1. Варианты задания
Вариант |
Формула |
Вариант |
Формула |
0 |
|
5 |
|
1 |
|
6 |
|
2 |
|
7 |
|
3 |
|
8 |
|
4 |
|
9 |
|
4.2. Пример выполнения задания
В качестве примера используется для выполнения расчетов следующая формула:
Для удобства программирования некоторые части формулы представляются как отдельные выражения:
Программа для указанного примера имеет следующий вид:
Program Z2;
var
a, x, y, c, d, p, q: real;
begin
writeln('‚Введите исходные данные (a, x)');
readln( a,x);
q:= sqrt(2);
p:= x*x;
c:= 1/(4*a*a*a*q);
d:=a*x*q+a*a;
y:= c*ln(abs((p+d)/(p-d)));
writeln('Исходные данные:');
writeln('a=', a:6:2,' x=', x:6:2);
writeln('Результат:');
writeln('y=',y:10:5);
readln;
end.
Примерный вид исходных данных и результатов на дисплее:
Исходные данные:
a= 3.50 x= 1.80
Результат:
y= 0.00127
5. Контрольное задание 3. Алгоритмы ветвления
Написать программу, определяющую принадлежит ли точка с заданными координатами (
x,
y)
заштрихованной области на прилагаемом в соответствии с вариантом графике.
5.1. Варианты задания
5.2. Пример выполнения задания
Написать программу, определяющую принадлежит ли точка с заданными координатами (
x,
y)
заштрихованной области на прилагаемом графике.
Рассмотрим условия, при которых точка (
x,
y)
может принадлежать заштрихованной области, для чего разделим указанную область на две подобласти: сектор круга в правом вернем квадранте графика и треугольная область в правом нижнем квадранте.
Для того, чтобы принадлежать первой подобласти (сектору), координаты точки должны удовлетворять условиям:
x > 0,
y > 0, √(
x2
+
y2
) < 6
.
принадлежность ко второй (треугольнику) подобласти определяется условиями:
x > 0,
y <0,
y > (
x-6
)
/значение y
должно лежать выше прямой y=(
x-6
)
/.
Оба эти условия могут быть записаны в виде логических выражений, истинность одного из которых будет означать, что заданная точка принадлежит либо сектору, либо треугольнику в заданной фигуре, что записывается в терминах алгебры логики следующим образом:
F1
= (
x > 0)
Λ (
y >0)
Λ (√(
x2
+
y2
) < 6
);
F2
= (
x > 0)
Λ (
y <0)
Λ (
y > (
x-6
));
F =
F 1
V
F 2
,
где Λ
и V
конъюнкция и дизъюнкция, соответственно.
Программа для указанного примера имеет следующий вид:
Program Z2;
var
x, y: real;
f1, f2, f: boolean;
begin
writeln('Введите значения x и y: ');
readln( x, y);
f1:= (x>0) and (y>0) and (sqrt(x*x+y*y)<6);
f2:= (x>0) and (y<0) and (y>(x-6));
f:= f1 or f2;
if f then
writeln('Заданная точка принадлежит заданной области')
else
writeln(' Заданная точка не принадлежит заданной области ');
end.
В результате работы программы на дисплей будет выведено соответствующее сообщение.
6. Контрольное задание 4. Алгоритмы обработки массивов
Реализовать алгоритм обработки массива в соответствии с вариантом задания. Вывести на экран исходный массив и результаты его обработки.
6.1. Варианты задания
0. В одномерном массиве найти минимальный и максимальный элементы массива и заменить первый элемент массива суммой минимального и максимального элементов. Вывести на экран исходный и результирующий массивы.
1. Найти среднее арифметическое элементов одномерного массива и определить порядковый номер первого элемента, меньше среднего арифметического. Вывести на экран массив, среднее арифметическое и порядковый номер найденного элемента.
2. Найти максимальный элемент одномерного массива и поменять местами второй элемент с максимальным. Вывести на экран исходный и результирующий массивы.
3. Найти минимальный элемент одномерного массива и поменять местами пятый элемент с минимальным. Вывести на экран исходный и результирующий массивы.
4. Ввести массив, содержащий целые отрицательные, положительные числа и нули. Переписать в другой массив только отрицательные элементы. Вывести на экран исходный и новый массивы.
5. В одномерном массиве целых чисел определить порядковые номера четных элементов. Вывести на экран исходный массив и номера четных элементов.
6. В одномерном массиве целых чисел определить порядковые номера элементов, кратных трем. Вывести на экран исходный массив и номера элементов, кратных трем.
7. В одномерном массиве целых чисел найти минимальный и максимальный элементы и поменять их местами. Вывести на экран исходный и результирующий массивы.
8. Ввести одномерный массив Х вещественных чисел. Размерность массива 7. Переписать элементы этого массива в обратном порядке в массив Y. Вывести на экран массивы Х и Y.
9. В одномерном массиве, содержащем положительные, отрицательные элементы и нули, найти первый отрицательный элемент. Вывести на экран исходный массив и порядковый номер первого отрицательного элемента.
6.2. Пример выполнения задания
Написать программу ввода с клавиатуры количества элементов массива и заполнения его вещественными числами. Организовать выборку элементов больших среднего арифметического по исходному массиву и переписать их в другой массив. Вывести на экран исходный массив, значение среднего арифметического и массив-результат.
Алгоритм решения задачи состоит из следующих шагов:
· ввести количество элементов исходного массива;
· ввести элементы массива по одному в строке;
· вычислить значение среднего арифметического;
· выбрать из исходного массива элементы большие среднего и переписать их значения в массив результат;
· последовательно вывести на экран исходный массив, значение среднего и массив-результат.
Программа для указанного примера имеет следующий вид:
Program Z4;
var
a, b: array[1..20] of real;
i, j, n: integer;
s: real;
begin
write( 'Количество элементов исходного массива? ');
readln(n);
writeln('Водите элементы массива');
for i:=1 to n do
readln(a[i]);
s:= 0;
for i:=1 to n do
s:= s+a[i];
s:=s/n;
j:=0;
for i:=1 to n do
if a[i]>s then
begin
j:=j+1;
b[j]:=a[i];
end;
writeln(' Исходный массив:');
for i:=1 to n do
write(a[i]:6:2);
writeln;
writeln(' Среднее арифметическое: s=', s:8:4);
writeln(' Массив-результат:');
for i:=1 to j do
write(b[i]:6:2);
writeln;
end.
Примерный вид исходных данных и результатов на дисплее:
Исходный массив:
7.53 1.25 3.23 4.78 6.73 0.17
Среднее арифметическое: s= 3.9482
Массив-результат:
7.53 4.78 6.73
7. Контрольное задание 5. Алгоритмы обработки сложных структур данных
Реализовать алгоритм обработки данных сложной структуры типа запись
.
7.1. Варианты задания
0. Информация о продукции молокозавода содержит следующие данные: наименование продукта, объем упаковки, дату выпуска (номер месяца и номер дня в месяце), срок годности в днях.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о продуктах с заданным наименованием и минимальным сро
1. Информация об авиарейсах содержит следующие данные: наименование пункта назначения, номер рейса, время вылета (часы и минуты), цену билета.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о рейсах с ценой билета больше средней, в заданный пункт назначения, вывод данных о них на экран и сохранение в текстовом файле.
2. Информация о концертах городской филармонии содержит следующие данные: наименование места проведения, количество мест в зале, дату проведения, включающую номер месяца и дня , среднюю цену билета.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о самых дорогих концертах, проводимых в заданном месте, вывод данных о них на экран и сохранение в текстовом файле.
3. Информация о продаже компьютеров содержит следующие данные: тип процессора, тактовая частота, емкость ОЗУ, емкость жесткого диска, цену.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о компьютерах с максимальной тактовой частотой и заданной ценой, вывод данных о них на экран и сохранение в текстовом файле.
4. Информация о продаже автомобилей содержит следующие данные: марка, цвет, год выпуска, объем двигателя, цену.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации об автомобилях заданной марки и ценой ниже средней, вывод данных о них на экран и сохранение в текстовом файле.
5. Информация службы занятости о вакансиях содержит следующие данные: должность, заработок, необходимые образование и стаж работы, количество вакантных мест.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о вакансии при заданном образовании с минимальным необходимым стажем, вывод данных о них на экран и сохранение в текстовом файле.
6. Информация о движении поездов содержит следующие данные: пункт назначения, номер поезда, время отправления (часы и минуты), количество свободных мест, средняя цена билета.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о самых ранних (час отправления) поездах в заданный пункт назначения, вывод данных о них на экран и сохранение в текстовом файле.
7. Информация о посадочном материале для озеленения содержит следующие данные: наименование посадочного материала, место посадки, дату посадки количество единиц материала и цену единицы.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о заданном посадочном материале, высаживаемом позже всех (день месяца), вывод данных о нем на экран и сохранение в текстовом файле.
8. Информация о выдаче денег при уходе сотрудников в отпуск содержит следующие данные: фамилия, должность, дата ухода в отпуск (номер месяца и дня в нем), начисленная сумма.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о сотрудниках заданной должности с минимальным начислением, вывод данных о них на экран и сохранение в текстовом файле.
9. Информация о движении междугороднего автобуса содержит следующие данные: название остановки, время прибытия (часы, минуты), время стоянки (минуты), стоимость проезда из начального пункта.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации об остановках, стоянка на которых выше средней по маршруту, вывод данных о них на экран и сохранение в текстовом файле.
7.2. Пример выполнения задания
Информация о междугородних переговорах абонента содержит следующие данные: город, номер телефона абонента, дату (номер месяца и номер дня в месяце), количество минут, цену минуты разговора.
Написать программу, в которой:
обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле;
организовать выборку из типизированного файла информации о переговорах в заданном месяце, чья стоимость превысила среднюю стоимость переговоров за предыдущие месяцы в году, вывод данных о них на экран и сохранение в текстовом файле.
Алгоритм решения задачи должен одержать следующие шаги:
· организация структуры данных для одного разговора;
· циклический ввод данных и сохранение их в типизированном файле;
· завершение ввода при соответствующем подтверждении путем нажатия клавиш 'Y' или 'y';
· ввод значения номера заданного месяца;
· определение средней стоимости переговоров за период, предшествующий заданному месяцу;
· выборка и вывод на экран данных по переговорам в заданном месяце, стоимость которых выше средней за предыдущий период.
Структура данных о междугородних переговорах должна содержать следующие поля:
· текстовое поле – город
;
· текстовое поле – телефон абонента
;
· поле целого числа – номер месяца
;
· поле целого числа – номер дня в месяце
;
· поле целого числа – количество минут разговора
;
· поле вещественного числа – цена минуты разговора
.
В результате работы программы в текущем каталоге будут образованы два файла: mgts.
dat
с введенными исходными данными и mgts.
txt
с результатами выборки данных. информация второго файла будет продублирована на экране дисплея.
Программа для указанного примера имеет следующий вид:
Program Z5;
type
{структура данных}
t_mgts= record
town, tel: string; {город и номер телефона}
d, m, min: integer; {день, месяц и количество минут}
price: real; {стоимость одной минуты}
end;
var
m: t_mgts; {переменная для хранения данных}
f: file of t_mgts; {файл для хранения данных}
ft: text; {файл для хранения результатов обработки}
ans: char; {переменная для подтверждения конца ввода}
mz, n: integer; {заданный месяц и
количество переговоров за предыдущий период}
s: real; {сумма и средняя стоимость переговоров}
begin
{создать файл mgts
.
dat
для хранения данных}
assign( f, 'mgts.dat');
rewrite( f);
{начать цикл ввода данных и сохранения их в файле }
repeat
{объявить работу с записью m
}
with m do
begin
{заполненить полей переменной m
данными с клавиатуры}
write('Город? '); readln(town);
write('Номер телефона? '); readln(tel);
write('Месяц? '); readln(m);
write('День месяца? '); readln(d);
write('Количество минут? '); readln(min);
write('Цена минуты? '); readln(price);
end;
{записать значение переменной m
в файл mgts
.
dat
}
write( f, m);
{ввести ответ на запрос об окончании набора данных}
write('Ввод закончен? ');
readln(ans);
{закончить цикл ввода при положительном ответе}
until (ans='Y') or (ans='y');
{закрыть файл mgts.dat
}
close( f);
{ввести номер заданного месяца}
write('Заданный месяц? '); readln(mz);
n:=0; s:=0;
{установить файл mgts
.
dat
на начало для чтения}
reset( f);
{проверить достижения конца файла mgts
.
dat
}
while not eof(f) do
{пока не достигнут конец файла выполнять}
begin
{считать очередную запись файла mgts
.
dat
}
read( f, m);
if (m.m<mz) then
{если номер месяца меньше заданного выполнить}
begin
{увеличить счетчик записей на 1}
n:= n+1;
{добавить к сумме стоимости переговоров стоимость очередного разговора}
s:= s+ m.min*m.price;
end;
end;
{вычислить среднюю стоимость переговоров}
s:= s/n;
{создать файл mgts
.
txt
для хранения результатов выборки}
assign(ft, 'mgts.txt');
rewrite(ft);
{установить файл mgts
.
dat
на начало для чтения}
reset(f);
{проверить достижения конца файла mgts
.
dat
}
while not eof(f) do
{пока не достигнут конец файла выполнять}
begin
{счтитать очередную запись файла mgts
.
dat
}
read( f, m);
{объявить работу с переменной m
}
with m do
if (m=mz) and (min*price>s) then
{если месяц заданной и стоимость выше средней}
begin
{вывести информацию о найденном разговоре на экран}
writeln( town, tel, m, d, min, price);
{сохранить информацию о найденном разговоре в файле mgts
.
txt
}
writeln( ft, town, tel, m, d, min, price);
end;
end;
{закрыть файл mgts.txt
}
close( ft);
end.
8. Примерный перечень вопросов для контроля знаний
1. Основные понятия информатики. Информация и ее использование. Понятие кода и кодирования информации. Единицы измерения количества информации.
2. Представление информации в компьютере. Таблицы кодов (ASCII и UNICODE).
3. Понятие системы счисления. Двоичная и шестнадцатиричная система счисления.
4. Перевод чисел между двоичной и десятичной, шестнадцатиричной и десятичной, шестнадцатиричной и двоичной системами счисления.
5. Алгебра логики. Основные функции и их таблицы истинности.
6. Компьютер как система обработки информации. Структура компьютера. Взаимодействие компонент компьютера.
7. Стандартные устройства персонального компьютера и их характеристики. Основной алгоритм работы процессора.
8. Программное обеспечение компьютера, типы программного обеспечения.
9. Понятие операционной системы, функциональное назначение и основные компоненты. Типы операционных систем.
10. Файловая система OS. Примеры организации файловой структуры.
11. Понятие алгоритма и его свойства. Способы записи алгоритмов. Типовые элементы блок-схем.
12. Типовые алгоритмы (следования, ветвления, циклические) и их блок-схемы.
13. Этапы решения задач с использованием ЭВМ.
14. Языки программирования. Трансляторы и интерпретаторы.
15. Понятие о компьютерных вирусах. Антивирусная профилактика. Архивация файлов.
16. Назначение и возможности архиваторов.
17. Интегрированная среда Турбо-Паскаль. Назначение и возможности. Структура программы в Турбо-Паскале.
18. Структура, состав и назначение секции описаний в программе на Паскале.
19. Переменные и константы. Необходимость и правила их описания.
20. Стандартные типы переменных для хранения чисел. Описание и присваивание значений.
21. Символьные и строковые переменные. Переменные логического типа. Описание и присваивание значений.
22. Массивы. Описание и присваивание значений элементам массивов. Описание и присваивание значений.
23. Процедуры и функции работы со строками.
24. Переменные типа запись. Назначение, описание и доступ к полям записи.
25. Понятие предложения (оператора) в Турбо-Паскале. Объединение групп предложений в блоки.
26. Процедуры ввода и вывода. Форматированный вывод данных.
27. Оператор присваивания и выражение. Арифметические операции и выражения. Правила записи и порядок выполнения.
28. Логические операции и выражения. Правила записи и порядок выполнения.
29. Основные математические функции Турбо-Паскаля.
30. Условные операторы. Назначение, типы и правила записи. Оператор выбора. Назначение и правила записи.
31. Операторы цикла. Назначение, типы и правила записи.
32. Файлы в Паскале и MS DOS. Правила их взаимодействия. Особенности использования процедур ввода-вывода при работе с файлами.
33. Текстовые файлы, их особенности и правила работы с ними.
34. Типизированные файлы, их особенности и правила работы с ними. Процедуры и функции работы с типизированными файлами.
9. Рекомендуемая литература
1. Качала В.В. Основы программирования на языке Турбо-Паскаль. – Мурманск МГАРФ 1997. – 90с.
2. Качала В.В. Основы информатики. – Мурманск МГАРФ 1997. – 90с.
3. Информатика: Учебник под ред. Макаровой Н.В. – М.: , Финансы и статистика, 1997. – 768с.
4. Левин А. Самоучитель работы на компьютере. – М.: Диалог МИФИ, 1999. – 670с.
5. Левин А. Самоучитель полезных программ. – СПб.: Питер, 2002. – 720с.
6. Фаронов Э.В., Турбо-Паскаль 7.0. – М.: Диалог МИФИ, 1998. –470с.
7. Юркин А.Г. Задачник по программированию. – СПб.: Питер, 2002. – 192с.
10. Оглавление
1. Введение 3
2. Основные положения 4
3. Контрольное задание 1. Теоретический вопрос 4
3.1. Варианты задания 4
4. Контрольное задание 2. Линейные алгоритмы 5
4.1. Варианты задания 6
4.2. Пример выполнения задания 6
5. Контрольное задание 3. Алгоритмы ветвления 7
5.1. Варианты задания 7
5.2. Пример выполнения задания 9
6. Контрольное задание 4. Алгоритмы обработки массивов 10
6.1. Варианты задания 11
6.2. Пример выполнения задания 12
7. Контрольное задание 5. Алгоритмы обработки сложных структур данных 13
7.1. Варианты задания 13
7.2. Пример выполнения задания 17
8. Примерный перечень вопросов для контроля знаний 20
9. Рекомендуемая литература 22
10. Оглавление 23