КАТЕГОРИИ: Архитектура-(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) |
Работа с массивами
Программирование алгоритмов разветвляющейся структуры Пример. Вычислить значение функции. если
а) с использованием условного оператора if-then-else Паскаль-программа
Program prim21; var a,b,c,x,y:real; n:integer; begin x:=ln(abs(a-cos(a))); c:=x*a; b:=x+a;
begin y:=-10.5; n:=1; end else if c=>3.5 then да begin y:=c+ln(b); n:=3; end else нет begin y:=exp(c)+2*b; n:=2; end; writeln(‘x=’,x:1:3,’ c=’,c:1:3,’ y=’, да y:1:3,’ n=’,n); end. нет
x=1.927 c=14.162 y=16.389 n=3
б) c использованием оператора выбора case
Паскаль-программа Program prim22; var a,b,c,x,y:real; k:integer; write(‘Введите а=’); readln(a); x:=ln(abs(a-cos(a))); c:=x*a; b:=x+a;
if c<=3.5 then k:=2 else k:=3; case k of 1: y:=-10.5; да 2: y:=exp(c)+2*b; 3: y:=c+ln(b); нет end; да writeln(‘x=’,x:1:3,’ c=’,c:1:3,’ =’,y:1:3,’ k=’,k);
Введите а=7.35 x=1.927 c=14.162 y=16.389 k=3
нет
k=2
k=3
Задача. Разработать программу решения 4-х взаимосвязанных задач 1) расчёт элементов квадратной матрицы A=a(i,j), i,j=1,2,… по заданной формуле;
2) вычисление элементов вектора X=x(i) i=1,2,… по заданному правилу;
3) упорядочение элементов матрицы А или вектора Х;
4) вычисление значения функции y по заданной формуле.
Пример. 1) ; ;
2) ; ;
3) упорядочить элементы второго столбца матрицы А по убыванию значений;
4) ; .
Задание выполнить для n=6. Замечание. Предварительно провести отладку программы при n=3, для чего получить решение задачи вручную (или с помощью калькулятора) и проверить полученные данные на ЭВМ.
Блок-схема алгоритма
нет
да
нет
да
Паскаль-программа program prim5; var a:array[1..10,1..10] of real; x:array [1..10] of real; i,j,k,n:integer; y,s,c:real; begin writeln(‘Введите n’); read(n); {---------------------------------------часть 1-----------------------------------} for i:=1 to n do for j:=1 to n do a[i,j]:=(2*j*i+4*i)/j; writeln(‘ ‘:20,’МАТРИЦА А’); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:8:3); writeln; end; {---------------------------------------часть 2-----------------------------------} for i:=1 to n do begin s:=0; for j:=1 to n do s:=s+sqr(a[i,j]); x[i]:=sqrt(s)/n; end; writeln(‘ ‘:20,’ВЕКТОР Х’); for i:=1 to n do write(x[i]:8:3); {---------------------------------------часть 3-----------------------------------} for i:=1 to n-1 do begin k:=i; for j:=i+1 to n do if a[j,2]>a[k,2] then k:=j; if i<>k then begin c:=a[i,2]; a[i,2]:=a[k,2]; a[k,2]:=c; end; end; writeln(‘ ‘:14,’УПОРЯДОЧЕННАЯ МАТРИЦА’); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:8:3); writeln; end; {---------------------------------------часть 4-----------------------------------} y:=1; for i:=1 to n do begin s:=0; for k:=1 to n do s:=s+x[k]; if x[i]<>0 then y:=y*x[i]*s; end; writeln(‘ЗНАЧЕНИЕ ФУНКЦИИ У=’,y:1:3); end.
Результаты Введите n=6 МАТРИЦА А 6.000 4.000 3.333 3.000 2.800 2.667 12.000 8.000 6.667 6.000 5.600 5.333 18.000 12.000 10.000 9.000 8.400 8.000 24.000 16.000 13.333 12.000 11.200 10.667 30.000 20.000 16.667 15.000 14.000 13.333 36.000 24.000 20.000 18.000 16.800 16.000
ВЕКТОР X 1.555 3.110 4.665 6.220 7.776 9.331
УПОРЯДОЧЕННАЯ МАТРИЦА А 6.000 24.000 3.333 3.000 2.800 2.667 12.000 20.000 6.667 6.000 5.600 5.333 18.000 16.000 10.000 9.000 8.400 8.000 24.000 12.000 13.333 12.000 11.200 10.667 30.000 8.000 16.667 15.000 14.000 13.333 36.000 4.000 20.000 18.000 16.800 16.000
ЗНАЧЕНИЕ ФУНКЦИИ Y=123454118108000.000 Список рекомендуемой литературы
1. Задания для практических и лабораторных занятий по информатике (работы 1-5): Методические указания./ Cост. Т.Г. Умергалин, И.Г. Мухамадеев, Э.В. Писаренко - Уфа: изд-во УГНТУ,1997.-51 с. 2. Основы программирования и работы в интегрированной среде Турбо-Паскаль: Методические указания./ Cост Т.Г. Умергалин, И.Г. Мухамадеев - Уфа: изд-во УГНТУ,1992.-45 с. 3. Емелина Е.И. Основы программирования на языке Паскаль. - М.: Финансы и статистика, 1997.-208 с. 4. Фаронов В.В. Турбо Паскаль: В 3-х кн. Кн. 1. Основы Турбо Паскаля. – М.: Учебно-инженерный центр “МВТУ-ФЕСТО ДИДАКТИК”,1992. – 304 с.
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Уфимский государственный нефтяной технический университет Кафедра вычислительной техники и инженерной кибернетики
Дата добавления: 2015-06-28; Просмотров: 298; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |