Відділ освіти Дубенської міської ради Дубенська гімназія №2



Скачати 43,26 Kb.
Дата конвертації26.12.2016
Розмір43,26 Kb.

Відділ освіти Дубенської міської ради Дубенська гімназія №2

  • Алгоритмізація та програмування.
  • Мова Паскаль
  • (опорні конспекти)
  • З досвіду роботи
  • вчителя інформатики
  • Колошкіної
  • Тетяни Віталіївни
  • Дубно - 2006
  • Алгоритмізація та програмування.
  • Мова Паскаль
  • “… мова, якою учня навчають висловлювати
  • свої думки, здійснює глибокий вплив на його
  • навички мислення та винахідницькі здібності…”
  • Ніколаус Вірт

Схвалено методичною радою Дубенської гімназії №2 (протокол №4 від 27.02.2006)

  • У пропонованому посібнику узагальнено досвід роботи вчителя інформатики Дубенської гімназії №2 Колошкіної Т.В. з питань вивчення курсу “Алгоритмізація та програмування” за опорними конспектами. Матеріал подано в обсязі, визначеному Програмою неперервного курсу інформатики 5-11 кл . До кожного опорного конспекту подано коментар, а також запитання для самоконтролю.
  • Посібник призначений для вчителів інформатики, учнів шкіл, гімназій.
  • Мета його – допомогти школярам швидко, цілісно і на високому рівні засвоїти програмовий матеріал.

Етапи розв’язування задач з використанням комп’ютера

  • 1. Постановка задачі.
  • 2. Побудова моделі.
  • 3. Складання алгоритму.
  • 4. Вибір програмного засобу.
  • 5. Тестування програмного засобу.
  • 6. Виконання програми та аналіз результатів.
  • 5
  • 6
  • 10
  • 19

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

    • Формулювання умови задачі.
    • Конкретизація даних, невідомих.
    • Визначення правильних результатів.
  • Точність постановки задачі
  • Можливість забезпечити однакове розуміння
  • задач різними людьми.
  • 4

Моделювання

  • Модель – це спрощене уявлення про реальний об’єкт, процес чи явище.
  • Географія
  • Хімія
  • Фізика
  • Біологія
  • Головне призначення моделі
  • Демонстрація лише суттєвих властивостей об’єктів, процесів і явищ.
  • 4

Класифікація моделей

  • За галузями використання: Методи дослідження
  • навчальні
  • ігрові
  • дослідні
  • науково-технічні
  • імітаційні
  • За ознакою фактора часу:
  • динамічні
  • статичні
  • експериментальний теоретичний
  • 4
  • 8
  • 6

Інформаційні моделі

  • Інформаційна модельце сукупність інформації, яка харак-теризує властивості та стан об’єкта, процесу чи явища, а та-кож їх взаємодію із зовнішнім світом.
  • Інформаційна модель
  • вербальна
  • знакова
  • За формою представлення:
  • геометричні
  • словесні
  • математичні
  • структурні
  • логічні
  • спеціальні
  • комп’ютерні
  • некомп’ютерні
  • 4

Запитання для самоконтролю

  • З яких етапів складається розв’язання задачі на комп’ютері?
  • Які етапи виконує людина?
  • На яких етапах використовується комп’ютер?
  • Що таке модель? Яке призначення моделі?
  • Що називається моделюванням?
  • На яких двох методах дослідження базується моделювання?
  • За якими основними ознаками класифікують моделі?
  • Які існують типи моделей?
  • Що таке інформаційна модель?
  • Наведіть власні приклади побудови інформаційної моделі.

Алгоритми

  • Алгоритм – це зрозумілий, точний та повний опис послідовності простих дій для розв’язування конкретної задачі.
  • IX століття. Узбецький математик Мухаммед ібн Муса аль_Хорезмі
  • (латинь: Algorithm). Трактат про правила виконання арифметичних дій.
  • Алгоритм
  • числовий
  • нечисловий
  • Виконавець алгоритму
  • людина
  • машина

Властивості алгоритму

  • зрозумілість
  • однозначність (визначеність)
  • дискретність (покроковість)
  • універсальність (масовість)
  • правильність (результативність)
  • Помилки в алгоритмі
  • синтаксичні
  • логічні

Що ми називаємо алгоритмом? Як виник термін “алгоритм”?

  • Запитання для самоконтролю:
  • Що ми називаємо алгоритмом? Як виник термін “алгоритм”?
  • Які бувають алгоритми?
  • Назвіть основні властивості алгоритмів.
  • Що називається системою команд виконавця?
  • Хто може бути виконавцем алгоритму?
  • Які помилки можуть бути в алгоритмі?
  • Які помилки називаються синтаксичними?
  • Які помилки називаються логічними? Хто їх знаходить і виправляє?

Способи опису алгоритмів

  • Словесний
  • Графічний
  • Мовою програмування

Словесний запис алгоритму

  • Виконавець: людина
  • Правила запису:
  • алгоритм складається з послідов-ності дій, записаних словами;
  • дії можуть мати різні скорочення, позначення, формули;
  • дії повинні бути точно визна-ченими і посильними для вико-нання;
  • усі дії алгоритму повинні бути пронумеровані
  • Задача: Обчислити значення функції y=3a2 - 5a..
  • а помножити на а, результат позначити R1.
  • R1 помножити на 3, результат позначити R2.
  • 5 помножити на а, результат позначити R3.
  • R2 відняти R3, результат позначити y

Арифметичний – це звичайна формула, операндами якої можуть бути числа, змінні, функції. (b2-4ac)

  • Типи виразів
  • Арифметичний – це звичайна формула, операндами якої можуть бути числа, змінні, функції. (b2-4ac)
  • Умовнийце вислів про значення операндів, який може бути істинним або хибним.
  • Результат: “так” або “ні”; “істина” або “хибність”; “true” або “false”
  • Логічний – складений вислів про значення декількох умовних виразів.
  • Логічні операції: і (and), або (or), ні (not)

Графічний запис алгоритму

  • Графічний запис алгоритму складається із визначених зображень дій за допомогою геометричних фігур:
  • початок
  • кінець
  • введення даних
  • виведення результату
  • обчислення
  • умова
  • Блок-схема
  • Геометричні фігу-ри з’єднуються лініями зі стріл-ками

Лінійний

  • Базові структури алгоритмів
  • Лінійний
  • Послідовність дій
  • Циклічний
  • Визначена кількість повто-рень однієї або декількох дій згідно сформульованої умови
  • Розгалужений
  • Вибір з двох можливих дій в за-лежності від сформульованої умови
  • початок
  • введення
  • даних
  • обчислення
  • виведення
  • результату
  • кінець
  • умова
  • дія 1
  • умова
  • дія 1
  • дія 2
  • умова
  • дія
  • ні
  • так
  • дія
  • умова
  • ні
  • так

Які ви знаєте способи запису алгоритмів?

  • Запитання для самоконтролю:
  • Які ви знаєте способи запису алгоритмів?
  • Яких правил потрібно дотримуватись у словесному записі алгоритму?
  • Чому словесний спосіб запису алгоритму вважається найпростішим?
  • В чому особливості графічного запису алгоритму?
  • Які існують типи виразів?
  • Які базові структури може мати алгоритм?
  • З яких типів вказівок складається будь-який алгоритм?
  • Які існують типи алгоритмів?
  • Які загальні принципи запису вказівок?
  • Які алгоритми називаються лінійними?
  • Які алгоритми називаються розгалуженими?
  • Які алгоритми називаються циклічними?
  • Мови програмування
  • Низького рівня
  • (40-і роки XX ст.)
  • Високого рівня
  • (50-і роки ХХ ст)
  • Асемблер
  • Паскаль
  • Бейсик
  • Пролог
  • Delphi
  • Транслятор
  • Інтерпретатор Компілятор
  • GW-Basic Qbasic TurboBasic TbPascal BPascal
  • Середовище програмування:
  • редактор текстів програм;
  • довідково-інформаційна система;
  • бібліотека процедур та функцій;
  • компілятор чи інтерпретатор;
  • засоби виконання усієї програми

Запитання для самоконтролю:

  • Що називається мовою програмування?
  • Чим викликана значна кількість різних мов програмування?
  • На які класи традиційно поділяються мови програмування?
  • Яку функцію виконують транслятори?
  • Поясніть різницю між інтерпретатором та компілятором?
  • Що входить до складу середовища програмування?

Основні поняття мови Паскаль

  • Алфавіт
  • латинські символи
  • символи кирилиці
  • цифри від 0 до 9
  • математичні символи:
  • + - * / = < >
  • розділові знаки:
  • ( ) [ ] { } , . : ; ‘
    • Команди
  • введення – виведення;
  • присвоєння;
  • складена;
  • розгалуження;
  • циклу
  • Слова
    • службові
    • ідентифікатори
    • стандартні імена
  • Рік створення: 1960
  • Автор: професор Ніколаус Вірт зі Швейцарії
  • Призначення: навчання студентів програмуванню
  • Використання: розв’язування різноманітних задач
  • Історична довідка

Службові слова

  • Призначені для написання команд.
  • Goto – перейти до
  • If – якщо
  • Label – позначка (мітка)
  • Mod – остача від ділення
  • Not – не
  • Of – з
  • Or – або
  • Procedure – процедура
  • Program – програма
  • Record – запис
  • Repeat – повторювати
  • Then – то
  • While – поки (доки)
  • And – і
  • Array – масив
  • Begin – початок
  • Case – вибір
  • Const – сталі (константи)
  • Div – ділення без остачі
  • Do – виконати
  • Downto –униз до
  • Else – інакше
  • End – кінець
  • File – файл
  • For – для
  • Function – функція

Ідентифікатори, або імена користувача

  • Правила утворення імен користувача:
  • Ім’я може складатися лише з латинських літер, цифр і символа “_”;
  • Ім’я не може бути службовим словом;
  • Першим символом є буква;
  • Літери можуть бути великими або малими;
  • Імена повинні бути короткими і відповідати суті об’єкта;
  • Пропуски в іменах не допускаються;
  • Два різні об’єкти не можуть мати одне ім’я.
  • Приклади правильно утворених
  • імен
  • a, b, x, a1, a2, alpha, cat, My_name,
  • Z_1

Стандартні імена

  • Типи даних
  • Стандартні сталі (константи)
  • Стандартні функції
  • Команди

Структура Паскаль-програми

  • Програма складається з двох частин:
  • описової виконуваної
  • заголовок розділ описів розділ команд
  • та оголошень
  • Program <назва програми>;
  • <Розділ описів та оголошень>;
  • Begin
  • <Розділ команд>;
  • End.
  • Команди
  • Введення присвоєння виведення
  • Read
  • readln
  • Write
  • writeln
  • <ім’я змінної>:= <вираз>
  • Складена команда:
  • begin
  • <Команда 1>; …
  • <Команда n>;
  • end;

Запитання для самоконтролю:

  • Хто створив мову і яке призначення мови Паскаль?
  • Яка відмінність між алфавітом алгоритмічної та української мов?
  • Для чого потрібні службові слова?
  • Розкажіть про правила утворення імен.
  • З яких частин складається програма?
  • Як відокремлюються команди у програмі?
  • Назвіть імена, які користувач утворив правильно:
  • а) a, a1, 2a, a+1;
  • б) aa, aa+aa, for, begin;
  • в) Myname, my_number, do.
  • Якого значення набуде змінна А після обчислення виразів:
  • а) A:= 8 + 4 * 2 – 3;
  • б) A:= 3 * 6 + 3 * 5 + 3 * 4?

Величини

  • Величини бувають: константи і змінні.
  • Константи Змінні
  • не міняють свого значення під час виконання програми.
  • Опис здійснюється у розділі констант:
  • Const <ідентифікатор>=<значення>;
  • Наприклад: Const Pi=3.14
  • призначені для зберігання конкретних
  • значень в оперативній пам’яті під час
  • виконання програми.
  • Опис здійснюється в розділі змінних:
  • Var
  • <список імен змінних>:<тип>;

Типи даних

  • Це множина значень однакової природи разом із набором операцій, які над ними виконуються.
  • Цілий Дійсний Літерний
  • integer real char
  • (-32768…32767) (29Е-39…1.7Е38) (кодова таблиця)
  • Операції: Операції:
  • +, -, *, /, div, mod +, -, *, /
  • Булевий Рядковий
  • boolean string
  • (true, false) (0 – 255 байт)

Вирази

  • Правила утворення
  • та обчислення виразів:
  • Правило пріоритетів.
  • Правило дужок.
  • Правило лінійного запису.
  • Правило коректних імен.
  • Стандартні функції:
  • Abs(x) - |x| - модуль числа x
  • Arctan (x) – arctg x – арктангенс числа х
  • Cos(x) – cos x) – косинус числа х
  • Exp(x) – ex – експонента
  • Ln(x) – lnx – натуральний логарифм числа х
  • Sin(x) – sin x – синус числа х
  • Sqr(x) – x2 – піднесення до квадрату
  • Sqrt(x) - - корынь квадратний з числа х
  • Записати вираз на мові Паскаль: (sqr(x)*sqr(x)+2*y)/(sin(2*y)-1)

Запитання для самоконтролю:

  • Як ви розумієте поняття “величина”?
  • Що називається константою? Наведіть приклади.
  • Яка величина називається змінною?
  • Які стандартні типи величин використовуються у Паскалі?
  • Яке призначення виразів?
  • Сформулюйте правило дужок.
  • Які операції визначені над цілими даними?
  • Яких значень набудуть такі функції та вирази:
  • abs(-5); sqrt(49); 8div3; 11mod4.

Лінійні (прості) програми

  • Команди: введення; присвоєння; виведення.
  • Задача: Задано два цілі числа. Знайти їх суму, добуток, різницю.
  • Дано: a,b.
  • Знайти: s,d,r.
  • Обчислення:
  • s=a+b
  • d=a*b
  • r=a-b
  • Виведення
  • результатів
  • S,d,r
  • початок
  • Введення
  • даних a,b
  • S:=a+b
  • D:=a*b
  • R:=a-b
  • кінець
  • Program z1;
  • Var a,b,s,d,r : integer;
  • Begin
  • read (a,b);
  • s:=a+b;
  • d:=a*b;
  • r:=a-b;
  • writeln(‘s=‘,s);
  • writeln (‘d=‘,d);
  • writeln (эк=эбк);
  • End.

Програми з розгалуженням

  • Скорочений запис:
  • If <логічний вираз> then <команда>;
  • Задача: Ввести два числа. Третьому присвоїти їх суму, якщо перше більше за друге, і добуток, якщо друге більше за перше.
  • Дано: a,b.
  • Знайти: c.
  • Обчислення:
  • Якщо a>b, то c=a+b
  • Якщо b>a, то с=a-b
  • Виведення
  • результату с
  • початок
  • Введення даних
  • a,b
  • a>b
  • c:=a+b
  • b>a
  • c:=a*b
  • кінець
  • Program z2;
  • Var a,b,c : integer;
  • begin
  • read (a,b);
  • if a>b then c:=a+b;
  • if b>a then c:=a*b;
  • writeln (‘c=‘,c);
  • end.

Програми з розгалуженням (продовження)

  • Дано: a,b.
  • Знайти: c.
  • Обчислення:
  • Якщо a>b, то c=a+b
  • iнакше с=a*b
  • Задача: Ввести два числа. Третьому присвоїти їх суму, якщо перше більше за друге, і добуток, якщо друге більше за перше.
  • If <логічний вираз> then <команда> else <команда 2>;
  • початок
  • Введення даних
  • a,b
  • a>b
  • c:=a+b
  • c:=a*b
  • Виведення
  • результату с
  • кінець
  • Program z2;
  • Var a,b,c : integer;
  • begin
  • read (a,b);
  • if a>b then c:=a+b else c:=a*b;
  • writeln (‘c=‘,c);
  • end.

Запитання для самоконтролю:

  • Які службові слова використовуються для запису лінійних програм?
  • Яка стандартна команда забезпечує введення інформації у Паскалі?
  • Яка команда призначена для виведення інформації?
  • Як діє скорочена команда розгалуження? Яке її призначення?
  • Який загальний вигляд має скорочена команда If?
  • Який загальний вигляд має команда повного розгалуження?
  • Чи можна ставити символ “;” перед словом else?

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

  • Цикл з передумовою призначений для організації багатократного виконання групи команд (тіло циклу) до тих пір, поки залишається істинною умова виконання циклу.
  • Опис: While<логічний вираз> do <тіло циклу>;
  • Задача: Обчислити добуток перших 25 натуральних чисел.
  • початок
  • D:=1;n:=1
  • N<=25
  • D:=D*n;
  • N:=N+1
  • Виведення
  • результату d
  • кінець
  • так
  • ні
  • Program z3;
  • Var d,n:integer;
  • Begin
  • d:=1; n:=1;
  • while n<=25 do
  • begin
  • d:=d*n;
  • n:=n+1;
  • end;
  • writeln (‘d=‘,d);
  • End.
  • Складена команда

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

  • Цикл “для” призначений для організації багатократного виконання тіла циклу для значень параметра циклу з деякої впорядкованої дискретної множини.
  • Опис: 1) for < параметр i>:=a to b do <тіло циклу>; (a
  • 2) for <параметр i>:=a downto b do <тіло циклу>; (a>b).
  • Задача: Обчислити добуток перших 25 натуральних чисел.
  • початок
  • D:=1
  • i:=1, 25
  • D:=d*i
  • Виведення
  • результату d
  • кінець
  • так
  • ні
  • Program z4;
  • Var i,d:integer;
  • begin
  • d:=1;
  • for i:=1 to 25 do
  • d:=d*I;
  • writeln (‘d=‘,d);
  • end.

Запитання для самоконтролю:

  • Опишіть дію команди while.
  • Опишіть правило обчислення добутку.
  • Як буде обчислюватись сума, кількість?
  • Що таке цикл з параметром?
  • Що таке параметр циклу?
  • Чим відрізняється команда for-to від команди for-downto?
  • Чому цикл “доки” є більш універсальним, ніж цикл “для”?

Табличні величини

  • Масив – це скінченна послідовність змінних одного типу, імена яких складаються з імені масиву та покажчика, що визначає положення змінної у масиві.
  • Масиви
  • Одновимірні Двовимірні
  • Властивості масиву:
  • Тип елементів масиву повинен бути конкретно описаний. До кожного елемента масиву існує прямий доступ.
  • 2. Число елементів масиву визначається під час його опису і надалі не змінюється.
  • Опис масиву:
  • Var <ідентифікатор масиву>: ARRAY [m..n] of <тип елементів масиву>;
  • Наприклад: Var A:ARRAY [1..5] of real;
  • B: ARRAY [1..100,1..100] of integer;

Алгоритми і програми роботи з таблицями

  • Алгоритми:
  • Знаходження суми й добутку елементів таблиць;
  • Пошук елементів з деякою властивістю;
  • Пошук мінімального (максимального) елемента;
  • Впорядкування табличних величин:
  • 1. метод мінімальних елементів;
  • 2. метод вставки.
  • Задача: Обчислити суму всіх елементів масиву A [1..25].
  • Program z5;
  • Var A:ARRAY [1..25] of real;
  • i: integer; s: real;
  • begin
  • for i:=1 to 25 do
  • begin
  • writeln (‘введіть елемент масиву a[i]’);
  • read (a[i]);
  • end;
  • for i:=1 to 25 do S:=S+A[i];
  • writeln (‘S=‘,S);
  • end.

Рядкові величини

  • Рядок – це послідовність символів кодової таблиці комп’ютера.
  • Опис:
  • Var <ідентифікатор>: string [максим довжина рядка];
  • Операції: з’єднання (+), присвоєння (:=), порівняння, введення-виведення.
  • Функції Процедури
  • 1. Length (A) – довжина рядка 1. Insert (A,B,p) – вставка рядка А у рядок В, починаючи з позиції номером р
  • 2. Copy (R,Poz, N) –копіює фрагмент 2. Delete (B,p,m) – вилучає m символів з
  • довжиною N рядка R з позиції Poz рядка В, починаючи від позиції р
  • 3. Pos (A,B) –дає номер символу, з якого 3. Str (C,B) – переводить числове дане
  • починається входження рядка А у рядок В С у дане В типу рядок
  • 4. Concat (A,B,…) – з’єднує рядки в один 4. Val (A,C,D) – засилає у числову змінну С
  • рядок числовий образ рядка А

Запитання для самоконтролю:

  • Для чого призначені масиви?
  • Чи може масив складатись з даних різних типів?
  • Як вводяться дані у масив?
  • Назвіть методи впорядкування даних у масиві?
  • Для чого використовують текстові дані?
  • Які дії визначені над текстовими даними?

Процедури і функції

  • Підпрограма – це засіб скорочення тексту програми та підвищення її структурованості.
  • Процедура Функція
  • Procedure <ім’я процедури> function <ім’я процедури>
  • (<список формальних параметрів>); (<список формальних параметрів>):
  • Begin <тип результату>;
  • <тіло процедури> Begin
  • End; <тіло функції>
  • End;
  • Змінні
  • Локальні – описуються в підпрограмі.
  • Глобальні – описуються в основній програмі.
  • Формальні – описуються в заголовку підпрограми.
  • 4. Фактичні – описуються у команді підпрограми при її виклику.

Література

  • Глинський Я.М. Інформатика: 8-11 класи: Навч. посіб. Для загальноосвіт. навч. закл.:
  • У 2-х ч. – Ч.1 Алгоритмізація і програмування. 4-те вид.- Львів: Деол, СПД Глинський, 2004. – 256 с.
  • Глинський Я.М., Анохін В.Є., Ряжська В.А. Паскаль. Turbo Pascal I Delphi. 3-тє вид. – Львів: “Деол”, 2002. – 144 с.
  • 3. Караванова Т.П. Інформатика. Базовий курс. Основи алгоритмізації та програму-вання/Караванова Т.П. – Шепетівка: “Аспект”, 2005. - 192 с.
  • 4. Милов А.В. Основы программирования в задачах и примерах: Учебный курс/Худож.-оформитель А.С.Юхтман.- Харьков: Фолио, 2002.- 397 с.
  • 5. Сальнікова І.І., Шестопалов Є.А. Інформатика. Короткий курс. Навчальний посібник у 2-х частинах. Частина 2. 2005.- 208 с.
  • 6. Сердюченко В.Я. Розробка алгоритмів та програмування на мові Turbo Pascal: Навчальний посібник для техн. вузів / Укр.мовою – Х.: ВКП “Парытет” ЛТД, 1995.- 352 с.
  • 7. Фролков Ю.А. Основы информатики. Алгоритмический язык// Учеб. пособие для 10 кл. –
  • Донецк: Центр подготовки абитуриентов, 1999.- 112 с.
  • 8. Шестопалов Э.А. Алгоритми та програми. Основи інформатики та обчислювальної техніки.
  • Книга 2.- Тернопіль: Підручники і посібники, 2000.- 112 с.
  • 9. Шост Д.М. Основи інформатики та обчислювальної техніки. Turbo Pascal. 10-11 класи.
  • Тернопіль: “Навчальна книга – Богдан”, 1997. – 192 с.


База даних захищена авторським правом ©vaglivo.org 2016
звернутися до адміністрації

    Головна сторінка