Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Приклад 10.1

Приклад 9.3.

Приклад 9.2.

Приклад 9.1.

Задано послідовність, що складається з 20 цілих чисел. Визначити найменше з цих чисел та його порядковий номер. Схему алгоритму програми summa1 представлено на рис. 9.1.

 

Рис. 9.1. Схема алгоритму програми прикладу 9.1

Program fornumber1;

uses crt;

var i,k,min,a: integer;

Begin clrscr;

writeln('vvesty min'); readln(min);k:=1;

for i:=2 to 20 do begin

writeln('vvesty a'); readln(a);

if a<min then

begin k:=i; min:=a; end;end;

writeln('k=',k,' min=',min);

End.

Змінна min використовується для запам’ятовування найменшого числа заданої послідовності, а змінній k надається порядковий номер найменшого числа заданої послідовності. Змінна а – поточне число послідовності.

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

      0,4  

 

 

Рис. 9.2. Схема алгоритму програми

Program ryad24;

var i,n,nf: integer; e,x,summa,sym,s:real;

Begin e:=1e-4; x:=0.4;

writeln('y=',(exp(x)-exp(-x))/2);

summa:=0; s:=1;sym:=x; nf:=1; n:=0;

while abs(s)>=e do begin

s:=sym/nf; sym:=sym*sqr(x);

n:=n+1; nf:=1;

for i:=1 to (2*n+1) do

nf:=nf*i;

summa:=summa+s; end;

writeln('sum=',summa); End.

 

Рис. 9.3. Схема алгоритму ryad12

      0,7  

 

Program ryad12;

uses crt;

var n: integer; e,x,c,y,sum,s1,r:real;

Begin

clrscr; e:=1e-05; x:=0.78;

y:=arctan(x); writeln('y=',y);

sum:=0; s1:=x; n:=0; c:=1;

repeat r:=c*s1/(2*n+1);

s1:=s1*sqr(x);

c:=-c; n:=n+1;

sum:=sum+r;

until abs(r)<e;

writeln('sum=',sum); End.

Дано 20 чисел. Визначити, скільки змінних більших за своїх сусідів (попереднього та наступного чисел) налічує ця послідовність. Схема алгоритму програми kilkist_susidiv представлено на рис. 9.4.

Послідовність розглядатимемо не як масив, а як деяку кількість простих змінних. Одночасно будемо працювати з трьома змінними – p, x, n. У змінній p зберігатимемо попередне число послідовності, у змінній x - поточне число послідовності, а у змінній n - наступне число послідовності.

 

Рис. 9.4.Схема алгоритму програми kilkist_susidiv

program kilkist_susidiv;

var x,p,n:real;

i,z: integer; f:text;

Begin

assign(f,'ksusidd.pas'); reset(f);

read(F,p,x,n);

for i:=1 to 17 do begin

if (x>p) and (x>n) then z:=z+1;

p:=x; x:=n; read(f,n);end;

append(f);

writeln(f,' z= ',z);close(f);

End.

1 3 4 3 5 6 5 7 3 8 5 9 6 8 5 7 4 6 6 8

zmax= 7

Файл ksusidd.pas використовується спочатку, як файл даних, у якому зберігається послідовність з 20 чисел. А після закінчення роботи програми у файл ksusidd.pas записується і результат. Причому результат розташовується за послідовністю з 20 чисел. Процедура append(f) відкриває файл для додавання у нього даних, встановлюючи курсор на кінець файлу. Файл ksusidd.pas потрібно створити та ввести до ньго дані до запуску програми на виконання.

Лекція 10

Визначити найбільший спільний дільник двох чисел. Схему алгоритму програми NOD представлено на рис. 9.5.

ПОЧАТОК
Введ.a,b  
a=0orb=0
r1=|a+b|
r2=a, r1=b
Вив. r1  
r=r2-r1*q
q=r2\r1
r=0
r2=r1, r1=r
r1=|r1|
Вив. r1  
Кінець
F
T
F
T


program nod;

var a,b,r1,r2,r,q:integer;

begin write('vvedi a,b');

readln(a,b);

if (a=0) or (b=0) then begin r1:=abs(a+b);

writeln('NOD=',r1); end

else begin r2:=a; r1:=b;

repeat

q:=r2 div r1; r:=r2-r1*q; if r<>0 then begin r2:=r1;r1:=r;end;

until (r=0);

r1:=abs(r1); writeln('r1=',r1);end; end.

Другий варіант програми

program nod1;

uses crt;

var a,b,r1,r2,r,q:integer;

begin clrscr; write('vvedi a,b'); readln(a,b);

if (a=0) or (b=0) then begin r1:=abs(a+b); writeln('NOD=',r1); end

else begin r2:=a; r1:=b; r:=1;

while r<>0 do begin

q:=r2 div r1; r:=r2-q*r1; writeln('q=',q,'r=',r); r2:=r1;r1:=r;end;

r1:=abs(r1); writeln('NOD=',r1); end; end.

Приклад 10.2.
Задано послідовність додатних чисел, які розбиті на дві групи від’ємним і закінчуються 0. Знайти найбільше число в кожній групі та кількість додатних чисел в кожній з них. Схему алгоритму програми на рис. 10.2. Програма для реалізації завдання 10.2.

Змінні max та z використовуються для знаходження найбільшого значення та кількості додатних значень в послідовності, що закінчується від’ємним числом. Змінні max2 та n використовуються для знаходження найбільшого значення та кількості додатних значень в послідовності, що закінчується нулем.

n=1
b not 0
a> max2
max2=a
Вивед. a
a=b n=n+1
Введ. b
Вивед. max2,n
Вивед. max, z
Кiнець    
Вивед. b
a=b z=z+1
max=a
Вивед. a
Введ. b
Початок
Введ. a,b
Z=1 max=0 max2=0
a >max
a>0&b>0
Введ. a,b

 


Рис. 10.2

 

program dz;
var max,max2,a,b:real; z,n:integer;f1,f:text;
begin
assign(f,'c:\tp7.0\bin\chisla.pas');reset(f);
assign(f1,'c:\tp7.0\bin\rez.pas');rewrite(f1);
read(f,a,b); z:=1; max:=0; max2:=0;

while((a>0)and(b>0)) do Begin
if a>max then max:=a;
write(a:4); a:=b; z:=z+1;
read(f,b); end;
writeln(b:12);
read(f,a,b); n:=1;
while (b<>0) do Begin
if a>max2 then max2:=a;
write(a:4); a:=b; n:=n+1;
read(f,b); end;
writeln('max=',max,' max2=',max2,' z=',z,' n=',n);
writeln(f1,'max=',max,' max2=',max2,' z=',z,' n=',n);
end.

Лекція 11

Класифікація типів даних у ТП7 Одновимірні масиви

Real Single Double Comp Extended Char
Прості типи
Дійсні
Ординальні
Структуровані
Масивовий  
Файловий
Множинний
Рядковий
Комбінований
Вказівний
Процедурний
Об’єктний
Boolean Перелічувальний Діапазонний Цілі типи
Shortint Integer Longint Word Byte
Рис. 11.1 Типи даних Turbo Pascal 7.0

 

 


Структурований тип (масив)

Масив один із структурованих типів даних.

Масивовий тип найбільш доцільно використовувати у задачах, пов’язаних з вимірами даних.

Кожне значення масивового типу складається з фіксованого числа елементів однакового базового типу.

<== предыдущая лекция | следующая лекция ==>
Приклад 8.8 | Приклад 11.1
Поделиться с друзьями:


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


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



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




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