Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Упражнения. Вопросы для самоконтроля




Вопросы для самоконтроля

7.16.

7.15.

7.11.

7.8.

7.6.

7.1.

а) (x+y)/(x-1/2)-(x-z)/(x*y); б) (1+z)*(x+y/z)/(a-1/(1+x*x)); в) x**(n*(m+2)) + x**(n**m); г) (a+b)**n/(1+a/(a**m-b**(m-n))); д) (a[i]**(2*l) + b[j+1]**(2*k)) * (3**n-x*x*y)/(z-(d[i,j+1]+1)/(z+ y/sqrt(t*t+x*y*z))); е) sqrt(abs(sin(x)**2))/(3.01*x - exp(2*x)); ж) abs(cos(x**3) - sin(y)**2) / (abs(ln(x))**(1/4) + x*y); з) ln(y**(-sqrt(abs(x+1)))) * sin(arctg(z))**2; и) r[i,j]**abs(x-y) - 0.15*abs(sin(exp(-z**8))); к) a**((x+y)/2) - ((x-1)/(abs(y)+1))**(1/3)*exp(-(y+u/2)).

7.2. а) ; б) ; в) ; г) ; д) ; е) ; ж) ; з) ; и) ; к) ; л) ; м) ; н) ; о) ; п) ; р) ; с) ; т) ; у) ; ф) .

7.3. б) 16; в) 5,5; г) -256; д) 3; е) -2; ж) 1.8.

7.4. б) среднее арифметическое: (a+b+c+d)/4; среднее геометрическое: (a*b*c*d)**(1/4); в) sqrt(x*x+y*y); г) sin(x*3.14/180); д) 6*a*a; е) sqrt(3)*a/2; ж) абсцисса: (c1*b2-c2*b1)/(b1*a2-b2*a1); ордината: (c2*a1-c1*a2)/(b1*a2-b2*a1).

7.5. б) нет; в) да; г) да; д) да; е) нет;

б) (x < a) или (x > b); в) ((x>=a) и (x<=b)) или ((x>=c) и (x<=d)); г) ((x < a) или (x > b)) и ((x < c) или (x > d)); д) mod(k,2)=1; е) (mod(k,5)=0) и (k > 99) и (k < 1000); ж) (mod(i,2)=1) и (mod(j,2)=0); з) a1*b2=a2*b1; и) (c < a) и (b > a); к) (a=-b) или (a=-c) или (a=-d) или (b=-c) или (b=-d) или (c=-d); л) ((mod(a,2)=0) и (mod(b,2)=0)) или ((mod(a,2)=0) и (mod(c,2)=0)) или ((mod(b,2)=0) и (mod(с,2)=0)); м) (a>0) и (b>0) и (c>0) и (a+b>c) и (a+c>b) и (b+c>a); н) ((a1*b2=a2*b1) и (a1*c2=a2*c1)) или ((a1*c2=a2*b1) и (a1*b2=a2*c1)) или ((a1*c2=b2*b1) и (a1*a2=b2*c1)) или ((a1*a2=b2*b1) и (a1*c2=b2*c1)) или ((a1*a2=c2*b1) и (a1*b2=c2*c1)) или ((a1*b2=c2*b1) и (a1*a2=c2*c1)); о) (y>5-5*x) и (y<5-x) и (y>0); п) (y<5-5*x)) или (y>5-x) или (y<0); р) (a=b) и (c=d) и (b=c).

7.7. б) в) г) д) ж) з) и) к)

а) (y>=1-x) и ((y<=0) или (x<=0)); б) (y<1) и (y>=x) и (y>=-x) (вариант ответа: (y<1) и (y>=abs(x))); в) (abs(x)<=1) и (abs(y)<1); г) ((x-1)*(x-1)+y*y<=4) и (y<=3-x) и (y>=x-3); д) (abs(x)<=3) и (abs(y)<=3) и (x*x+y*y>=9) и ((x>=0) или (y<=0)); е) (abs(x)+abs(y)<=2) и (sign(x)<>sign(y)) или (x*x+y*y<=4) и ((y>=2-x) или (y<=-x-2)); ж) ((y>=x*x) или (y<=-x*x)) и ((x>=y*y) или (x<=-y*y)); з) (((x+2)*(x+2)+y*y<=4) и ((x+2)*(x+2)+y*y>=1)) или (x>=-1); и) (((y<=0)=(y>=-x)) или ((x>=0)=(y>=x))) и (x*x+y*y<=1).

7.9. б) a=-19; b=-114; c=17; в) a=3; b=1,875; c=15; г) a=7; b=3; c=735; д) a=10; b=2; c=120; е) a=4; b=7; c=3; ж) a=16; b=100, c=11200.

7.10. б) c:=x[1]; x[1]:=x[2]; x[2]:=c; в) a[i]:=(a[i-1]+a[i+1])/2; a[i+1]:=0; a[i-1]:=a[i-1]+0.5; г) u:=max(max(x, y), z) + min(min(x-z,y+z), min(y,z)).

а) если x <= -100 б) если x*x+y*y <= 1 то y:=sign(x)*abs(x)**(1/7) то z:=x*x+y*y иначе если x < 100 иначе если y>=x то y:=sign(x)*abs(x)**(1/3) то z:=x+y иначе y:=sqrt(x) иначе z:=0.5 все все все все в) если x < 0 г) выбор то z:=lg(-x) при с=0: z:=1 иначе z:=sqrt(x+1) при с=1: z:=x все при с=2: z:=3*x*x - 1/2 если z>=0 при с=3: z:=x*x*x - 3*x/2 то F:=2*z+1 иначе z:=2*x**4 - 3*x/2 иначе F:=sin(z) все все д) если abs(x)+abs(y) < r е) если x>1 то z:=sqrt(x*x+y*y) то если y>1 иначе z:=max(abs(x), abs(y)) то v:=x+y все иначе v:=x-y всеж) если (x-a)**2 +(y-b)**2 < r*r иначе если y>0 то z:=abs(x)+abs(y) то v:=y-x иначе z:=x+y иначе v:=-x-y все все все

7.12. б) в) г) д)

7.13. б) 81; в) 21; д) 11; е) 44.

7.14. б) 0; в) 13; д) 52; е) 14.

б) алг Треугольник1(арг вещ a,b,UgolC, рез вещ c, UgolA, UgolB, S) нач ввод a, b, UgolC c:=sqrt(a*a+b*b-2*a*b*cos(UgolC)) UgolA:=arcsin(a*sin(UgolC)/c) UgolB:=arcsin(b*sin(UgolC)/c) S:=b*c*sin(UgolA)/2 вывод c, UgolA, UgolB, S кон в) алг Треугольник2(арг вещ a,b,c, рез вещ Radius,UgolA) нач вещ p ввод a,b,c p:=(a+b+c)/2 UgolA:=2*arctg(sqrt((p-b)*(p-c)/(p*(p-a))))*180/3.14 Radius:=a*b*c/(4*sqrt(p*(p-a)*(p-b)*(p-c))) вывод Radius, UgolA кон г) алг Объем и Площадь Пирамиды(арг вещ a,UgolAGrad, рез вещ V, S) нач вещ H,SBase,UgolARad | H - высота пирамиды; SBase - площадь основания ввод a,UgolAGrad UgolARad:=UgolAGrad*3.14/180 SBase:=a*a*sqrt(3)/4 H:=a*sqrt(3)/6*tg(UgolARad) V:=SBase*H/3 S:=SBase*(1+1/cos(UgolARad)) вывод V, S кон д) алг Объем и Площадь конуса(арг вещ RBig,RSmall,Ugol, рез вещ V, S) нач вещ H,L ввод RBig,RSmall,Ugol H:=(RBig-RSmall)*tg(Ugol) L:=(RBig-RadSmall)/cos(Ugol) V:=1/3*3.14*H*(RSmall**2 + RBig**2 + RSmall*RBig) S:=3.14*L*(RBig+RSmall) вывод V, S кон е) алг Параметры пирамиды (арг вещ a,UgolA, рез вещ V, S, Sесtion) нач вещ H ввод a,UgolA H:=a*sqrt(2)/2*tg(UgolA) V:=1/3*a*a*H Sесtion:=a*H*sqrt(2)/2 S:=a*a*(1+sqrt(2*tg(UgolA)**2+1)) вывод V, S, Sесtion конб) алг Количество положительных(арг вещ a,b,c, рез цел k) надо | k - количество положительных чисел среди чисел a,b,c нач ввод a,b,c; k:=0 если a>0 то k:=k+1 все если b>0 то k:=k+1 все если c>0 то k:=k+1 все вывод k кон в) алг Преобразование(арг рез вещ a,b) надо |меньшее из a,b увеличено вдвое нач ввод a,b если a>b то b:=b*2 иначе a:=a*2 все вывод a,b кон г) алг Подобие треугольников(арг вещ a,b,c,d, рез лог Otvet) дано | a,b и c,d - катеты двух треугольников надо | Otvet=да, если треугольники подобны нач ввод a,b,c,d если (a*d=с*b) или (a*c=d*b) то Otvet:= да иначе Otvet:= нет все вывод Otvet кон д) алг Точки(арг вещ xA,yA,xB,yB,xC,yC, рез лит Otvet) нач вещ DistA,DistB,DistC ввод xA,yA,xB,yB,xC,yC DistA:=sqrt(xA**2 + yA**2) DistB:=sqrt(xB**2 + yB**2) DistC:=sqrt(xC**2 + yC**2) если (DistA < DistB) и (DistA < DistC) то Otvet:="Это точка А" иначе если DistB < DistC то Otvet:="Это точка B" иначе Otvet:="Это точка C" все все вывод Otvet кон е) алг Принадлежность кольцу(арг вещ x,y,r1,r2, рез лог Otvet) дано | r2>r1 надо | Otvet=да, если точка (x,y) принадлежит кольцу | c внутренним радиусом r1 и внешним радиусом r2 нач ввод x,y,r1,r2 если (x*x+y*y<=r2*r2) и (x*x+y*y>=r1*r1) то Otvet:= да иначе Otvet:= нет все вывод Otvet кон ж) алг Упорядочение по возрастанию(арг рез вещ a, b, c) надо | числа a, b, c упорядочены по возрастанию нач вещ t ввод a, b, c если a>b то t:=a; a:=b; b:=t | меняются местами значения a и b все если a>c то t:=a; a:=c; c:=t | меняются местами значения a и c все если b>c то t:=b; b:=c; c:=t | меняются местами значения b и c все вывод a, b, c кон

 

Глава 8. Технология подготовки и решения задач с помощью компьютера

8.1. Какие этапы включает в себя решение задач с помощью компьютера?

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

  1. Постановка задачи:
    • сбоp инфоpмации о задаче;
    • фоpмулиpовка условия задачи;
    • опpеделение конечных целей pешения задачи;
    • определение формы выдачи результатов;
    • описание данных (их типов, диапазонов величин, структуры и т.п.).
  2. Анализ и исследование задачи, модели:
    • анализ существующих аналогов;
    • анализ технических и программных средств;
    • pазpаботка математической модели;
    • разработка структур данных.
  3. Разработка алгоритма:
    • выбор метода проектирования алгоритма;
    • выбор формы записи алгоритма (блок-схемы, псевдокод и др.);
    • выбоp тестов и метода тестиpования;
    • проектирование алгоритма.
  4. Пpогpаммиpование:
    • выбор языка программирования;
    • уточнение способов организации данных;
    • запись алгоpитма на выбpанном языке пpогpаммиpования.
  5. Тестиpование и отладка:
    • синтаксическая отладка;
    • отладка семантики и логической стpуктуpы;
    • тестовые pасчеты и анализ pезультатов тестиpования;
    • совершенствование пpогpаммы.
  6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.
  7. Сопровождение программы:
    • доработка программы для решения конкретных задач;
    • составление документации к pешенной задаче, к математической модели, к алгоpитму, к пpогpамме, к набору тестов, к использованию.

8.2. Что называют математической моделью?

Математическая модель — это система математических соотношений — формул, уравнений, неравенств и т.д., отражающих существенные свойства объекта или явления.

Всякое явление природы бесконечно в своей сложности. Проиллюстрируем это с помощью примера, взятого из книги В.Н. Тростникова "Человек и информация" (Издательство "Наука", 1970).

... Обыватель формулирует математику задачу следующим образом: "Сколько времени будет падать камень с высоты 200 метров?" Математик начнет создавать свой вариант задачи приблизительно так: "Будем считать, что камень падает в пустоте и что ускорение силы тяжести 9,8 метра в секунду за секунду. Тогда..."

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

Хорошо, — согласится математик. — Будем считать, что камень имеет сферическую форму и диаметр... Какого примерно он диаметра?

Около пяти сантиметров. Но он вовсе не сферический, а продолговатый.

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

Если тот, кто поставил задачу на "человеческом" языке не будет дальше вмешиваться в ход мысли математика, то последний через некоторое время даст численный ответ. Но "потребитель" может возражать по-прежнему: камень на самом деле вовсе не эллипсоидальный, давление воздуха в том месте и в тот момент не было равно 760 мм ртутного столба и т.д. Что же ответит ему математик?

Он ответит: "Точное решение реальной задачи вообще невозможно. Мало того, что форму камня, которая влияет на сопротивление воздуха, невозможно описать никаким математическим уравнением; его вращение в полете также неподвластно математике из-за своей сложности. Далее, воздух не является однородным, так как в результате действия случайных факторов в нем возникают флуктуации колебания плотности. Если пойти ещё глубже, нужно учесть, что по закону всемирного тяготения каждое тело действует на каждое другое тело. Отсюда следует, что даже маятник настенных часов изменяет своим движением траекторию камня.

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

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

Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели — так называемого "вычислительного эксперимента" (см. [1], параграф 26).

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

Итак, создавая математическую модель для решения задачи, нужно:

  1. выделить предположения, на которых будет основываться математическая модель;
  2. определить, что считать исходными данными и результатами;
  3. записать математические соотношения, связывающие результаты с исходными данными.

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

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

8.3. Какие основные этапы содержит процесс разработки программ?

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

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

Затем программа разрабатывается с использованием той или иной технологии программирования (например, структурного программирования).

Полученный вариант программы подвергается систематическому тестированию — ведь наличие ошибок в только что разработанной программе это вполне нормальное закономерное явление. Практически невозможно составить реальную (достаточно сложную) программу без ошибок. Нельзя делать вывод, что программа правильна, лишь на том основании, что она не отвергнута машиной и выдала результаты. Все, что достигнуто в этом случае, это получение каких-то результатов, не обязательно правильных. В программе при этом может оставаться большое количество логических ошибок. Ответственные участки программы проверяются с использованием методов доказательства правильности программ.

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

8.4. Как проконтролировать текст программы до выхода на компьютер?

Текст программы можно проконтролировать за столом с помощью просмотра, проверки и прокрутки.

  • Просмотр. Текст программы просматривается на предмет обнаружения описок и расхождений с алгоритмом. Нужно просмотреть организацию всех циклов, чтобы убедиться в правильности операторов, задающих кратности циклов. Полезно посмотреть еще раз условия в условных операторах,аргументы в обращениях к подпрограммам и т.п.
  • Проверка. При проверке программы программист по тексту программы мысленно старается восстановить тот вычислительный процесс, который определяет программа, после чего сверяет его с требуемым процессом. На время проверки нужно "забыть", что должна делать программа, и "узнавать" об этом по ходу её проверки. Только после окончания проверки программы можно "вспомнить" о том, что она должна делать и сравнить реальные действия программы с требуемыми.
  • Прокрутка. Основой прокрутки является имитация программистом за столом выполнения программы на машине. Для выполнения прокрутки приходится задаваться какими-то исходными данными и производить над ними необходимые вычисления. Прокрутка — трудоемкий процесс, поэтому ее следует применять лишь для контроля логически сложных участков программ. Исходные данные должны выбираться такими, чтобы в прокрутку вовлекалось большинство ветвей программы.

8.5. Для чего нужны отладка и тестирование?

Отладка программы — это процесс поиска и устранения ошибок в программе, производимый по результатам её прогона на компьютере. Тестирование (англ. test — испытание) — это испытание, проверка правильности работы программы в целом, либо её составных частей.

Отладка и тестированиеэто два четко различимых и непохожих друг на друга этапа:

  • при отладке происходит локализация и устранение синтаксических ошибок и явных ошибок кодирования;
  • в процессе же тестирования проверяется работоспособность программы, не содержащей явных ошибок.
Тестирование устанавливает факт наличия ошибок, а отладка выясняет ее причину.

Английский термин debugging (" отладка ") буквально означает " вылавливание жучков ". Термин появился в 1945 г., когда один из первых компьютеров — "Марк-1" прекратил работу из-за того, что в его электрические цепи попал мотылек и заблокировал своими останками одно из тысяч реле машины.

8.6. В чем заключается отладка?

В современных программных системах (Turbo Basic, Turbo Pascal, Turbo C и др.) отладка осуществляется часто с использованием специальных программных средств, называемых отладчиками. Эти средства позволяют исследовать внутреннее поведение программы.

Программа-отладчик обычно обеспечивает следующие возможности:

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

При отладке программ важно помнить следующее:

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

8.7. Что такое тест и тестирование?

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

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

Но, как справедливо указывал известный теоретик программирования Э. Дейкстра, тестирование можетпоказать лишь наличие ошибок, но не их отсутствие. Нередки случаи, когда новые входные данные вызывают "отказ" или получение неверных результатов работы программы, которая считалась полностью отлаженной.

Для реализации метода тестов должны быть изготовлены или заранее известны эталонные результаты.

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

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

8.8. Какими должны быть тестовые данные?

Тестовые данные должны обеспечить проверку всех возможных условий возникновения ошибок:

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

Пример. Система тестов для задачи нахождения корней квадратного уравнения ax2 + bx + c = 0:

Номер теста Проверяемый случай Коэффициенты Результаты
a b c
  d >0     -2 x1 = 1, x2 = - 2
  d=0       Корни равны: x1 = - 1, x2 = - 1
  d < 0       Действительных корней нет
  a=0, b=0, c=0       Все коэффициенты равны нулю. х — любое число.
  a=0, b=0, c<>0       Неправильное уравнение
  a=0, b<>0       Линейное уравнение. Один корень: x = - 0,5
  a <> 0, b <> 0, с = 0       x1 = 0, x2 = - 0,5

8.9. Из каких этапов состоит процесс тестирования?

Процесс тестирования можно разделить на три этапа.

1. Проверка в нормальных условиях. Предполагает тестирование на основе данных, которые характерны для реальных условий функционирования программы.

2. Проверка в экстремальных условиях. Тестовые данные включают граничные значения области изменения входных переменных, которые должны восприниматься программой как правильные данные. Типичными примерами таких значений являются очень маленькие или очень большие числа и отсутствие данных. Еще один тип экстремальных условий — это граничные объемы данных, когда массивы состоят из слишком малого или слишком большого числа элементов.

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

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

Программа должна сама отвергать любые данные, которые она не в состоянии обрaбатывать правильно.

8.10. Каковы характерные ошибки программирования?

Ошибки могут быть допущены на всех этапах решения задачи — от ее постановки до оформления. Разновидности ошибок и соответствующие примеры приведены в таблице:

Вид ошибки Пример
Неправильная постановка задачи Правильное решение неверно сформулированной задачи
Неверный алгоритм Выбор алгоритма, приводящего к неточному или эффективному решению задачи
Ошибка анализа Неполный учет ситуаций, которые могут возникнуть; логические ошибки
Семантические ошибки Непонимание порядка выполнения оператора
Синтаксические ошибки Нарушение правил, определяемых языком программирования
Ошибки при выполнении операций Слишком большое число, деление на ноль, извлечение квадратного корня из отрицательного числа и т. п.
Ошибки в данных Неудачное определение возможного диапазона изменения данных
Опечатки Перепутаны близкие по написанию символы, например, цифра 1 и буквы I, l
Ошибки ввода-вывода Неверное считывание входных данных, неверное задание форматов данных

8.11. Является ли отсутствие синтаксических ошибок свидетельством правильности программы?

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

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

Примеры синтаксических ошибок:

  • пропуск знака пунктуации;
  • несогласованность скобок;
  • неправильное формирование оператора;
  • неверное образование имен переменных;
  • неверное написание служебных слов;
  • отсутствие условий окончания цикла;
  • отсутствие описания массива и т.п.

8.12. Какие ошибки не обнаруживаются транслятором?

Существует множество ошибок, которые транслятор выявить не в состоянии, если используемые в программе операторы сформированы верно. Приведем примеры таких ошибок.

Логические ошибки:

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

Ошибки в циклах:

  • неправильное указание начала цикла;
  • неправильное указание условий окончания цикла;
  • неправильное указание числа повторений цикла;
  • бесконечный цикл.

Ошибки ввода-вывода; ошибки при работе с данными:

  • неправильное задание тип данных;
  • организация считывания меньшего или большего объёма даных, чем требуется;
  • неправильное редактирование данных.

Ошибки в использовании переменных:

  • использование переменных без указания их начальных значений;
  • ошибочное указание одной переменной вместо другой.

Ошибки при работе с массивами:

  • массивы предварительно не обнулены;
  • массивы неправильно описаны;
  • индексы следуют в неправильном порядке.

Ошибки в арифметических операциях:

  • неверное указание типа переменной (например, целочисленного вместо вещественного);
  • неверное определение порядка действий;
  • деление на нуль;
  • извлечение квадратного корня из отрицательного числа;
  • потеря значащих разрядов числа.

Все эти ошибки обнаруживаются с помощью тестирования.

8.13. В чем заключается сопровождение программы?

Сопровождение программ — это работы, связанные с обслуживанием программ в процессе их эксплуатации.

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

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

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

Программа, предназначеная для длительной эксплуатации, должна иметь соответствующую документацию и инструкцию по её использованию.

8.1. Какие основные этапы включает в себя решение задач на компьютере?

8.2. Какие этапы компьютерного решения задач осуществляются без участия компьютера?

8.3. Что называют математической моделью объекта или явления?

8.4. Почему невозможно точное исследование поведения объектов или явлений?

8.5. Какие способы моделирования осуществляются с помощью компьютера?

8.6. Из каких последовательных действий состоит процесс разработки программы?

8.7. Доказывает ли получение правдоподобного результата правильность программы?

8.8. Какие ошибки могут остаться невыявленными, если не провести проверку (просмотр, прокрутку) программы?

8.9. Чем тестирование программы отличается от её отладки?

8.10. Каким образом программа-отладчик помогает исследовать поведение программы в процессе её выполнения?

8.11. Как следует планировать процесс отладки программы?

8.12. Можно ли с помощью тестирования доказать правильность программы?

8.13. На какой стадии работы над программой вычисляются эталонные результаты тестов?

8.14. Назовите основные этапы процесса тестирования.

8.15. В чём заключается отличие синта ксических ошибок от семантических?

8.16. О чём свидетельствует отсутствие сообщений машины о синтаксических ошибках?

8.17. Какие разновидности ошибок транслятор не в состоянии обнаружить?

8.18. Для чего программам требуется сопровождение?

Составьте системы тестов для решения следующих задач:

8.1. Найдите наибольший общий делитель двух заданных целых чисел.

8.2. Найдите наименьшее общее кратное двух заданных целых чисел.

8.3. Определите, является ли заданное число нечетным двузначным числом.

8.4. Заданы площади квадрата и круга. Определите, поместится ли квадрат в круге.

8.5. Решите биквадратное уравнение.

8.6. Найдите среднее арифметическое положительных элементов заданного одномерного массива.

8.7. Элементы заданного одномерного массива разделите на его первый элемент.

8.8. Определите, лежит ли заданная точка на одной из сторон треугольника, заданного координатами своих вершин.

8.9. Определите, имеют ли общие точки две плоские фигуры — треугольник с заданными координатами его вершин и круг заданного радиуса c центром в начале координат.

8.10. Задано целое А > 1. Найдите наименьшее целое неотрицательное k, при котором 2k > А.

8.11. Дана последовательность целых чисел. Определите, со скольких чётных чисел она начинается.

8.12. В заданном двумерном массиве найдите количество строк, не содержащих нули.

8.13. Определите, сколько строк заданного двумерного массива содержат элементы из заданного диапазона.

8.14. Преобразуйте число, заданное в римской системе счисления, в число десятичной системы.

 

Глава 9. Применения информатики и компьютерной техники

9.1. Как используются компьютеры в быту?

В последнее время компьютеры <проникли> в жилища людей и постепенно становятся предметами первой необходимости. Есть два основных направления использования компьютеров дома.

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

9.2. Что такое системы автоматизированного проектирования (САПР)?

Системы автоматизированного проектирования (САПР) — комплексные программно-технические системы, предназначенные для выполнения проектных работ с применением математических методов.

 

Системы САПР широко используются в архитектуре, электронике, энергетике, механике и др. В процессе автоматизированного проектирования в качестве входной информации используются технические знания специалистов, которые вводят проектные требования, уточняют результаты, проверяют полученную конструкцию, изменяют ее и т.д. Кроме того, в САПР накапливается информация, поступающая из библиотек стандартов (данные о типовых элементах конструкций, их размерах, стоимости и др.). В процессе проектирования разработчик вызывает определенные программы и выполняет их. Из САПР информация выдается в виде готовых комплектов законченной технической и проектной документации.

9.3. Что такое автоматизированные системы научных исследований (АСНИ)?

Автоматизированные системы научных исследований (АСНИ) предназначены для автоматизации научных экспериментов, а также для осуществления моделирования исследуемых объектов, явлений и процессов, изучение которых традиционными средствами затруднено или невозможно.

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

Большие затраты ресурсов для проведения исследований обусловили необходимость повышения эффективности всей работы.

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

Компьютеры в АСНИ используются в информационно-поисковых и экспертных системах, а также решают следующие задачи:

  • управление экспериментом;
  • подготовка отчетов и документации;
  • поддержание базы экспериментальных данных и др.

В результате применения АСНИ возникают следующие положительные моменты:

  • в несколько раз сокращается время проведения исследования;
  • увеличивается точность и достоверность результатов;
  • усиливается контроль за ходом эксперимента;
  • сокращается количество участников эксперимента;
  • повышается качество и информативность эксперимента за счет увеличения числа контролируемых параметров и более тщательной обработки данных;
  • результаты экспериментов выводятся оперативно в наиболее удобной форме — графической или символьной (например, значения функции многих переменных выводятся средствами машинной графики в виде так называемых «горных массивов»). На экране одного графического монитора возможно формирование целой системы приборных шкал (вольтметров, амперметров и др.), регистрирующих параметры экспериментального объекта.

9.4. Какая взаимосвязь между АСНИ и САПР?

Каждая из систем АСНИ и САПР, конечно, имеет свою специфику и отличается поставленными целями и методами их достижения. Однако очень часто между обоими типами систем обнаруживается тесная связь, и их роднит не только то, что они реализуются на базе компьютерной техники.

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

Такая взаимосвязь приводит к тому, что на самом деле «чистых» АСНИ и САПР не бывает: в каждой из них можно найти общие элементы. С повышением их интеллектуальности они сближаются. В конечном счете и те и другие должны представлять собой экспертную систему, ориентированную на решение задач конкретной области.

9.5. Что такое базы знаний и экспертные системы?

База знаний (knowledge base) — совокупность знаний, относящихся к некоторой предметной области и формально представленных таким образом, чтобы на их основе можно было осуществлять рассуждения.

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

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

Экспертные системы должны:

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

Желательно также, чтобы экспертная система могла:

  • сообщать такую информацию, которая повышает доверие пользователя к экспертной системе;
  • «рассказывать» о себе, о своей собственной структуре.

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

9.6. Как используются компьютеры в административном управлении?

Основные применения компьютеров в административном управлении следующие.

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

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

Более подробно многие из перечисленных компонент описаны в главе 6 «Программное обеспечение».

Автоматизация документооборота с использованием специальных электронных устройств:

  • адаптера (лат. adaptare — приспособлять) связи с периферийными устройствами, имеющего выход на телефонную линию;
  • сканера (англ. scan — поле зрения) для ввода в компьютер документов — текстов, чертежей, графиков, рисунков, фотографий.

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

Отправитель сообщения прежде всего запускает программу отправки почты и создает файл сообщения. Затем это сообщение передается в систему пересылки сообщений, которая отвечает за его доставку адресатам. Спустя некоторое время сообщение доставляется адресату и помещается в его «почтовый ящик», размещенный на магнитном диске. Затем получатель запускает программу, которая извлекает полученные сообщения, заносит их в архив и т.п.

Система контроля исполнения приказов и распоряжений.

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

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

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

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

9.7. Какую роль играют компьютеры в обучении?

Процесс подготовки квалифицированных специалистов длителен и сложен. Обучение в средней школе и затем в вузе занимает почти треть продолжительности жизни человека. К тому же в современном информационном обществе знания очень быстро стареют. Чтобы быть способным выполнять ту или иную профессиональную деятельность, специалисту необходимо непрерывно пополнять своё образование.

  В информационном обществе знать "КАК" важнее, чем знать "ЧТО".

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

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

Рассмотрим основные перспективные направления использования СНИТ в образовании [52, 53].

1. Автоматизированные обучающие системы (АОС)комплексы программно-технических и учебно-методических средств, обеспечивающих активную учебную деятельность. АОС обеспечивают не только обучение конкретным знаниям, но и проверку ответов учащихся, возможность подсказки, занимательность изучаемого материала и др.

АОС представляют собой сложные человеко-машинные системы, в которых объединяется в одно целое ряд дисциплин: дидактика (научно обосновываются цели, содержание, закономерности и принципы обучения); психология (учитываются особенности характера и душевный склад обучаемого); моделирование, машинная графика и др.

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

2. Экспертные обучающие системы (ЭОС). Реализуют обучающие функции и содержат знания из определенной достаточно узкой предметной области. ЭОС располагают возможностями пояснения стратегии и тактики решения задачи изучаемой предметной области и обеспечивают контроль уровня знаний, умений и навыков с диагностикой ошибок по результатам обучения.

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

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

Системы Мультимедиа широко используются с целью изучения процессов различной природы на основе их моделирования. Здесь можно сделать наглядной невидимую обычным глазом жизнь элементарных частиц микромира при изучении физики, образно и понятно рассказать об абстрактных и n-мерных мирах, доходчиво объяснить, как работает тот или иной алгоритм и т.п. Возможность в цвете и со звуковым сопровождением промоделировать реальный процесс поднимает обучение на качественно новую ступень.



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

5. Системы <Виртуальная реальность>. Применяются при решении конструктивно-графических, художественных и других задач, где необходимо развитие умения создавать мысленную пространственную конструкцию некоторого объекта по его графическому представлению; при изучении стереометрии и черчения; в компьютеризированных тренажерах технологических процессов, ядерных установок, авиационного, морского и сухопутного транспорта, где без подобных устройств принципиально невозможно отработать навыки взаимодействия человека с современными сверхсложными и опасными механизмами и явлениями.

6. Образовательные компьютерные телекоммуникационные сети. Позволяют обеспечить дистанционное обучение (ДО) — обучение на расстоянии, когда преподаватель и обучаемый разделены пространственно и (или) во времени, а учебный процесс осуществляется с помощью телекоммуникаций, главным образом, на основе средств сети Интернет. Многие люди при этом получают возможность повышать образование на дому (например, взрослые люди, обремененные деловыми и семейными заботами, молодежь, проживающая в сельской местности или небольших городах). Человек в любой период своей жизни обретает возможность дистанционно получить новую профессию, повысить свою квалификацию и расширить кругозор, причем практически в любом научном или учебном центре мира.

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

  • возможность доступа к различным источникам информации через систему Internet и работы с этой информацией;
  • возможность оперативной обратной связи в ходе диалога с преподавателем или с другими участниками обучающего курса;
  • возможность организации совместных телекоммуникационных проектов, в том числе международных, телеконференций, возможность обмена мнениями с любым участником данного курса, преподавателем, консультантами, возможность запроса информации по любому интересующему вопросу через телеконференции.
  • возможность реализации методов дистанционного творчества, таких как участие в дистанционных конференциях, дистанционный <мозговой штурм> сетевых творческих работ, сопоставительный анализ информации в WWW, дистантные исследовательские работы, коллективные образовательные проекты, деловые игры, практикумы, виртуальные экскурсии др.

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

9.8. Какую роль играют компьютеры в управлении технологическими процессами?

Основных применений два:

  • в гибких автоматизированных производствах (ГАП);
  • в контрольно-измерительных комплексах.

В гибких автоматизированных производствах компьютеры (или микропроцессоры) решают следующие задачи:

  • управление механизмами;
  • управление технологическими режимами;
  • управление промышленными роботами.

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

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

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

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

Применение компьютеров в качестве контрольно-измерительных приборов более эффективно, чем выпуск в ограниченных количествах специализированных приборов с вычислительными блоками.

Автоматизированное рабочее место (АРМ, рабочая станция) — место оператора, которое оборудовано всеми средствами, необходимыми для выполнения определенных функций.

В системах обработки данных и учреждениях обычно АРМ — это дисплей с клавиатурой, но может использоваться также и принтер, внешние запоминающее устройство и др.

9.9. Какую роль играют компьютеры в медицине?

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

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

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

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

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

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


Рис 9.1. Организация работы в компьютеризированном
отделении лечебного учреждения

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

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

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

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

9.10. Как используются компьютеры в торговле?

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


Бар-код

Этот номер записан на этикетке изделия дважды: в форме двух пятизначных чисел и в виде широких и узких линий. Первые пять цифр указывают фирму-поставщика, а другие пять — номер изделия в номенклатуре выпускаемых данной фирмой товаров.

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

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

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

  • количество оставшегося товара;
  • правила его налогообложения;
  • юридические ограничения на его продажу и др.

Одновременно с подачей сведений о проданном товаре на дисплей кассового аппарата компьютер производит соответствующую коррекцию (уточнение) товарной ведомости.

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

В перспективе торговля, по-видимому, превратится в компьютеризованную продажу товаров по заказам.

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

9.11. Что такое электронные деньги?

Одной из важнейших составляющих информатизации становится переход денежно-кредитной и финансовой сферы к электронным деньгам.

Основные направления использования электронных денег следующие:

Торговля без наличных. Оплата производится с использованием кредитных карточек. Имея вместо наличных денег кредитную карточку, покупатель при любой покупке расплачивается не наличными, а автоматически снимает со своего счета в банке нужную сумму денег и пересылает ее на счет магазина. Система торговли без наличных POS (англ. Points of Sale System — система кассовых автоматов) выполняет следующие функции:

  • верификацию кредитных карточек (т.е. удостоверение их подлинности);
  • снятие денег со счета покупателя;
  • перечисление их на счет продавца.

POS — наиболее массовая и показательная ветвь системы электронных денег. Она способна также обнаруживать малейшие хищения наличных денег и товаров. Сведения на кредитную карточку наносятся методом магнитной записи. В каждую кредитную карточку вставлена магнитная карта — носитель информации. На магнитную карту заранее записываются следующие данные:

  • номер личного счета;
  • название банка;
  • страна;
  • категория платёжеспособности клиента;
  • размер предоставленного кредита и т.д.

Считается, что сами по себе кредитные карточки экономят 10% расходов на оплату товаров.

Разменные автоматы. Они устанавливаются банками только для своих клиентов, которым предварительно выданы кредитные карточки. Клиент вставляет в автомат кредитную карточку и набирает личный код и сумму, которую он желает иметь наличными. Автомат по банковской сети проверяет правильность кода, снимает указанную сумму со счета клиента и выдает её наличными. Часто несколько банков объединяются и создают общую сеть разменных автоматов.

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

Встречные зачёты. По всему миру активно внедряются электронные системы потребительского кредита и взаимных расчетов между банками по общему итогу. Такие системы реализуются в виде автоматических клиринговых (англ. clearing — очистка) вычислительных сетей ACH (Automated Clearing House). По сети идут не только банковские документы, но и информация, важная для принятия ответственных финансовых решений.

Оплата устно. Она заключается в оплате счетов по телефону с гарантированным опознаванием кредитора по паролю и голосу. Другой способ состоит в использовании устройства, способного передавать по телефону факсимильные изображения денежных чеков и счетов (факсимильный — от лат. fac simile, — точное воспроизведение подписи, документа и т.д. графическими средствами).

Наряду с очевидными и очень большими преимуществами с электронными деньгами связаны и сложные проблемы — от финансовых до правовых ("электронные ограбления", перелив электронных денег из одной страны в другую и др.). Электронные деньги есть неизбежный результат научно-технического прогресса в денежно-кредитной сфере.

9.12. Как применяются компьютеры в сельском хозяйстве?

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

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

В качестве примера приведем портативный компьютер AgGPS 170 компании Trimble, предназначенный для применения в самых тяжелых условиях, сопутствующих сельскохозяйственным работам. Этот компьютер можно использовать как в ручном варианте, так и монтировать в автомобиль. C его помощью можно управлять сельскохозяйственными работами, просматривать карты полей, регистрировать различные данные о состоянии почвы и посаженных сельскохозяйственных культур и др. Основные характеристики компьютера AgGPS 170:

  • полностью герметичный и ударостойкий (выдерживает падение с высоты в 1,2 м);
  • функционирует в температурном диапазоне от -30 до +60 градусов Цельсия;



Сельскохозяйственный
компьютер AgGPS 170

  • ресурс работы от батарей — до 40 часов;
  • данные сохраняются на съемном картридже памяти;
  • работает под управлением ОС MS Windows CE; используется специальное программное обеспечение для сельского хозяйства;
  • с помощью компьютера можно записывать рельеф местности и создавать полевые топографические карты, используя данные геоинформационных систем, вычислять площади полей и обрабатывать статистические данные по полевым работам;
  • при соединении с системой разбрызгивателей компьютер может регистрировать данные о применении химикатов и автоматически генерировать соответствующие карты и отчеты;
  • с помощью соответствующего ПО возможно регистрировать данные со считывателей штрих-кодов, датчиков слежения за состоянием окружающей среды и погоды и др.



Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 309; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.299 сек.