Написать и отладить программу обработки вещественных данных.

Пример. Написать и отладить программу приближенного нахождения корня уравнения ex - 3x =0 на отрезке [1; 5] методом половинного деления с точностью 0,01.

Решение. Решение задачи состоит из двух частей — отделение корня и уточнение корня.

Отделение корня можно реализовать программно или с помощью вспомогательных программных средств (например, с помощью MS Excel). Рассмотрим второй вариант отделения корня (напомним, что на некотором отрезке существует корень, если функция на этом отрезке меняет знак; если она к тому же монотонна, то корень единственный). Протабулируем левую часть уравнения на заданном отрезке с шагом 0,1.

Написать и отладить программу обработки вещественных данных. - student2.ru

Замечаем, что рассматриваемая функция на заданном отрезке [1; 5] меняет знак лишь единожды на отрезке [1,5; 1,6]. На этом отрезке и будем уточнять корень.

QBasic

DECLARE FUNCTION F! (x!)

PRINT "Введите a, b, eps:"

INPUT a, b, eps

DO

c = (a + b) / 2

IF F(a) * F(c) < 0 THEN b = c ELSE a = c

LOOP UNTIL b — a < eps

x = (a + b) / 2

PRINT USING "###.######"; x

FUNCTION F (x)

F = EXP(x) — 3 * x

END FUNCTION

Pascal

program divide_half;

var a,b,c,eps,x:real;

function f(x:real):real;

begin f := exp(x) - 3*x end;

begin

write('Введите a, b, eps: ');

readln(a, b, eps);

repeat

c := (a + b)/2;

if f(a) * f(c) < 0 then b := c

else a := c

until b – a < eps;

x := (a + b)/2;

writeln('x=', x:10:7)

end.

C++

#include <iostream.h>

#include <math.h>

double f(double x);

void main()

{ double a,b,c,eps,x;

cout << "Введите a, b, eps:";

cin >> a >> b >> eps;

do

{ c = (a + b)/2;

if (f(a) * f(c) < 0) b = c; else a = c;

} while (b – a >= eps);

x = (a + b)/2;

cout << x;

}

double f(double x)

{

return exp(x) – 3 * x;

}

Задания

На отрезке [–10; 10] (или на той его части, что входит в область определения уравнения) отделите корни. Уточните один из корней по методу половинного деления с точностью e с помощью программы для компьютера.

Уравнения:

1) x – 10sinx = 0

Контроль

1-й корень [-8.43;-8.42]

x = -8.42320393239788

2-й корень [-7.07;-7.06]

x = -7.06817435807170

3-й корень [-2.86;-2.85]

x = -2.85234189447510

4-й корень [-0.01; 0.00]

x = 0.00000000002053

5-й корень [ 2.85; 2.86]

x = 2.85234189443872

6-й корень [ 7.06; 7.07]

x = 7.06817435810808

7-й корень [ 8.42; 8.43]

x = 8.42320393235423

2) xsinx – 1 = 0

Контроль (для отрезка [–10; 10])

1-й корень [-9.32;-9.31]

x = -9.31724294142623

2-й корень [-6.44;-6.43]

x = -6.43911723842757

3-й корень [-2.78;-2.77]

x = -2.77260470826150

4-й корень [-1.12;-1.11]

x = -1.11415714090799

5-й корень [ 1.11; 1.12]

x = 1.11415714084615

6-й корень [ 2.77; 2.78]

x = 2.77260470827241

7-й корень [ 6.43; 6.44]

x = 6.43911723843485

8-й корень [ 9.31; 9.32]

x = 9.31724294144078

3) 2x2 – 5 = 2x

Контроль

1-й корень [-1.64;-1.63]

x = -1.63137672535049

2-й корень [ 2.18; 2.19]

x = 2.18478845171194

3-й корень [ 6.13; 6.14]

x = 6.13493835514964

4) 4x4 – 6,2 = cos0,6x

Контроль

1-й корень [-1.15;-1.14]

x = -1.14899614950809

2-й корень [ 1.14; 1.15]

x = 1.14899614952083

5) ln(x + 6,10 = 2sin(x – 1,4)

Контроль

1-й корень [-5.93;-5.92]

x = -5.92148540437483

2-й корень [-4.73;-4.72]

x = -4.72227504245529

3-й корень [-2.45;-2.44]

x = -2.44636594824988

6) 2-x = 1 – 0,5x2

Контроль

1-й корень [-2.69;-2.68]

x = -2.68003383521864

2-й корень [ 4.46; 4.47]

x = 4.46197840075183

7) 5sin2x = sgrt(1-x)

Контроль

1-й корень [-18.32;-18.31]

x = -18.31275351383374

2-й корень [-17.81;-17.80]

x = -17.80359794106334

3-й корень [-15.24;-15.23]

x = -15.23931500948675

4-й корень [-14.60;-14.59]

x = -14.59236215599230

5-й корень [-12.17;-12.16]

x = -12.16045625391416

6-й корень [-11.39;-11.38]

x = -11.38599320170761

7-й корень [-9.09;-9.08]

x = -9.08077073001186

8-й корень [-8.18;-8.17]

x = -8.17946302043856

9-й корень [-6.01;-6.00]

x = -6.00429034909757

10-й корень [-4.97;-4.96]

x = -4.96761637068994

11-й корень [-2.94;-2.93]

x = -2.93754330773299

12-й корень [-1.74;-1.73]

x = -1.73949286292191

13-й корень [ 0.09; 0.10]

x = 0.09567866423583

3. Построить таблицу истинности для заданной логической схемы (логическая схема должна содержать не менее трех входов).

Пример

Построить таблицу истинности для данной логической схемы:

Написать и отладить программу обработки вещественных данных. - student2.ru

Решение

Написать и отладить программу обработки вещественных данных. - student2.ru

Таблица истинности построена так.

По заданной схеме записано соответствующее ей логическое выражение.

Получаем Написать и отладить программу обработки вещественных данных. - student2.ru (знак конъюнкции пропущен).

Строим соответствующую ему таблицу истинности.

Примечание. В действительности логические элементы обозначаются не так, как в приведенном примере; их обозначения приведены в билете № 9. В заданиях ниже используются именно такие обозначения.

Задания

Построить таблицу истинности для данных логических схем.

Написать и отладить программу обработки вещественных данных. - student2.ru

Литература

1. Введение в информатику. Лабораторные работы. / Авт.-сост. А.П. Шестаков; Пермский университет. Пермь, 1999, ч. I, 56 с.

Билет № 24

1. Основные понятия баз данных. Системы управления базами данных. Создание, ведение и использование баз данных при решении учебных и практических задач. Примеры баз данных: юридические, библиотечные, здравоохранения, налоговые, социальные, кадровые. Организация баз данных. Использование инструментов системы управления базами данных для формирования примера базы данных учащихся в школе.

База данных (БД) предназначена для хранения больших объемов данных во внешней памяти вычислительной системы. Эта совокупность специальным образом организованных данных, отражающая состояние объектов в некоторой предметной области. Предметной областью может быть книжный фонд библиотеки, музейный фонд, кадровый состав предприятия, учебный процесс в школе. База данных составляет часть соответствующей информационной системы.

Понятия “данные” и “модель данных” являются центральными для баз данных. Категория “данные” означает параметры, конкретные значения, которые определяют объект. Например, 1 байт, Иванов А.П. Данные не имеют определенной структуры. Логическую структуру хранимой в БД информации называют моделью представления информации. Это некоторая абстракция, которая отражает взаимосвязь данных.

Рассмотрим основные модели данных.

Иерархическая модель

В реальном мире многие связи соответствуют некоторой иерархии, когда один объект выступает как родительский, а с ним связано множество подчиненных объектов. Связи между объектами описывают с помощью упорядоченного графа, дерева, которое упрощенно можно представить в следующем виде:

Написать и отладить программу обработки вещественных данных. - student2.ru

Основными информационными единицами иерархической модели являются сегмент и поле. Поле — это минимальная неделимая единица данных, сегмент называется записью. В модели сегменты объединяются в ориентированный древовидный граф. Ребра графа отражают иерархические связи между сегментами. “Дерево” состоит из одного корневого сегмента и упорядоченного набора подчиненных сегментов.

Возможен следующий пример организации данных типа “дерево”:

Написать и отладить программу обработки вещественных данных. - student2.ru

Конкретный экземпляр записей в базе данных с приведенной схемой “дерево” может, например, выглядеть следующим образом:

Написать и отладить программу обработки вещественных данных. - student2.ru

Сетевая модель

С помощью сетевой модели можно отобразить взаимосвязи объектов в виде произвольного графа:

Написать и отладить программу обработки вещественных данных. - student2.ru

Для описания сетевой базы данных используют понятия “запись” и “связь”. Связь определяется для двух записей: предка и потомка. В иерархической модели запись-потомок имела только одну запись-предок, в сетевой модели данных такого ограничения нет, запись-потомок может иметь произвольное число записей-предков.

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

Написать и отладить программу обработки вещественных данных. - student2.ru

Сетевая БД состоит из набора записей и соответствующих связей.

Реляционная модель

Эта модель данныхоснована на понятии отношения. Наглядной формой отношения является двумерная таблица. С помощью таблицы можно описать простейший вид связей между данными: деление одного объекта на множество подобъектов, которым соответствуют строки таблицы.

Написать и отладить программу обработки вещественных данных. - student2.ru

Строки таблицы имеют одинаковую структуру и называются записями. Записи содержат информацию об отдельном объекте — о классе в нашем примере. Записи состоят из полей. Поле — это определенное свойство, атрибут объекта: название класса, его профиль. Поле имеет определенный тип, который определяет множество значений и множество операций, выполняемых с данными. Основными типами данных, применяемыми в БД, являются числовой, символьный, логический и дата.

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

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

На основе модели данных строят базу данных. Далее рассмотрим реляционную БД как наиболее распространенную в настоящее время.

Наши рекомендации