Студопедия

КАТЕГОРИИ:


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

Лінійні обчислювальні процеси




End.

Програмування на Паскалі

Розділ var

Це початок розділу опису змінних. Програма на Паскалі складається із двох найважливіших частин - розділу опису змінних і тіла самої програми. var - це службове слово, нічого не виконуюче, але показує Паскалю, що почався розділ опису змінних. У цьому розділі описуються всі змінні, які будуть використовуватися в програмі.

 

Розділ begin

 

Службове слово, що показує початок тіла програми. Після слова begin розташовується весь текст програми - оператори, присвоювання, дії. Закінчується розділ begin службовим словом end.

A:= A + B;

Складаються А и В, одночасно поміщаючи результат обчислення в змінну А.

A:= A - C;

Віднімається від результату додавання змінна С.

 

Це означає кінець програми.

Це програмка поки нічого не робить - не читає дані із клавіатури й не виводить їх на екран.

Отже, схема програми на Паскалі:

 
Program Program_name;
var
-
опис_змінних
-
begin
-
-
тіло_програми
-
-
end.

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

Наприклад:

Скласти блок-схему та програму обчислення функції:

1. Постанова задачі

a, b – аргумент

Z - результат

2. Математичний опис

3. Лінійна

 

4. Алгоритм

 

 

5. Program P1;

Var

a, b, Z: real;

begin

writeln (’a, b’);

readln (a, b);

Z:= (a-4*sqr(b)-1)/(sqrt(a*b);

writeln (’Z=’,Z);

end.

Одна із самих помітних конструкцій - це перевірка якихось умов. Такий процес називається розгалуженим.

Наприклад, потрібно написати програму, що:

1. Зчитує два числа;

2. Далі перевіряє, якщо 1-е число більше другого, виводить:

"1-е більше, ніж друге"; якщо 2- більше 1-го, то виводить:

"2-е більше, ніж перше";

У програмі немає нічого складного. Але є одна деталь - як перевірити ці числа на БІЛЬШЕ/МЕНШЕ? Отут і знадобитися конструкція If...Then...Else.

IF..Then..Else - (англ. Якщо....Те...Інакше). Дуже важлива й необхідна конструкція Паскаля. Використовується для перевірки яких-небудь умов. У цій конструкції містяться знаки порівняння, які в Паскалі позначаються так:

> Більше
< Менше
>= Більше або дорівнює
<= Менше або дорівнює
<> Не дорівнює

Отже, як же оформити конструкцію if...then...else? Для початку варто записати словами порівняння двох чисел А и В:

1. Якщо А > B То Write(A,' більше чим ',B,'!')

2. Інакше Write(B,' більше чим ',A,'!');

Так виглядає ця конструкція на Паскалі:

If A > B Then Write(A,' більше чим ',B,'!')

else Write(B,' більше чим ',A,'!');

1. Спочатку йде службове слово If

2. Після нього міститься перша перевірка, у якій саме й використовуються знаки порівняння, наведені в таблиці.

3. Якщо ця перевірка виконується вірно, тобто A > B, то виконується дія, зазначена після слова Then. Зверніть увагу, що після дії (процедури Write) немає крапки з комиою - ";". Вона не ставиться перед словом Else.

4. Якщо ж перевірка не вірна, тобто A < B то виконується дія, зазначена після слова Else. Після цієї дії вже ставитися крапка з комою.

Зауваження. Слова Else може й не бути. Це відбувається тоді, коли потрібно виконати всього одна умову й не робити нічого, якщо вона не вірна. У такому випадку після дії, зазначеного за словом Then ставиться ";". От такий приклад:

If A > B Then Write(A,' більше чим ',B,'!');

текст буде виглядати так:

 
Program Primer;
var
A,B: Integer;
begin
Write('Уведіть A: ');
Readln(A);
Write('Уведіть B: ');
Readln(B);
If A > B Then Write(A,' більше чим ',B,'!')
else Write(B,' більше чим ',A,'!');
Readln;
end.

Наприклад:

Скласти блок-схему та програму обчислення функції

 

 

1. Постанова задачі

a, b – аргумент

х – результат.

2. Математичний опис

якщо a<b, то ;

якщо a=b, то ;

інакше .

3. Розгалужена.

4. Блок-схема

 

5. Program P2;

Var

a, b, x: real;

begin

writeln (’a,b’);

readln (a,b);

if a<b then x:=7.1;

if a=b then x:=a*5*b else x:=(2*sqrt(a+b))/sqr(a);

writeln (’x’,x);

end.

 

 

Конструкції циклів. Цикли - це невід'ємна частина програми.

Циклів існує декілька - деякі дозволяють повторюватися програму певну кількість разів, закладену в програмі, деякі змушують повторюватися програму до певних умов (наприклад, поки користувач не натисне клавішу виходу).

Цикл FOR він відноситься до розряду тих, які змушують повторюватися програму певну кількість разів.

1. Цикл починається словом FOR.

2. Після нього йде присвоювання якій-небудь змінній початкового значення. Саме починаючи із цього значення й буде відбуватися відлік.

3. Далі йде слово TO.

4. Після цього вказується кінцеве значення наведеної змінної. До цього значення буде відбуватися відлік.

5. Наприкінці заголовка циклу ставиться слово do.

6. Посля цього йдуть всі дії, які повинні бути зациклені

7. якщо після слова do повинно бути кілька дій, а не одне, то всі вони вміщуються у конструкцію begin... end; Пом’ятайте про це, інакше цикли не будуть правильно працювати - виконуватися буде тільки перша дія, а інші будуть порушені тільки після виконання циклу.

8. For I:= 1 to 10 do

9. Що при цьому буде відбуватися зі змінною?

10. 1. Вона буде прирівняна до одиниці;

11. 2. Вона буде збільшуватися на одиницю з кожним новим початком циклу (це називається ітерацією - новий прохід;), поки не стане дорівнювати 10.

12. Зверніть увагу, вона буде збільшуватися? А от якщо написати так:

13. For I:= 10 to 1 do

14. Змінна повинна зменшуватися? Судячи зі значень - так. Але якщо так написати в програмі, цикл не буде виконаний. Паскаль не видасть помилки, програма піде на виконання, але цикл працювати не буде. Чому? Просто в циклі For при кожній новій ітерації (проході) Паcкаль збільшує на 1 змінну й перевіряє - вона більше заданого кінцевого значення? Якщо так, цикл завершений. От і тут - змінна I збільшується на 1, вона тепер дорівнює 11, тобто більше кінцевого значення (більше 1), цикл завершений. Тобто він порожній - працювати не буде. Початкове значення відразу ж ставати більше кінцевого.

15. Однак, іноді необхідно, щоб змінна в циклі зменшувалася. Наприклад, модифікований варіант попередньої програми - зменшувати на 10 значення уведеної змінної. Як же надійти? Саме для цих цілей й існує розширення синтаксису циклу FOR, що дозволяє зменшувати значення, тобто задавати "від більшого до меншого".

16. Для того, щоб використати цю можливість, необхідно замінити службове слово to словом downto, тобто оформлення стане таким:

17. For I:= 10 downto 1 do

 

Приклад 1:

Скласти блок-схему та програму обчислення суми

 

 

1. Постановка задачі:

n – аргумент

S – результат

 

2. Математичний опис задачі:

S:=0

Для n:=3 до15 виконати S:=S+(n2+1)

вивід S

 

3. Тип обчислювального процесу – циклічний

 

 

4. Блок-схема

 

 
 

 

 


5. Програма

Program P2;

 

Var

S,n: integer;

Begin

S:=0;

for n:=3 to 15 do

S:=S+sqr(n)+1;

writeln (‘S=’,S);

end.

 

Приклад 2:

 

Для сукупності чисел Х(13) при даному значені необхідно обчислити суму елементів порядковий номер яких більше 5 та вивести отримані результати. Скласти блок-схему та програму.

 

1. Постанова задачі.

С – результат суми додатних елементів

x[n] – елемент таблиці

n – порядковий номер

2. Математичний опис

якщо n>5

3. Циклічна програма

 

4. Блок-схема.

 

 

 

5. Програма:

 

Program P3;

Var

C: real;

x: array [1..13] of real;

n: integer;

Begin

for n:=1 to 13 do

begin

writeln (‘x’);

readln (x[n ]);

end;

C:=0;

for n:=1 to 13 do

if >5 then C:=C+x[n];

writeln (‘C=’,C);

end.




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


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


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



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




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