Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Практическая часть. Задача 1. Даны x,y,z. Вычислить a, b если





 

Задача 1. Даны x,y,z. Вычислить a, b если

 

 

Постановка задачи.

Входные данные –значения x, y, z, а также функции а и b

Выходные данные – значение функции a и b для различных значений аргумента х,y,z

Цель реализации алгоритма: нахождение значений a и b при заданных значениях x, y, z.

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

Словесное описание алгоритма.

Начало

1. Ввести x, y, z;

2. a:=y+(x/(y*y+(x*x/(y+(x*x*x/3)))));

3. b:=(1+sqr(sin(z/2)/cos(z/2)));

4. Вывод (a, b).

Конец

Текст программы приведен ниже

 

Program zadacha1;

Var

x, y, z:real;

a, b:real;

begin

writeln(‘vvedite x,y,z’);

readln(x,y,z);

a:=y+(x/(y*y+(x*x/(y+(x*x*x/3)))));

b:=(1+sqr(sin(z/2)/cos(z/2)));

writeln(‘a=’,a:7:3,’b=’,b:7:3);

end.

Задача 2. Даны действительные числа x, y. Определить принадлежит ли точка с координатами х и у заштрихованной части плоскости.

 

У 1


-1 1 х

 

 

-1

 

Постановка задачи.

Входные данные –значения x, y.

Выходные данные – нужно определить принадлежит ли точка с координатами х и у заштрихованной плоскости.

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

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

Словесное описание алгоритма.

Начало

1. Читаем с экрана x и y

2. Определяем положение заданной точки относительно первого отрезка (1,0;0,1)

Положение определяем, считая произведение векторов проходящих через:

1-й вектор начальная – конечная точка отрезка,

2-й вектор начальная точка отрезка – заданная точка.

Произведение > 0 => точка лежит слева от отрезка,

Произведение < 0 => справа,

Произведение = 0 =>лежит на отрезке.

3. Аналогично считаем для оставшихся отрезков.

4. Если для все отрезков точка находится слева, значит она внутри области,

Если хоть для одного справа, значит вне области, ну и если лежит на отрезке, то на границе области.

5. Выводим ответ.

Конец

(Направление отрезков против часовой стрелки)

Текст программы приведен ниже

 

program zadacha2;

var

x,y,z: real;

function location(xlin1,ylin1,xlin2,ylin2: real): integer;

var

tmp: real;

begin

tmp:= (xlin2-xlin1)*(y-ylin1) - (ylin2-ylin1)*(x-xlin1);

if tmp < 0 then location:= -1

else if tmp > 0 then location:= 1

else location:= 0;

end;

begin

repeat

write('x = ');

Readln(x);

write('y = ');

Readln(y);

if ((location(1,0,0,1)> 0) and (location(0,1,-1,0)>0) and (location(-1,0,0,-1)> 0) and (location(0,-1,1,0)>0))

then writeln('tochka prinadlegit oblasti')

else if ((location(1,0,0,1)< 0) or (location(0,1,-1,0)<0) or (location(-1,0,0,-1)< 0) or (location(0,-1,1,0)<0))

then writeln('tochka ne prinadlegit oblasti')

else writeln('tochka na granice oblasti');

Writeln;

until false;

end.

Задача 3. Дано действительное число а. Вычислить f(a), если

 

 

Постановка задачи.

Входные данные – значение а, а так же функция f(x).

Выходные данные – значение функции f(a).

Цель реализации алгоритма: ввести значение а, вычислить значение f(a), при известной функции f(x).

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

Словесное описание алгоритма:

Начало

1. Читаем а

2. Проверяем условие -2 <= a <= 2

3. Если верно, то f(a) = 2*a^2 иначе f(a) = 4

Выводим f

Конец

Текст программы приведен ниже

 

program zadacha3;

var

a,f: double;

begin

repeat

write('a = ');

readln(a);

if ((a>= -2) and (a<= 2)) then

f:= 2*sqr(a)

else f:= 4;

write('f(a) = ');

writeln(f:0:3);

writeln;

writeln;

until false;

end.

Задача 4. Даны натуральное число n, действительная матрица размером n*9. Найти среднее арифметическое каждой из строк.

Постановка задачи.

Входные данные – натурально число n, матрица размером n*9

Выходные данные – в зависимости от n, получаем определенное количество строк и выводим среднее арифметическое каждой из строк.

Цель реализации алгоритма: ввести значение n, создать матрицу размера n*9,вычислить среднее арифметическое каждой из строк.

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

Словесное описание алгоритма:

Начало

1. Читаем n

2. Создаем динамический массив размерностью nx9

3. В цикле поочередно считываем с экрана его элементы

4. В цикле считаем сумму элементов в строке и делим ее на 9

5. Выводим полученный ответ на экран

Конец

Текст программы

 

program Project4;

var

A: array of array of double;

n, i, j: integer;

tmp: double;

begin

write('n = ');

readln(n);

SetLength(A,n);

for i:=0 to n-1 do

SetLength(A[i],9);

for i:=0 to n-1 do

for j:=0 to 8 do

begin

write('A[',i,',',j,'] = ');

readln(A[i,j]);

end;

for i:=0 to n-1 do

begin

tmp:= 0;

for j:= 0 to 8 do

begin

tmp:= tmp + A[i,j];

end;

writeln('str',i+1,' ',tmp/9:0:3);

end;

readln;

end.

Задача 5. Получить единичную квадратную матрицу порядка n.

Постановка задачи.

Входные данные – n-число строк и столбцов

Выходные данные – матрица размером n*n.

Цель реализации алгоритма: ввести значение n, создать единичную матрицу размера n*n, для этого будем использовать массив.

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

Словесное описание алгоритма:

Начало

1. Читаем n

2. Создаем динамический массив размерностью nxn

3. В цикле заполняем значениями его элементы:

Если номер строки и номер столбца совпадают, то 1

Иначе 0.

4. Выводим массив на экран.

Конец

Текст программы

 

program Project5;

var

A: array of array of byte;

n,i,j: integer;

begin

write('n = ');

readln(n);

SetLength(A,n);

for i:= 0 to n-1 do

SetLength(A[i],n);

 

for i:= 0 to n-1 do

for j:= 0 to n-1 do

if (i = j) then A[i,j]:= 1

else A[i,j]:= 0;

 

for i:= 0 to n-1 do

begin

writeln;

for j:= 0 to n-1 do

write(A[i,j],' ');

end;

writeln;

readln;

end.

Задача 6. Вычислить значения z, соответствующие каждому значению х (хn<=x<=xk шаг изменения х равен dx) по формуле .

Вычислить , сумму значений z, произведение отрицательных значений z, количество вычислительных z. Контрольный расчет провести при а=2.62, хn=-3, xk=3, dx=0.6.

Постановка задачи.

Входные данные - Xn, Xk, dx, a.

Выходные данне – Z и F.

Цель реализации алгоритма: ввести значение Xn, Xk, dx, a, и при этих значениях вычислить по приведенным фомулам Z и F.

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

Словесное описание алгоритма:

Начало

1. Читаем Xn, Xk, dx, a

2. x = Xn

3. Пока x <= Xk делаем:

1) Вычисляем z

2) Если z >=0 то добавляем его в сумму положительных z

Иначе в произведение отрицательных

3) Добавляем z в общую сумму

4) Увеличиваем на 1 количество посчитанных z

5) x = x + dx

4. F = произведение отрицательных z + сумма положительных z

5. Выводим полученные значения на экран

Конец

Текст программы

 

program Project6;

var

Xn, Xk, x, dx, a, tmp,

summa,

proizveden,

F,

allsumma: double;

Count: integer;

first: boolean;

function z(x: double): double;

begin

z:= (sqr(a*x)*exp(1/3*ln(1/sqr(a+x))))/(a*ln(a + sqr(x)));

end;

begin

write('Xn = ');

readln(Xn);

 

write('Xk = ');

readln(Xk);

 

write('dx = ');

readln(dx);

 

write('a = ');

readln(a);


if (Xk < Xn) then

begin

tmp:= Xk;

Xk:= Xn;

Xn:= tmp;

end;

 

x:= Xn;

proizveden:= 0;

summa:= 0;

count:= 0;

allsumma:= 0;

first:= true;

while (x<=Xk) do

begin

tmp:= z(x);

if (tmp < 0) then if first then

begin

proizveden:= tmp;

first:= false;

end

else

proizveden:= proizveden * tmp

else summa:= summa + tmp;

allsumma:= allsumma + tmp;

Count:= Count + 1;

 

x:= x + dx;

end;


F:= proizveden + summa;

writeln;

writeln('F = ', F:0:5);

writeln('summa znachenij z = ', allsumma:0:5);

writeln('proizvedenie otricatelnih z = ', proizveden:0:5);

writeln('kolichestvo vicheslitelnih z = ', Count);

readln;

end.

 

Задача 7. Дано: а=5 da=-0.5. Z вычислять по формуле: , где q=a2-a. Считать до тех пор, пока q>0. Определить k-количество вычисленных Z. Вывести на экран a, q, Z, k.

Постановка задачи

Входные данные - а=5 da=-0.5.

Выходные данне – a, q, Z, k.

Цель реализации алгоритма: ввести значение а=5 da=-0.5-константы и при этих значениях вычислить по приведенным фомулам Z и вывести на экран a, q, Z, k.

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

Словесное описание алгоритма:

Начало

1. A = 5, da = -0.5

2. q = a^2 – a

3. пока q > 0 делать

1) z = q + 1/(q+1)

2) увеличиваем К (кол-во вычислений) на 1

3) a = a + da

4) q = a^2 - a

4. выводим на экран a, q, Z, k

Конец

Текст программы

 

var

k: integer;

a,da,z,q: double;

sd: array of integer;

begin

a:=5;

da:=-0.5;

k:=0;

q:=sqr(a) - a;

 

while(q > 0) do

begin

z:= q + 1/(q+1);

k:= k + 1;

a:= a + da;

q:=sqr(a) - a;

end;

 

writeln('a = ', a:0:5);

writeln('q = ', q:0:5);

writeln('Z = ', z:0:5);

writeln('k = ', k);

readln;

end.

 


Задача 8. Решить в excel.

 

Название учебного центра Количество неаттестованных учащихся
           
Softline            
Интерком            

 

Найти:

1. Общее число неаттестованных учащихся за каждый год.

2. Среднее число неаттестованных учащихся за каждый год по каждому учебному центру.

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

4. Построить гистограмму неаттестации за каждый год.

1 этап: ввод исходных данных в MS Excel.

 

Рисунок 1- Ввод данных

 

2 этап: вычисления.

При выполнении данного задания используются следующие функции:

1. Математические:

СУММ - сумма аргументов

2. Статистические:

1. СРЗНАЧ - среднее арифметическое аргументов

2. МАКС - максимальное значение из списка аргументов

3. МИН - минимальное значение из списка аргументов

 

Рисунок 2 – Результаты

 


Рисунок 2.1 – Результаты

 

Этап 3:Построение гистограммы. Выделяем таблицу, выполняем команду Вставка – Гистограмма и выбираем простую гистограмму.

Результат показан на рисунке

 

Рисунок 2.2- Гистограмма


Задание 9. Построить график функции f(x) в Excel.

a) ,

b)

1. Определение функции f (x). Для этого в ячейки B2:B19 вводим значение аргумента при помощи автозаполнения, в данном случае с шагом 0,1. В ячейку С3 вводится значение функции, вычисляемое по формуле = 4*B3^3+3*B3^2-8*B3-2/2-3*B3^2. Ячейки С4:С19 заполняются копированием формулы из ячейки С3.

2. Построение графика: выделяем диапазон В2:С19, вызываем «Мастер диаграмм». Для построения графика функции лучше выбрать точечную диаграмму, со значениями, соединенными сглаживающими линиями без маркеров. Чтобы график получился выразительным, можно определить промежуток изменения аргумента, увеличить толщину линий, выделить оси координат, нанести на них соответствующие деления, сделать подписи на осях и вывести заголовок.

 

 

Рисунок 3 - Построение графика функции

Аналогично делаем для задания б. Разница только в том, что в одной координатной плоскости будет два графика.

Рисунок 3.1 - Построение графика функции


Список литературы

1. Б.В. Соболь [и др.] «Информатика и программирование»– Ростов н/Д: Феникс, 2006 – 354 с.

2. Информатика. Базовый курс./С.В. Симонович и др. - СПб.: Питер, 2001

3. Информатика: базовый курс: учебник для студентов вузов, бакалавров, магистров, обучающихся по направлению «Информатика»/О.А. Акулов, Н.В. Медведев. 6-е изд., испр. и доп.-М.: Издательство «Омега-Л», 2009.-574 с. – (Высшее техническое образование).

4. Каймин В.А. Информатика: Учебник для вузов. - М.: Высшее образование, 1998.

5. Каймин В.А., Касаев Б.С. Информатика.: Практикум на ЭВМ. Учебное пособие.

6. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi.- 2-е издание, перераб. и доп.- Спб.: БХВ-Петербург,2002.-416 с.;ил.

7. Турбо Паскаль 7.0. Самоучитель. – СПб.: Питер; К.: Издательская группа BHV, 2002.-576 с.

Date: 2015-07-02; view: 5606; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию