
- •Рекомендации по выполнению и оформлению контрольной работы по дисциплине информатика
- •1. .Алгоритмизация и программирование
- •1.1. Этапы решения задач на эвм
- •1.2. Запись алгоритма с помощью блок-схем
- •1.2.1. Базовые управляющие структуры
- •{Поиск минимального элемента в массиве}
- •1.3. Тестирование
- •2. Язык программирования высокого уровня
- •2 .1. Программирование алгоритмов линейной структуры
- •2.1.1. Алфавит языка Turbo Pascal
- •2.1.2. Переменные
- •Типы переменных и констант
- •Целые типы данных языка Turbo Pascal
- •2.1.3. Стандартные математические функции, используемыев Turbo Pascal
- •Арифметические выражения
- •2.1.4. Операторы
- •Оператор присваивания
- •Ввод и вывод результатов вычислений
- •2.1.5. Общая структура программы на Turbo Pascal
- •Пример программы с линейной алгоритмической структурой
- •2.2. Программирование алгоритмов с разветвляющейся структурой
- •2.2.1.Логические выражения
- •2.2.2. Условный оператор
- •Пример выполнения задания 1 контрольной работы
- •2.3. Программирование алгоритмов циклических структур
- •2.3.1. Оператор цикла с предусловием
- •2.3.2.Оператор цикла с постусловием
- •Пример выполнения задания 2а контрольной работы
- •2.3.3.Оператор цикла с параметром
- •Пример выполнения задания 2б контрольной работы
- •2.4. Программирование задач с использованием массивов
- •2.4.1. Описание одномерного массива
- •2.4.2. Часто встречающиеся задачи на одномерный массив
- •2.4.3. Использование и обработка двумерного массива
- •2.4.4. Часто встречающиеся задачина двумерный массив
- •2.5.2. Задачи с использованием главной или побочной диагонали матрицы
- •Пример выполнения задания 3
- •2.5. Организация программ с использованием функций
- •2.5. Организация программ с использованием процедур
- •2.5.1. Параметры
- •Пример выполнения задания 4
- •2.6. Текстовые файлы
- •2.6.1. Символьный тип данных
- •2.6.2. Операции над строками
- •2.6.3. Особенности работы со строками
- •2.6.4. Редактирование строк
- •Сору (s:string; start, len:integer):string;
- •2.6.5. Преобразование строк
- •2.6.6. Процедуры и функции для работы с текстовыми файлами
- •Примеры выполнения задания 5
- •3. Электронные таблицы. Ms excel
- •3.1. Создание простых таблиц, автозаполнение, форматирование
- •3.1.1. Запуск excel
- •3.1.2. Окно программы Microsoft Excel и его элементы
- •3.1.3. Выделение столбцов, строк, блоков таблицы
- •3.2. Заполнения и редактирования таблицы
- •3.2.1. Ввод данных в таблицу
- •Ввод данных в строке формул:
- •Ввод текста
- •Ввод чисел
- •Ввод арифметических формул
- •3.2. 2. Корректировка содержимого ячейки
- •3.3. Автозаполнение
- •3.4. Относительные и абсолютные ссылки
- •3.5. Форматирование таблицы
- •Форматирование текста
- •3.6. Функции в Excel
- •3.6.1. Стандартные функции
- •Ошибки в формулах
- •3.6.2. Мастер функции
- •Использование вложенных функций
- •3.7. Знакомство с графическими возможностями excel
- •3.7.1. Построение диаграмм и графиков.
- •3.7.2. Построение гистограммы ( столбиковые диаграммы)
- •3.7.3. Построение круговой диаграммы
- •3.7.4. Построение графиков
- •Пример выполнения задания 6 а «Построения двух графиков в одной системе координат»
- •Заполните основную и вспомогательную таблицы
- •3.8. Численное решение задачи Кощи для обыкновенного дифференциального уравнения первого порядка
- •3.8.1. Математическая постановка задачи
- •Система управления базами данных Access
- •4.1. Ознакомление с основными понятиями
- •4.2. Создание новой базы данных
- •4.3. Способы создания таблиц
- •4.3.1.Создание таблицы «Список» в режиме конструктора
- •Создание таблицы “Группы” путем ввода данных
- •Создание таблицы “Личные данные” с помощью мастера
- •4.4 Организация связей между таблицами
- •4.5.Создание формы для ввода данных
- •4.6. Создание запросов и отчетов
- •4.6.1. Общие сведения
- •4.6.2.Создание запроса с использованием логических операций и условий отбора
- •Порядок работы:
- •4.6.3. Создание запроса с параметром
- •Порядок работы:
- •Порядок работы
- •4.6.4. Создание запроса с групповыми операциями
- •Порядок работы:
- •4.6.5. Создание вычисляемого поля
- •Порядок работы:
- •Порядок работы:
- •4.6.6. . Создание запросов-изменения
- •Порядок работы:
- •Порядок работы:
- •4.7. Создание отчета
- •Порядок работы:
- •Задание 2a Использование циклических структур/ Операторы цикла с предусловием и с постусловием
- •Задание 2б Использование циклических структур Оператор цикла с параметром
- •Задание 3 Работа с двумерными массивами
- •Задание 4. Использование процедур
- •Задание 5 Текстовый файл
- •Задания 6а ms Excel. Постраение графиков
- •Задания 6б Численное решение задачи Коши
- •Задание 7 Разработка информационно-поисковой системы
Пример выполнения задания 3
Дана матрица a(4, 4). Получить матрицу b(4, 4) по правилу:
а также произведение элементов строки, содержащей наименьший элемент матрицы.
program lab4;
uses crt;
var к, i, j : integer;
b, a : array [1 .. 4, 1 .. 4] of real;
p, min : real;
begin clrscr;
writeln (введите матрицу d);
for i:=1 to 4 do
for j:=1 to 4 do read (a[i, j]);
min:=a[l, 1]; k:=1;
{формирование матрицы b и в этом же цикле}
{поиск минимального элемента и номера строки,
в которой он находится}
for i:=1 to 4 do
for j:=1 to 4 do
begin
if a[i, j] > 0 then b[i, j]:=2*a[i, j] else
b[i, j]:=0;
if a[i, j] < min then
begin min:=a[i, j];
к:=i
end
end;
p:=1;
for j:=1 to 4 do
p:=p*a[k, j]; {вычисление произведения элементов
k-ой строки}
writeln (вывод b(4, 4));
for i:=1 to 4 do
begin
for j:=1 to 4 do write(b[i, j]:8:2);
writeln
end;
writeln (минимальный элемент = , min :8:2);
writeln (произведение элементов , k, строки =, p:5:2)
readkey
end.
2.5. Организация программ с использованием функций
В алгоритмических языках, в отличие от математического понятия функции, рассматриваются только такие функции, для которых можно задать алгоритм определения их значений. Самостоятельный алгоритм можно оформить как функцию в том случае, если в результате получается одно единственное значение простого типа. Функция, как и процедура, может содержать несколько операторов, несколько входных параметров, но результат ее выполнения только один. Этот единственный результат обозначается именем функции и передается в основную программу.
Описание функции содержится в главной программе после раздела описания переменных (var) и перед началом (begin) программы.
В общем виде функция записывается следующим образом:
function имя(формальные параметры) :тип результата;
Раздел описаний
begin
Раздел операторов
end;
Формальные параметры – это наименования переменных (аргументы описываемой функции), через которые передаются входные данные из программы в функцию. Формальными параметрами функции, как правило, являются параметры – значения.
Само имя функции представляет собой идентификатор - параметр, значение которого после окончания работы функции равно результату вычисления. Тип результата (функции) указывается следом за списком параметров – после закрывающей скобки этого списка и двоеточия.
В разделе операторов функции обязательно должен присутствовать хотя бы один оператор присваивания, в котором переменной с именем, совпадающим с именем функции, присваивается определенное значение, тип которого совпадает с типом результата (функции). Если такого присваивание в разделе операторов функции не выполнено, то функция не возвращает никакого результата (точнее, возвратит произвольный результат).
Например, описания вычисления функции тангенса угла:
function tg(x:real): real;
begin
tg := sin(x)/cos(x)
end;
Вызов и выполнение функции производится при вычислении указателя функции:
имя функции(фактические параметры ).
При этом вызов функции необходимо делать непосредственно внутри выражения, подобно тому, как используются стандартные встроенные функции, например синус sin(x). Фактические и формальные параметры должны согласовываться
по порядку следования,
количеству,
типам.
Например, вызов ранее описанной функции tg можно произвести так:
a := tg(y);
После выполнения функции выработанный ею результат используется в качестве значения указателя функции в том выражении, в котороe входит этот указатель. При вызове функции передача фактических параметров производится так же, как и при вызове процедуры.
Пример. Заданы стороны двух треугольников MNK (стороны m, n, k) и PLF (стороны p, l, f ). Переменной s присвоить значение –1, если площадь треугольника MNK меньше или равнa площади треугольника PLF, и значение 1 в противном случае.
Вычисление площади треугольников по формуле Герона оформить в виде функции pl.
Примечание. Формула Герона для вычисления площади треугольника со сторонами a, b, c:
,
где
,
где p
– полупериметр треугольника.
program pr1;
uses crt;
var m, n, k, l, p, f, h, q: real;
s : integer;
function pl(a, b, c: real): real;
var r : real;
begin
r:= ( a + b + c ) / 2;
pl:= sqrt (r*(r – a)*(r – b)*(r – c));
end;
begin clrscr;
writeln(‘Введите стороны m, n, k, p, l, f’);
readln(m, n, k, p, l, f );
h := pl(m, n, k);
q := pl(p, l, f );
if h > q then s := 1 else s := –1;
writeln('s=' , s :3);
readkey;
end.
При передаче в функцию массива фактическим параметром является имя массива. Обратим внимание на то, что в заголовке функции для указания типов формальных параметров могут использоваться только имена типов, но не их описания.
Нельзя записать так:
function sum(a: array[1..5] of real; var : real):real;
Пример. Пусть заданы два вектора а(8) и b(12). Вычислить для каждого вектора произведение его элементов.
program pr2;
type vect = array [ 1 .. 12 ] of real;
var a, b: vect;
ta, tb : real;
. . . . . . . . . . . . . .
function prl(var x: vect; n: integer): real;
var i: integer;
p: real;
begin p := 1;
for i:= 1 to n do
p := p * x[ i ];
pr := p
end;
begin
. . . . . . . . . . . . . . .
ta:= pr(a, 8);
tb:= pr(b, 12);
. . . . . . . . . . . . . . . . .
end.
Пример
Дана матрица А(4,4).
Вычислить
Z= X1X4 +X2X3 + X3X2+ X4X1,
где Xk – наибольшее из значений элементов K – го столбца матрицы A.
Вычисление наибольшего значения оформить в виде функции.
program lab6;
type matr = array[1..4,1..4] of real;
var a: matr; z: real;
x: array[1..4] of real;
i, j: integer;
function max(y:matr; k: integer): real;
var m: real; i: integer;
begin
m: = a[1,k];
for i:= 2 to 4 do
if a[i,k]> m then m:= a[i,k];
max:=m
end;
begin
writeln(‘введите матрицу a(4,4)’);
for i:= 1 to 4 do
for j:= 1 to 4 do read(a[i,j]);
for i:= 1 to 4 do x[i] :=max(a,i);
z:=0;
for i:= 1 to 4 do
z := z + x[i] * x[5 – i];
writeln(‘z=’,z:6:2);
readkey;
end.