Алгоритм -
• цескінченна послідовність команд,
виконання яких призводить до очікуваного
результату
Команда- це спонукальне речення
Приклади команд:
1. закрий вікно
2. збережи документ
3. виділи текст
3.
Слово алгоритм виникло
відalgorithm –
латинського написання
слова ал – Хорезмі, під
яким у середньовічній
Європі знали видатного
математика із Хорезму
(міста у сучасному
Узбекистані) Мухамеда
бен Мусу, який жив
у 783 – 850 рр.
4.
• Комп’ютерна програма–
• набір послідовних інструкцій у
вигляді слів, цифр, кодів, символів
чи в іншому вигляді, виражених у
формі, придатній для зчитування
та виконання комп’ютером
5.
Транслятор – програма,яка
перетворює програму, написану
мовою програмування, в
машинні коди
Інтерпретатор перетворює
невеликий фрагмент
вихідної програми в
машинні коди і, лише
дочекавшись, коли процесор
їх виконає, переходить до
опрацювання наступного
фрагмента
Компілятор транслює відразу
всю програму в машинні
коди і вміщує їх у пам’ять
комп’ютера, не виконуючи
6.
Створення мови програмування
Паскаль
Мовупрограмування Паскаль
для навчання студентів
основам програмування
створив у 1968-1971 р.
швейцарський учений
Ніклаус Вірт з кафедри
інформатики Стенфордського
університету.
Таку назву вона отримала на
честь відомого французького
математика, фізика та
філософа Блеза Паскаля.
7.
Способи подання алгоритмів
•Словесний (письмовий чи друкований)
• Формульно-словесний
• Усний
• Графічний (схеми, блок-схеми)
• Кодований (мовою певного середовища
програмування)
Вхідні дані
1.
2.
3.
8л 5л3л
8л 5л 3л
5л 3л3л
3л3л 2л
Алгоритм отримання 2 л
із повної 8 л посудини і
двох порожніх посудин
місткістю 5л і 3 л
13.
Базові структури алгоритмів
(видиалгоритмів)
• Лінійний алгоритм – команди виконуються за
послідовно одна за одною в установленому
порядку.
• Алгоритм з розгалуженням - в алгоритмі
присутня умова, дотримання якої призводить
до виконання однієї із двох команд
• Алгоритм з повторенням(циклічні) - деяка
група команд може повторюватися кілька
разів або до виконання певної умови
Правило
• Складеневисловлюванняіз
сполучником Іістинне тоді і тільки
тоді,колиобидвапрості
висловлюванняістинні
• Складеневисловлюванняіз
сполучником АБО хибне тоді і тільки
тоді,колиобидвапрості
висловлюванняхибні
19.
Приклади
Висловлювання
4 >7
ХИБА (FALSE)
(4>7)або (9<12)
ІСТИНА (TRUE)
(4>7) або (3<1) ХИБА (FALSE)
(4>7) і (3<1)
ХИБА (FALSE)
(4>7) і (3>1)
ХИБА (FALSE)
(4<7) і (3>1)
ІСТИНА (TRUE)
7>5 ІСТИНА (TRUE)
Команда циклу злічильником
i:= 1:
i<=5
S:=S+ 7;
i:=i+1;
S:= 0:
Виведення S
Program Zadacha;
Var i, S:integer;
Begin
S:=0;
For i:=1 to 5 do
begin
S:=S+7;
end;
Writeln(‘S=’, S);
End.
Даний фрагмент блок-схеми
5 разів виконує тіло циклу S:=S+ 7
1. для і=1, S:=0+ 7=7
2. для і=2, S:=7+ 7=14
3. для і=3, S:=14+ 7=21
4. для і=4, S:=21+ 7=28
5. для і=5, S:=28+ 7=35
Перевірка умови i<=5 відбувається
кожного разу на початку циклу
Умова i<=5
і команда i:=i+1,
тобто збільшення
параметра і на 1,
відбувається в
даному операторі
цикла з
лічильником
автоматично
TRUEFALSE
Структура програми мовоюПаскаль
НАМ Паскаль
Програма <назва програми>;
Початок
<тіло програми>
Кінець.
Program <назва програми>;
Begin
<тіло програми>
End.
Program <назва програми>;
Uses <список імен бібліотечних модулів,
що використані у програмі>;
Const <описання сталих величин>;
Type <описання типів користувача>;
Var <описання змінних величин>;
<описання процедур та функцій
користувача>;
Begin
<тіло програми>
End.
Виділене курсивом буде вивчатися в 8 класі
25.
Слова мови програмуванняПаскаль
Зарезервовані (службові) – слова, що є складовою частиною
мови. Вони мають заздалегідь визначене написання та
завжди однаковий зміст.
Стандартні – слова, призначені для заздалегідь
визначених розробниками мови типів даних, сталих
величин, певних процедур або функцій.
Ідентифікатори (імена величин) – слова, що визначає
користувач для імен сталих та змінних величин
В Паскалі визначені:
•арифметичні операції (+, -, *, /), які застосовні
для змінних цілого та дійсного типів);
• операції відношення (порівняння) (=, <, >, <=,
>=, < >), які порівнюють значення двох
величин (операндів) і визначають істинним чи
хибним є значення всього виразу;
• логічні операції (логічні та (and), або (or), ні
(not)), результатом яких є логічне значення true
або false.
28.
Процедури введення тавиведення
Read (<імена змінних, що відокремлені одне від одного
комою>);
Write (<імена змінних, що відокремлені одне від одного
комою>);
Використовуючи процедуру Write, можна вивести на
екран значення дійсного числа у зручному вигляді.
Для цього використовують спеціальний формат
виведення
Write (<ім’я змінної>:n:m);
де n – кількість позицій для виведення на екран дійсного
числа (знак «-» та десяткова кома входять у це число),
m – кількість позицій (з n можливих) для виведення
цифр після десяткової коми.
29.
Знайти остачу Rвід ділення числа a на число b
Program Zadacha_1;
Var a,b,R:integer;
Begin
Writeln(‘введіть два числа’);
Read(a, b);
R:=a mod b;
Writeln(‘остача=’,R);
End.
Зверніть увагу на
описову частину
програми:
Змінні a, b ,R описані як
цілі integer в розділі Var
Приклад лінійної програми
30.
Знайти цілу частинуZ від ділення числа
M на число N
Program Zadacha_2;
Var M,N,Z:integer;
Begin
Writeln(‘введітьдва числа’);
Read(M,N);
Z:=M div N;
Writeln(‘ціла частина=’,Z);
End.
Зверніть увагу на описову
частину програми:
Змінні M,N, Z описані як
цілі integer в розділі Var
Приклад лінійної програми
31.
Написати програму для
знаходженняпершої цифри цілого
тризначного числа.
Program Zadacha_3;
Var N:integer;
Begin
Writeln(‘введіть ціле тризначне число’);
Read(N);
N:=N div 100;
Writeln(‘перша цифра’,N);
End.
Приклад лінійної програми
32.
Написати програму длявизначення: чи ділиться націло
число N на число M
Довідка: число N націло ділиться на число M, якщо остача від
ділення числа N на число M =0, тобто N mod M= 0.
Числа N і M вводяться з клавіатури і є цілими числами
Program Zadacha;
Var N,M :integer;
Begin
Writeln(‘введіть ціле число N’);
Readln(N);
Writeln(‘введіть ціле число M’);
Readln(M);
If N mod M=0 Then Writeln(‘N ділиться на М’)
Else Writeln(‘N не ділиться на М’);
End.
Приклад програми з розгалуженням
33.
Завдання Формула Приклад
Знайтипершу цифру цілого
двозначного числа N
N div 10 N=27; N div 10= 2
Знайти другу цифру цілого
двозначного числа N
N mod 10 N=27; N mod 10=7
Знайти першу цифру цілого
тризначного числа N
N div 100 N=345; N div 100=3
Знайти другу цифру цілого
тризначного числа N
N mod 100 div 10 N=345; N mod 100 div 10 =4
Знайти останню цифру цілого
тризначного числа N
N mod 10 N=345; N mod 10 = 5
Знайти першу цифру цілого
чотиризначного числа N
N div 1000 N=1345; N div 1000=1
Знайти останню цифру цілого
чотиризначного числа N
N mod 10 N=1345; N mod 10 =5
34.
Знайти суму всіхцілих чисел від 100 до180,
що діляться на 7, тобто, кратні 7.
Program Zadacha;
Var N, S:integer;
Begin
S:=0;
For N:=100 to 180 do
begin
If N mod 7=0 Then S:=S+N;
end;
Writeln(‘сума чисел, кратних 7=’,S);
End.
Приклад циклічної програми
35.
Знайти суму всіхцілих чисел від 100 до180
Program Zadacha;
Var N, S:integer;
Begin
S:=0;
For N:=100 to 180 do
begin
S:=S+N;
end;
Writeln(‘сума чисел від 100 до 180=’,S);
End.
Приклад циклічної програми
36.
Знайти суму квадратіввсіх цілих чисел від
10 до 18
Program Zadacha;
Var N, S:integer;
Begin
S:=0;
For N:=10 to 18 do
begin
S:=S+N*N;
end;
Writeln(‘сума квадратів чисел від 10 до 18=’,S);
End.
Приклад циклічної програми
37.
Знайти суму квадратівпарних цілих чисел
від 15 до 138
Приклад циклічної програми
Program Zadacha;
Var N, S:integer;
Begin
S:=0;
For N:=15 to 138 do
begin
If N mod 2=0 Then S:=S+N*N;
end;
Writeln(‘сума квадратів парних чисел=’,S);
End.
Парні числа – це числа,
що діляться без остачі
на 2