RSS 2.0
  Зробити стартовою  |  Додати в oбране
 
ХОІППО
Хмельницький обласний інститут післядипломної педагогічної освіти
 
 
 
 
  Панель управления пользователя
       
  Пошук:
Логін : Пароль :  
РегистрацияНагадати пароль?
Офіційна адреса:

м.Хмельницький
29000, Майдан Незалежності, буд. 1
тел. 0(382)-65-03-86, 65-74-75
E-mail: hmoippo@i.ua



Address: Ukraine, 29000, Khmelnytsky, Area of Nezalezhnosti, house a 1
tel. +38(0382)-65-03-86, 65-74-75
E-mail: hmoippo@i.ua

Меню сайта
Написати нам
Новини
Головна сторінка
Форум
НАКАЗИ
ПОРТАЛ ХМЕЛЬНИЦЬКОГО ОІППО (Вихідне діагностування та інше)
Асоціація керівників інноваційних закладів (АКІЗО)

  Завдання інституту
  Дистанційна освіта
  Навчальна робота
  Intel навчання для майбутнього
  НМЦ інформаційно-комунікативних технологій Хмельницького ХОІППО
  Передовий досвід
  Пілотні школи
  Євроінтеграція
  Аспекти модернізації
  Шкільному бібліотекарю
  Видавнича діяльність
  Обласний центр практичної психології та соціальної роботи
  Електронні ППЗ
  Профільне навчання
  Обласні олімпіади
  Моніторинг якості освіти
  Наш банер
  Методичні кабінети області
  Науково-методичний склад ХОІППО
  Кафедри ХОІППО
  Виховна робота
  Хмельницький обласний центр ЄАІ
  Дошкільна освіта
  Ради інституту
  Хмельницька психолого-медико-педагогічна консультація
  Предмети у 9 класі
  Художньо-естетична освіта
  ЛІТО 2010
  ЗНО та моніторинг
  Сільська школа
  Сектор початкової освіти
  20 років Незалежності України
Корисні посилання
Хмельницька облрада
Хмельницька ОДА
Хмельницька ОДТРК Поділля-Центр
Хмельницька міська Рада
Робота з обдарованими дітьми
Хмельницькі олімпіади
Сайти ОІППО України
Освітній портал Хмельниччини
Сайт МОН України
Вчитель року. ІІІ етап
ОСВІТНЄ ІНФОРМАЦІЙНЕ ВІКНО
Острів знань
Сайт УМО
Школа олімпійського резерву
Українського центру оцінювання якості освіти
Вінницький регіональний центр оцінювання якості освіти
ГОТУЄМОСЬ ДО ЗНО
Форум інформатиків України
Вчитель новатор
Змагання та конкурси від ХОЦНТТУМ
АСУ Рейтинг
МЕРЕЖА УРАН
Сайт технічної підтримки мережі УРАН у Хмельницькій області
МАН України
Хмельницький молодіжний портал
Обдарована молодь Хмельниччини

Автобусні маршрути
Залізничні маршрути

Популярні новини
  • Про результати конкурсу "Кенгуру 2012"
  • XV Національний конкурс шкільних газет
  • Досвід упровадження ІКТ у сільській школі
  • Увага! В наявності диски з конкурсу Бобер!
  • 5 обласний фестиваль "Молодь обирає здоров'я"
  • З Днем перемоги, шановні ветерани
  • ЗНО. Тестування з хімії
  • Підсумки огляду-конкурсу методичних кабінетів 2012
  • Результати конкурсу сайтів 2012р
  • Лист про навчальні плани на 2012-2013 н.р.
  • Опитування
    Хто Ви, наш відвідувач?

    Учень! tongue
    Студент! bully
    Вчитель (Викладач)! winked
    Випадковий відвідувач! fellow
    Календар новин
    «    Травень 2012    »
    ПнВтСрЧтПтСбНд
     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Освіта області
    Шановні керівники відділів (управлінь) освіти створюйте свої веб-сайти, посилання на які будуть розміщені в даному блоці!!!
    ВІДДІЛИ (УПРАВЛІННЯ) ОСВІТИ
    ПЕРЕЛІК ОСВІТНІХ САЙТІВ ОБЛАСТІI
    Погода
    Погода в Шепетівці
    Погода в Хмельницькому
    Погода в Кам.-Подільському
    Погода в Волочиську
    Погода в Летичеві
    Наші партнери та спонсори


    Інститут інноваційних технологій та змісту освіти







    Лічильники:

    Лiчильник вiдвiдин Counter.CO.KZ - безкоштовний лiчильник
    Олімпіада з інформатики 2009 (Всеукраїнська)
    В даному блоці розміщені новини та спонсори 22-ї Всеукраїнської олімпіади з інформатики-2009, яка відбулася у м.Хмельницькому
    WishHost - качественный хостинг для Вашего сайта
    ХОIППО » Евристичні дослідження ІКС-файлів на уроках інформатики
     

    {forum}

    Евристичні дослідження ІКС-файлів на уроках інформатики ---
     
     
     
    Технологія навчання за допомогою ІКС-файлів використовує еврістичні дослідження, у ході яких учні виконують цільові дидактич-ні завдання, спілкуються в парах або малих групах, обговорюючи ре-зультати їх виконання, самостійно роблять висновки щодо нових знань, які вони одержали у ході досліджень. При необхідності пари (малі групи) розширюють коло співрозмовників, підключаючи до вза-ємодії інші групи учнів, обмінюються між собою необхідною інформа-цією, спільно формулюють висновки.

    Ікс-файли – навчальні ехе-файли, кожен з яких демонструє дію відповідної функції або процедури мови про-грамування. Виконуючи ці файли на комп´ютері, учні ви-вчають їх властивості, опановуючи навчальний матеріал.


    Крок за кроком учні опановують нові теоретичні поняття, за-своюють їх визначальні властивості. Наступний етап – самостійне за-стосовання здобутих знань на практиці – також відбувається за ана-логічною схемою:

    УРОК 1.

    ТЕМА УРОКУ: Вказівки і функції опрацювання символьних величин та їх опис навча-льною алгоритмічною мовою та мовою програмування Pascal.
    МЕТА УРОКУ: Сформувати поняття літерної величини. З'ясувати особливості цього типу даних. Розглянути відповідний набір вказівок та функцій, їх опис мовою програмування Pascal та навчальною алгоритмічною мовою.
    ТИП УРОКУ: Урок засвоєння знань.
    ТЕХНОЛОГІЯ: Інтерактивна еврістика з поетапним формуванням понять.
    ФОРМА ОРГАНІЗАЦІЇ УРОКУ: Інтерактивне дослідження методом „секретних” ікс-файлів.
    ЗАБЕЗПЕЧЕННЯ УРОКУ: Заздалегідь підготовлена на робочому столі папка UROK9-47 з текстовим файлом char.doc (char.txt), у якому в стислій формі описа-ний теоретичний матеріал уроку і сформульовано завдання для самостійних дослі-джень та п'ятьма ІКС-ФАЙЛАМИ: навчальними файлами f_ord.exe; f_chr.exe; f_succ.exe; f_pred.exe; f_upcase.exe, кожен з яких демонструює дію відповідної функ-ції опрацювання символьних величин.

    Учитель: Сьогодні ми вивчаємо новий матеріал за допомогою „секретних” ІКС-ФАЙЛІВ. Ви самостійно будете вивчати питання, аналізувати, досліджувати, робити висновки.
    1-е ЗАВДАННЯ ДЛЯ ДОСЛІДЖЕНЬ: розкрийте папку UROK9-47. У папці є файл char.doc прочитайте його (в редакторі Word).
    Спочатку учні опрацьовують зміст текстового файлу.

    Зміст текстового файлу:

    Символьний (літерний) тип величин (CHAR).
    Окрім числових даних комп'ютер може опрацьовувати символьні (знакові, літерні, буквенні) величини.
    Всі символи - це літерні константи: 'a', 'L', 'Ф', '1', '2', '%', '&',';' та інші знаки, які відображуються на екрані комп'ютера, включаючи "пропуск".
    Комп'ютер може опрацьовувати також змінні символьні (літерні) ве-личини, які у Pascal-програмі описуються у розділі змінних var ідентифікатором char.
    Про символьні величини відомо:
    1. Кожен символ займає в пам'яті комп'ютера 1 байт.
    2. Кожному символу відповідає певне число - код символа
    (порядковий номер у таблиці кодів): 'A'- 65; '0'- 48; "пробіл"- 32 і т.д.
    3. Для опрацювання символьних величин є такі функції TURBOPASCAL:
    1) ORD(SIM) – у дужках міститься аргумент – символ (SIM).
    2) CHR(COD) – аргумент – ціле число (COD).
    3) SUCC(SIM) – аргумент – символ (SIM).
    4) PRED(SIM) – аргумент – символ (SIM).
    5) UPCASE(SIM) - аргумент символ (SIM).
    Хочете дізнатись, для чого призначена кожна з цих функцій і як во-ни працюють у програмах на TURBOPASCAL?
    Тоді приступайте до виконання завдань для досліджень, – крок за кроком. Працюйте в парі, обговорюючи з товаришем наслідки опрацювання кожної порції інформації.

    ЗАВДАННЯ ДЛЯ ДОСЛІДЖЕНЬ: Для вивчення дії цих 5 функцій по черзі запустіть "секретні" ІКС-ФАЙЛИ з відповідними іменами f_ord.exe; f_chr.exe; f_succ.exe; f_pred.exe; f_upcase.exe. (Зверніть увагу, що кожному імені файлу відповідає відповідна функція опрацювання символьних величин!)
    Постарайтесь розгадити "секрет" кожного з них.
    Дослідіть призначення цих функцій для роботи з символьними ве-личинами за такою схемою:
    а) призначення (дія) функції;
    б) яка величина є аргументом даної функції;
    в) що є результатом дії функції, до якого типу величин належить. Зробіть висновки.
    г) додаткове завдання (для бажаючих): відтворити у загальних рисах кожну програму на Паскалі або створити свою власну.
    Отже, відправляйтесь у подорож по Х-ФАЙЛАХ: запускайте їх по черзі, а як зрозумієте призначення функції – робіть висновок (згі-дно пунктів а),б),в))
    і приступайте до наступного кроку. Успіхів!


    Зміст „секретних” exe-файлів
    (програм для дослідження дії функцій опрацювання символьних величин):



    Program F_ord; {Виведення на екран монітора коду введеного за до-помогою клавіатури символу з циклічним запитом про закінчення виконання програ-ми}
    var
    s: char;
    lit: char;
    begin
    s:='y';
    while ((s='y') or (s='Y')) do
    begin
    writeln('Введіть довільний символ');
    readln(lit);
    writeln(lit,'-',ord(lit));
    writeln('Для продовження введіть y(Y), ');
    writeln('для закінчення двічі натисніть ');
    readln(s); writeln(' ')
    end;
    end.




    Program F_chr; {Виведення на екран символу за його кодом}
    var
    s: char;
    cod: integer;
    begin
    s:='y';
    while ((s='y') or (s='Y')) do
    begin
    writeln('Введіть ціле число від 0 до 255');
    readln(cod);
    writeln(cod,'-',''',chr(cod),''');
    writeln('Для продовження введіть y(Y), ');
    writeln('для закінчення двічі натисніть ');
    readln(s);
    writeln(' ')
    end;
    end.




    Program F_succ; {Виведення символу, наступного у кодовій таблиці після символу,
    введеного з клавіатури}
    var
    s: char;
    lit: char;
    begin
    s:='y';
    while ((s='y') or (s='Y')) do
    begin
    writeln('Введіть довільний символ');
    readln(lit);
    writeln(lit,' - наступний - ',succ(lit));
    writeln('Для продовження введіть y(Y), ');
    writeln('для закінчення двічі натисніть ');
    readln(s);
    writeln(' ')
    end;
    end.





    Program F_pred; {Виведення символа, який передує у кодовій таблиці символу, введеному з клавіатури}
    var
    s: char;
    lit: char;
    begin
    s:='y';
    while ((s='y') or (s='Y')) do
    begin
    writeln('Введіть довільний символ');
    readln(lit);
    writeln(lit,' - попередній - ',pred(lit));
    writeln('Для продовження введіть y(Y), ');
    writeln('для закінчення двічі натисніть ');
    readln(s);
    writeln(' ')
    end;
    end.



    Program F_upcase; {Перерворення малої англійської літери,
    введеної з клавіатури, до верхнього регістру}
    var
    s: char;
    lit: char;
    begin
    s:='y';
    while ((s='y') or (s='Y')) do

    begin
    writeln('Введіть довільну малу латинську літеру ');
    writeln(' і натисніть ');
    readln(lit);
    lit:=upcase(lit));
    writeln(lit);
    writeln('для закінчення двічі натисніть '); readln(s); writeln(' ')
    end;
    end.


    Після виконання досліджень учні роблять висновки про призначення і дію символьних функцій:
    1) ORD(SIM) - визначає код (порядковий номер) символу SIM із даної кодової таблиці; результат даної функції належить до цілого типу.
    2) CHR(COD) - визначає символ за його кодом COD. Результатом такої функції є символ.
    3) SUCC(SIM) - визначає символ, який знаходиться після символу SIM у даній кодовій таблиці.
    4) PRED(SIM) - визначає символ, який знаходиться перед символом SIM у даній кодовій таблиці.
    5) UPCASE(SIM) - перетворює малі літери англійського алфавіту (і тільки англійського) у великі.
    Учитель: Ви всі виконали хорошу дослідницьку роботу, вірно зробили вис-новки, і тепер залишається лише оформити отримані результати у вигляді ОПОРНОГО КОНСПЕКТУ.
    Для кращого запам'ятання вивченого на уроці можна запропонувати такий варіант ОПОРНОГО КОНСПЕКТУ:


    СИМВОЛЬНИЙ (ЛІТЕРНИЙ) ТИП ВЕЛИЧИН (CHAR).
    Комп'ютер може опрацьовувати символьні (знакові, літерні, буквенні) величини.
    Символи - це літерні константи: 'a', '+','Д', '7', '&',';' та інші знаки, які відображуються на екрані комп'ютера, включаючи "пропуск".
    Змінні символьні (літерні) величини, у Pascal-програмі описуються так: ІМ'Я: char;
    Про символьні величини відомо:
    1. Кожен символ займає в пам'яті комп'ютера 1 байт.
    2. Кожному символу відповідає певне число - код символа (поряд-ковий номер у таблиці кодів):
    'A'- 65; 'a' - 97; '0'- 48; "пробіл"- 32 і т.д.
    3. Для опрацювання символьних величин є такі функції TURBOPASCAL:

    СИНТАКСИС АРГУМЕНТ РЕЗУЛЬТАТ
    1) ORD(SIM) Char Ціле число [0..255]
    2) CHR(COD) Ціле число [0..255] Char
    3) SUC(SIM) Char Char
    4) PRED(SIM) Char Char
    5) UPCASE(SIM) Char[a..z] char [A..Z]


    Учитель: А тепер дайте відповідь на таке питання:

     Чи є множина символів, яку використовує комп'ютер, упорядкованою?
    Як це можна довести?

    Учні: (передбачуваний варіант відповіді): Множина символів, які використо-вує комп'ютер, є упорядкованою, тому що кожному символу відповідає пев-ний порядковий номер (код) - від 0 до 255 у таблиці кодів комп'ютера і на-впаки: кожному коду відповідає 1 символ.
    Вчитель: Розглянемо роботу програми, яка підтверджує дане твердження. Програма Tab_sim.exe виводить на екран всю кодову таблицю.


    Зміст програми:



    Program Tab_sim; {Виведення на екран кодової таблиці символів}
    var
    stop, ch: char; {символ}
    cod: integer; {десятковий код символа}
    i,j,n: integer;
    begin
    stop:='y';
    while (stop='y') or (stop='Y') do
    begin
    writeln('Виведення на екран кодової таблиці символів');
    writeln('Для символів основної таблиці (коди 0-127) ввести 0, ');
    writeln('Для додаткових символів (коди 128-255)
    ввести 128, ');
    readln(n);
    cod:=0;
    for i:=0 to 15 do {16 рядків}
    begin
    cod:=i+n; {Для символів з кодами 128-255 dec:=i+128}
    for j:=1 to 8 do {8 колонок}
    begin
    if (cod=14) and (cod<>26)
    then
    write(cod:4,'-',' ',chr(cod):1,chr(179))
    else
    write(cod:4,'- ',chr(179)); cod:=cod+16;
    end;
    writeln; {Перехід до нового ек-ранного рядка}
    end;
    writeln('Для продовження введіть , ');
    writeln ('Для виходу з програми двічі натисніть ');
    readln(stop); writeln(' ');
    end;
    end.




    Вчитель: Розглянемо кілька програм із застосуванням літерних величин.
    ПРАКТИЧНЕ ЗАВДАННЯ 1. Скласти алгоритм і програму, яка виводить на ек-ран всі малі літери латинського алфавіту, використовуючи факт упорядкованості символів у кодовій таблиці комп'ютера.


    алг алфавіт
    арг. буква (літ)
    рез. буква (літ)
    поч
    від буква="a" до "z" виконати
    п.ц.
    виведення букви
    к.ц.
    кін.



    Вчитель: Реалізуємо цей алгоритм на мові програмування TurboPascal (самостійно). Перейдіть у систему TURBOPASCAL



    Program Alphabet; {Послідовне виведення букв латинського алфавіту}
    var c:char;
    begin
    writeln ('Виведення на екран алфавіту');
    for c:='a' to 'z' do
    begin
    write(c)
    end;
    readln
    end.


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

    Учні:
    o Формування масиву;
    o пошук заданого елемента масиву;
    o підрахунок кількості елементів у масиві, рівних заданому;
    o сортування елементів масиву у зростаючому або спадному поряд-ку;
    o виконання різних операцій і функцій з елементами масивів.

    Вчитель: Подібні алгоритми можна використовувати і з символьними масива-ми. Розглянемо використання кількох з них у такому прикладі:

    ПРАКТИЧНЕ ЗАВДАННЯ 2
    Скласти програму, яка введене з клавіатури слово виводить на екран у зво-ротньому порядку.



    Program Ob_Slovo; {Програма обернення слова}
    const n=15;
    var a,b:array[1..n] of char;{Два масиви – прямого і оберненого слова}
    i:integer;
    begin
    writeln('Введіть слово або фразу з ',n,' літер');
    writeln('Незаповнені місця заповнити пробілами');
    for i:=1 to n do {Заповнення масиву a в циклі}
    begin
    read(a);
    b[n-i+1]:=a; {"Обернення" індексів масиву b}
    end;
    writeln;
    for i:=1 to n do
    write(b);
    end.

    Вчитель: символьні величини описують одиночні символи, але якщо комп'ютеру дати змогу використати стандартну функцію EOLN,яка приймає значення TRUE (істина) лише при досягненні кінця рядка, то можна в циклі дати команду читати символи до тих пір, поки не буде досягнутий кінець рядка і виконувати з прочитаними символами відповідні дії. Ось зарактерний приклад.

    ПРАКТИЧНЕ ЗАВДАННЯ 3. Скласти програму, яка б у введеному з клавіатури тексті "відмовлялася" б виводити на екран великі латинські літери.
    Роз'язання
    1. Складемо алгоритм методом покрокової деталізації.
    Доцільно вести опрацювання тексту по рядках у порядку зростання їх номерів, при досягненні кінця рядка збільшувати його номер на 1, аж поки не буде опрацьовано останній рядок.

    Загальна схема фрагменту алгоритму:


    А
    для і від 1 до N
    п.ц.
    опрацювати і-ий рядок
    к.ц.


    Уточнюємо, що означає опрацювати і-ий рядок деталізацією команд: поки не досягнутий кінець рядка


    Б
    п.ц.
    читати символ
    якщо символ не є великою літерою лат. алфавіту
    то вивести літеру на екран
    все
    к.ц.
    перейти до нового рядка


    Перекладаємо алгоритм на мову Pascal.


    В
    Program No_Caps;{Програма пропускає друкування усіх великих ла-тинських букв}
    var lit:char;
    begin
    writeln ('Введіть текст і переконайтесь,',
    ' що великі латинські літери відсутні');
    begin
    while not EOLN do
    begin
    read(lit);
    if not ((lit>='A') and (lit<='Z'))
    then
    write(lit);
    end;
    writeln;
    readln;
    end;
    end.

    Підсумки уроку:
    Учні: називають вивчені на уроці поняття, посилаючись при потребі опорний конспект.
    Учитель: Зауважує, що це лиш найважливіші поняття, що стосуються літерних величин.
    Домашнє завдання:
    Опрацювати п.2.13 ("Інформатика". Верлань А.Ф.) cт.175-178. Завдання 1-3 (cт. 185)
    1) (Обов’язкове) Скласти програму, яка б виводила на екран кириличний алфавіт у зворотньому порядку.
    2) (Додаткове – на вибір):
    а) Виведення букв латинського алфавіту з затримкою 0.2 секунди.
    б) Виведення букв кирилиці у зворотньому порядку в 1 рядок.
    в) Фокус із буквами. Відгадування задуманих комп'ютером букв за кількість спроб, які вибирає гравець.
    3) До заліка з теми виконайте такі завдання:
    (кожен вибирає з наведеного переліку обов'язкові завдання, бажаючі - додатково завдання 3-го рівня)


    ЗАВДАННЯ ДО ЗАЛІКУ (І розділ - СHAR)
    (1-9 - обов'язкові. Вибрати довільні два. 10-18 - додатково)

    Скласти програми, які виконували б такі завдання:
    1) Визначає пору року за назвою місяця, введеного з клавіатури.
    2) Виведення букв латинського алфавіту з затримкою 0.2 секунди.
    3) Виведення букв кирилиці у зворотньому порядку в 1 рядок.
    4) Визначає, мала чи велика латинська літера введена з клавіатури.
    5) Організовує простий діалог з користувачем: вітається, знайо-миться, запитує, відповідає.
    6) Читання N рядків тексту і друкування лише великих латинських букв.
    7) Підраховує кількість літер 'a', які передують крапці '.' в рядку символів.
    8) Підраховує кількість вибраних користувачем знаків, які переду-ють знаку / в рядку символів.
    9) Замінює одні символи на інші у рядку, введеному з клавіатури.
    10) Дано послідовність символів s1,s2,..,s30; потрібно визначити,чи співпадає перша половина s1,s2,..,s15 з другою половиною s16,s17,..,s30.
    11) Дано послідовність символів a1,a2,..,aN,; потрібно вивести кож-ний символ 1 раз і вказати, скільки разів він зустрічається у масиві.
    12) Фокус із буквами. Відгадування задуманих комп'ютером букв за кількість спроб, які вибирає гравець.
    13) Визначає частоту входження символів у заданий текст (у про-центах).
    14) Програма пропускає всі цифри у введеному тексті.
    15) Шифрування тексту. Змінює всі слов’янські літери у введеному тексті на нові з кодами, на 1 більшими.
    16) Пошук у масиві методом перебору його елементів. Програма по-винна видавати на екран найменший індекс елемента масиву, який вперше співпадає із заданим.
    17) Підрахунок кількості елементів масиву, які співпадають з даним символом (методом послідовного перебору його елементів).
    18) Підрахунок кількості елементів масиву, які співпадають з даним символом методом послідовного перебору його елементів. Про-грама повинна також указувати індекси тих елементів масиву, які співпали з заданим для пошуку.



    УРОК 2.
    ТЕМА УРОКУ: Вказівки і функції опрацювання рядкових величин та їх опис мовою програмування Pascal.
    МЕТА УРОКУ: Розглянути особливості рядкового типу даних, відповідні вказівки та функції на мові програмування Pascal.
    ТИП УРОКУ: Урок вивчення нового матеріалу.
    ТЕХНОЛОГІЯ: Метод еврістичних досліджень і поетапне формування понять.
    ЗАБЕЗПЕЧЕННЯ УРОКУ: Заздалегідь підготовлена на робочому столі папка UROK9-48 з текстовим файлом string.doc, у якому в стислій формі описаний тео-ретичний матеріал уроку і сформульовано завдання для самостійних досліджень та шістьма ІКС-ФАЙЛАМИ Flengtht.exe; Fpos.exe; Fconcat.exe; Fcopy.exe; Pdelete.exe; Pinsert.exe. Навчальні х-файли демонструють роботу функцій та про-цедур з рядковими величинами.
    Вчитель: Чи доцільно було б у комп'ютерній обробці текстової інформації об-межитись символьними величинами? Давайте проаналізуємо дане питання.
    Учні: Повна інформація міститься не в окремих літерах, а в тексті, який у свою чергу складається із речень, речення - із слів. Слова і навіть речення можуть у тексті повторюватись, тому доцільно було б використовувати окрім літерних величин більш укрупнені одиниці, які відповідали б за цілі слова і словосполучення, - тобто, певну послідовність символів.
    Вчитель: В інформатиці такі величини, які відповідають послідовності будь-яких символів, називають рядковими величинами або просто рядком.
    Продовжимо наші дослідження ІКС-ФАЙЛІВ у папці UROK9-48. Потрібну по-чаткову інформацію можна одержати у текстовому файлі string.doc. Уважно знайомтесь із його змістом і потім продовжимо роботу.

    Зміст файлу string.doc:
    Рядковий тип величин (STRING).

    1) Рядок - це послідовність символів кодової таблиці.
    2) Кожен рядок складається з певної кількості символів. Кількість символів - це і є довжина рядка (Length).
    Рядкові константи: 'Урок', 'урок', '?#?', '123', '2abc', 'computer', 'IBM',''
    Найдовший рядок має 255 символів,
    найкоротший - 0 (нульовий або пустий рядок) - ''.
    3) Рядки можуть бути оголошені двома способами:
    a) Ім'я: string; {Оголошено рядок довжиною 255 символів}
    б) Ім'я: string[ДовжинаРядка]; {Рядок має вказану довжину}
    4) Одержати доступ до якогось певного символа рядка можна, вка¬завши його номер у квадратних дужках після імені змінної (рядка). Наприклад, R='Місяць травень'. Тут R[1]='М'; R[3]='ц'; 5) Функції та процедури для роботи з рядковими величинами: Функції: Lengtht; Pos; Сoncat; Copy;
    Процедури: Delete; Insert.
    Для з'ясування дії цих функцій і процедур використаємо ІКС-ФАЙЛИ з відповідними іменами: Flengtht.exe; Fpos.exe; Fconcat.exe; Fcopy.exe; Pdelete.exe; Pinsert.exe. Як видно, імена файлів, які де-монструють дію функцій, починаються з літери F, а файлів, які де-монструють дію процедур - з літери P.

    Запускайте файли у вказаному порядку. Дослідіть призначення цих функцій для роботи з рядковими величинами за такою схемою:
    а) призначення (дія) функції або процедури;
    б) який синтаксис запису функції або процедури;
    в) яка величина є аргументом даної функції;
    г) які параметри використовують поряд з аргументом;
    д) що є результатом дії функції, до якого типу величин належить Зробіть висновки. Успіхів у "розшифруванні" Х-ФАЙЛІВ!

    Зміст ІКС-ФАЙЛІВ:
    (Після кожного лістингу наведено висновки, які потрібно зробити з їх дослідження)


    Program Flenght; {Дія функції Length (довжина рядка)}
    var R: string[80];
    n: integer;
    begin
    writeln('Введіть довільний рядок R');
    readln(R);
    n:=Length(R);
    writeln('Рядок складається з N=',n,' символів');
    readln;
    end.

    Висновок: Функція Length(R) - визначає довжину рядка, який міститься у змінній R (кількість символів, включаючи проміжки)

    Program Fpos; {Дія функції Pos - номер позиції
    першого входження слова в рядку}
    var R,word:string;
    p: integer;
    begin
    writeln('Введіть довільний рядок R');
    readln(R);
    writeln('Введіть довільний підрядок WORD даного рядка');
    readln(word);
    p:=pos(word,R);
    writeln('В рядку R підрядок WORD починається ',
    'з позиції Р =',p);
    readln;
    end.
    Висновок: Функція Pos(word,R) визначає номер позиції першого входження заданого підрядка WORD у рядку R.

    Program Fconcat; {Демонструє конкатенацію (склеювання) рядків}
    var R: string[35];
    R1: string[35];
    R2: string[35];
    R3: string[35];
    begin
    writeln('Введіть рядок R1 з пробілом в кінці , ');
    readln(R1);
    writeln('Введіть рядок R2 з пробілом в кінці , ');
    readln(R2);
    writeln('Введіть рядок R3 , ');
    readln(R3);
    R:=concat(R1,R2,R3);
    writeln(('R=R1+R2+R3 = ',R);
    end.

    Висновок: Функція Сoncat(R1,R2,…,Rn) виконує об’єднання (конкатенацію або склеювання) рядків.
    Учитель: Розгляньте ще один приклад за наведеним лістингом і зробіть ви-сновок. Перевірте роботу програми, запустивши файл Fcon м cat1.ехе, про-аналізуйте результати її виконання та зробіть висновки.


    Program Fconcat1; {Конкатенація (склеювання) рядків,
    які задані як рядкові константи}
    Const R1=' Мова ';
    R2='програмування ';
    R3='Turbo Pascal.';
    var R: string[35];
    begin
    R:=R1+R2+R3;
    writeln(R);
    end.



    ЗАВДАННЯ 1. Що буде результатом виконання програми?
    ЗАВДАННЯ 2. Порівняйте спосіб "склеювання" рядків у двох попередніх про-граммах і сформулюйте висновки.


    Висновки:
    Замість функції concat, яка виконує конкатенацію (склеювання) рядків,можна в програмах на Paskal записувати суму рядків, вико-ристовуючи знак „+”, тобто, є два способи опису об’єднання дядків:
    Синтаксис 1: concat(A,B,C,...,D)
    Синтаксис 2: A+B+C+...+D

    ЗАВДАННЯ 3. Дано два рядки: А='абра', D='кадабра'. Який буде результат дії функції concat(D,A)?


    Program FCopy; {Дія функції Copy - копіювання фрагменту рядка}
    var R, word: string[80];
    poz,n: integer;
    begin
    writeln('Введіть довільний рядок R');
    readln(R);
    writeln('Введіть номер символа POS, ',
    'з якого починати копіювати'); readln(poz);
    writeln('Скільки символів N, треба копіювати');
    readln(n);
    word:=copy(R,poz,n);
    writeln(word);
    readln;
    end.


    Висновок: функція copy(R,Poz,N) копіює (вирізає) частину (фрагмент) рядка R з позиції Poz N символів.
    ЗАВДАННЯ 4. Нехай рядок R='Севастополь'. Який результат буде після вико-нання функції copy(R,5,4)? copy(R,1,4)? copy(R,6,6)? copy(R,5,3)?

    Program Pdelete; {Процедура Delete - вилучає слово
    довжиною N у рядку R з позиції Poz} var R: string[80]; Poz,N: integer; begin writeln('Введіть довільний рядок R'); readln(R); writeln('Введіть позицію Pos, з якої хочете ', ' вилучити якийсь підрядок слово)'); readln(poz); writeln('Введіть довжину слова N для вилучення з рядка'); readln(n); delete(R,Poz,n); writeln(R); readln; end. Висновок: Процедура Delete - вилучає слово довжиною N у рядку R з позиції Poz. ЗАВДАННЯ 5. Нехай рядок R='Календарний'. Який результат буде після вико-нання функції delete(R,3,5)? delete(R,1,5)? delete(R,3,10)?  Program Pinsert; {Процедура Insert - вставляє слово WORD у рядок R, починаючи з позиції POZ} var R,word:string[80]; Poz: integer; begin writeln('Введіть довільний рядок R'); readln(R); writeln('Введіть підрядок (слово) WORD',' для вставки у рядок'); readln(word); writeln('Введіть позицію POZ, куди вставити слово'); readln(poz); insert(word,R,Poz); writeln(R); readln; end. Висновок: Процедура Insert(word,R,Poz) вставляє слово WORD у рядок R з позиції Poz. ЗАВДАННЯ 6. Нехай рядок R='карати, милувати ', рядок word = ' не можна '. Який результат буде після виконання функції: insert(word,R,1); in-sert(word,R,7); insert(word,R,8); insert(word,R,17)? Відповідь: 1) ' не можна карати, милувати'; 2) 'карати не можна, милувати'; 3) 'карати, не можна милувати'. 4) 'карати, милувати не можна'; ОПОРНИЙ КОНСПЕКТ з теми "Опрацювання рядкових величин": Рядковий тип величин (STRING). 1) Рядок - це послідовність символів кодової таблиці. 2) Кожен рядок складається з певної кількості символів. Довжина рядка (Length) - це кількість символів, з яких він складається. Рядкові константи: 'Урок', 'Turbo Pascal', '?#?', '123', '2abc', 'computer', 'IBM','' Найдовший рядок має 255 символів, найкоротший - 0 (нульовий або пус-тий рядок) - '' 3) Рядки можуть бути оголошені двома способами: a) Ім'я: string; {Оголошено рядок довжиною 255 символів} б) Ім'я: string[ДовжинаРядка]; {Рядок має вказану довжину} 4) Одержати доступ до якогось певного символа рядка можна, вка¬завши його номер у квадратних дужках після імені змінної (рядка). Наприклад, R='Місяць травень'. Тут R[1]='М'; R[3]='ц'; 5) Функції та процедури для роботи з рядковими величинами: - Функція Length(R) - визначає довжину рядка, який міститься у змінній R (кількість символів, включаючи проміжки). Формат: Length(R): integer; R: string. - Функція Pos визначає номер позиції першого входження заданого під-рядка WORD у рядку R. Формат: Pos(R,word):byte; рядок R:string; підрядок word: string - Функція Сoncat виконує конкатенацію (склеювання) рядків у тому по-рядку, в якому вони записані. Інакше можна А+І+С+...+Z. Формат: Сoncat(A,B,..,Z): string; A,B,..,Z: string; - Функція Copy копіює (вирізає) частину (фрагмент) рядка R з позиції Poz N символів. Формат: copy(R,Poz,N):string; Poz: integer; N: integer. - Процедура Delete вилучає слово довжиною N у рядку R з позиції Poz. Формат: delete(R,Poz,N): string; Poz: integer; N: integer. - Процедура Insert - вставляє слово word у рядок R, починаючи з позиції Poz. Формат: insert(word,R,Poz): string; word: string; R: string; Poz:integer. ПРАКТИЧНЕ ЗАВДАННЯ 1. Дано рядкову константу R='Turbo Pascal'; Виконати вирізку з рядка R, щоб одержати рядок 'Pascal'. Розв'язання Позначимо фрагмент, який копіюється, іменем word. У даному рядку його позиція Poz=7; і він має довжину N=6. Складаємо програму:  Program PZ_1; Const R='Turbo Pascal'; var word: string[6]; poz,n: integer; begin poz:=7; n:=6; word:=copy(R,poz,n); writeln(word); readln; end. ПРАКТИЧНЕ ЗАВДАННЯ 2. Дано рядок R='Turbo Pascal'; одержати рядок 'Pascal', використовуючи функцію delete. Розв'язання У даному рядку треба вилучити слово Turbo його позиція Poz=1; і він має до-вжину N=6. Дія вилучення матиме вигляд delete(R,Poz,n); Програма:  Program PZ_2; var R: string[15]; Poz,N: integer; begin R:='Pascal'; Poz:=1; N:=6; writeln(R); {Щоб було видно початковий рядок} delete(R,Poz,n); writeln(R); {Кінцевий рядок} readln; end. ПРАКТИЧНЕ ЗАВДАННЯ 3. Дано рядок R='Мова програмування Pascal'; одержати рядок 'Мова програмування Turbo Pascal'; Розв'язання Слово Turbo потрібно вставити з 20-ї позиції. Отже, Poz=20; Програма:  Program PZ_3; var R,word:string[35]; Poz: integer; begin Poz:=20; R:='Мова програмування Pascal'; word:= 'Turbo '; insert(word,R,Poz); writeln(R); readln; end. ПРАКТИЧНЕ ЗАВДАННЯ 4. Дано рядок R='Мова програмування Turbo Pascal'; визначити позицію підрядка 'Pascal' у даному рядку; Розв'язання  Program PZ_4; Const R='Мова програмування Turbo Pascal'; word='Pascal'; var p: integer; begin p:=pos(word,R); writeln('Позиція Р =',p); readln; end. Вчитель: Розглянемо випадок опрацювання рядкових величин із записом у файл та зчитуванням з файлу. Спочатку програму зчитування готових файлів:  Program Fread1;{Зчитування даних з файла} type CHILDERN=string[15]; var class: file of CHILDERN; Surname: CHILDERN; begin assign(class,'school.dat'); reset(class); read(class,surname); write('Прізвище учня: '); writeln(surname); close(class); end. Вчитель: проаналізуємо роботу другої програми, яка крім зчитування готових файлів сама може їх створювати.  Program Fwrite1;{Запис і зчитування даних з файла} type CHILDERN=string[15]; var class: file of CHILDERN; Surname: CHILDERN; begin assign(class,'school.dat'); rewrite(class); write('Введіть прізвище учня: '); readln(surname); write(class,surname); close(class); end. Підбиття підсумків уроку. ДОМАШНЄ ЗАВДАННЯ: Обов’язкове. Опрацювати п.2.13 ("Інформатика". Верлань А.Ф.) cт.180-185, опорний конспект Повторити ст.175-189. Завдання 4-6 (cт. 185) Додатково - завдання 10-18 із переліку завдань до заліку на вибір ЗАВДАННЯ ДО ЗАЛІКУ (ІI частина - STRING) (19-23 - обов'язкові. Вибрати довільне одне. Решта - додатково) Скласти програми, які виконували б такі завдання: 19) Перетворення символів рядка до верхнього регістру.20) Вилучення початкових пробілів рядка.21) Обчислює алгебраїчну суму одноцифрових чисел, введених з клавіатури у вигляді виразу.22) Почергове вилучення з рядка літер справа наліво до утво-рення пустого рядка.23) Почергове вилучення з рядка літер по одній справа і зліва до утворення пустого рядка.24) Чи є введений з клавіатури рядок цілим числом.25) Чи є введений з клавіатури рядок шістнадцятковим числом.26) Чи є введений з клавіатури рядок шістнадцятковим числом. 27) Чи є введений рядок дробовим числом без знака.27) Перетворює введене двійкове число в десяткове.28) Перетворює введене дворозрядне шістнадцяткове число в десяткове.29) Перетворює введене десяткове число у вказану кристувачем систему числення.30) Почергове вилучення з рядка літер, які стрічаються найчастіше, до утворення пустого рядка.31) Упорядкування списку за алфавітом. УРОК 3.ТЕМА УРОКУ: Практична робота N 31 "Складання та реалізація програм опрацю-вання рядкових величин". МЕТА УРОКУ: Формувати практичні уміння та навички учнів з теми "Опрацю-вання рядкових величин". Виховувати самостійність мислення, наполегливість і цілеспрямованість у навчальній діяльності.ТИП УРОКУ: Урок застосування знань.ЗАБЕЗПЕЧЕННЯ УРОКУ: Заздалегідь підготовлена на робочому столі папка UROK9-49 з текстовим файлом PR_31.TXT де описано задання до практичної роботи; мережева контролююча програма з тестами выдповыдного змысту.Учитель: ЗАВДАННЯ ДЛЯ ПРАКТИЧНОЇ РОБОТИ знайти у текстовому файлі PR_31.doc (PR_31.txt), який міститься у папці UROK9-49.Зміст файлу:ПРАКТИЧНА РОБОТА N 31.ТЕМА: "Складання та реалізація програм опрацювання рядкових вели-чин".МЕТА: Навчитись складати та реалізовувати програми з використанням функцій і процедур опрацювання рядкових величин. ВИКОНАЙТЕ ТАКІ ЗАВДАННЯ:1. Вивчіть можливості мови програмування Паскаль для використання функцій та процедур опрацювання рядкових величин:а) визначення довжини рядка;б) визначення позиції слова (підрядка) у рядку;в) копіювання (вирізка) фрагменту рядка;г) вставка фрагмент у в рядок;д) знищення фрагменту.2. Скласти програму розв'язання вказаної задачі опрацювання рядкових величин.ЗАДАЧА. Скласти програму, яка у введеному тексті (рядку) замінює одну фразу (фрагмент) на іншу.3. Виконати створену програму.4. Перевірити виконання програми для таких даних:а) введений початковий рядок "мова програмування Turbo Pascal" б) перша фраза "мова програмування"в) друга фраза "програмування мовою"5. Описати результати виконання роботи (що бачили на екрані). 6. Відповісти на контрольні питання:1) Як описуються літерні величини?2) Як описуються рядкові величини?3) Яка функція визначає довжину рядка?4) Яка функція визначає довжину рядка?5) Яка функція визначає позицію фрагмента у рядку?6) Яка функція визначає позицію фрагмента у рядку?7) Яка процедура вставляє фрагмент у рядок? )8) Яка процедура вилучає фрагмент з рядка?7. Виконайте вправу: Дано: Сonst WORD = 'форма'; Var R,R1: string;вкажіть, яку значення прийме змінна R (правий стовпчик) після виконання вказівок з лівого: A) R:='інтика'; а) 'інтиформака'; R1:=insert(WORD,R,3); а) 'інформатика'; а) 'інтформаика';B) R:='перетування'; а) 'переформатування'; R1:=insert(WORD,R,4); а) 'перформаетування'; а) 'перутуформавання';8. Додаткове завдання: виправити помилки у програмі:program Simvol_Zatrymka; {Посимвольне виведення повідомлення,введеного з клавіатури з за-тримкою 0,3 сек.}Uses Crt; {Для доступу до процедури Delay}var msg: string[800]; n: char;beginwriteln('Введіть яку-небудь фразу - не більше 80 символів');writeln('і натистіть ENTER');read(msg);for n=1 to Length(string) do begin write(msg[n]); Delay(0.3); end; readln;end.Підбиття підсумків уроку:ДОМАШНЄ ЗАВДАННЯ: повторити п.2.13 ("Інформатика".Верлань А.Ф.)1) Опрацювати опорні конспекти. 2) Завдання 1-23 (із переліку завдань до заліку) УРОК 4ТЕМА УРОКУ: Тематична атестація з теми "Рядкові величини".МЕТА УРОКУ: Перевірити зання учнів з теми "Рядкові величини" Сприяти роз-витку якостей самоаналізу і самооцінки.ТИП УРОКУ: Урок контролю знань.ЗАБЕЗПЕЧЕННЯ УРОКУ: Заздалегідь підготовлена на робочому столі папка TEMAT_9 з текстовим файлом temat_9.doc (temat_9.txt)де описані задання до тематичної атестації, а також контролююча програма temat_9.exe для рей-тингово-моніторингового тестування.Зміст текстового файлу:ПИТАННЯ І ЗАВДАННЯ ДО ЗАЛІКУ1) Які величини опрацьовує комп'ютер?2) Що таке літерна константа?3) Як позначають символьні (літерні) величини у Pascal-і?4) Скмльки байтів займає в пам'яті комп'ютера 1 символ?5) Що таке код символа?6) Які функції для опрацювання символьних величин є в TURBOPASCAL: 7) Що означає запис ORD(SIM)?8) Що означає запис CHR(COD)?9) Що означає запис SUCC(SIM)? 10) Що означає запис PRED(SIM)? 10) Що означає запис UPCASE(SIM)? 11) Яка функція визначає код (порядковий номер) символу із даної кодової таблиці?12) До якого типу величин належить результат функції ORD?13) Яка функція визначає символ за його кодом COD?14) До якого типу величин належить результат функції CHR?15) Яка функція визначає визначає символ, який знаходиться після даного символу?16) До якого типу величин належить результат функції SUCC?17) Яка функція визначає символ, який знаходиться перед символом SIM у кодовій таблиці?18) До якого типу величин належить результат функції PRED?19) Яка функція визначає символ, який знаходиться перед символом SIM у кодовій таблиці?20) Яка функція перетворює малі літери англійського алфавіту у великі?21) До якого типу величин належить результат функції UPCASE?22) Чи є множина символів, яку використовує комп'ютер, упорядкованою? Як це можна довести?23) Що таке рядок?24) Що таке довжина рядка?25) Що таке рядкова константа?26) Яку довжину може мати рядок? 27) Що таке пустий рядок?28) Як оголошують рядки?29) Що щзначає запис: St:string; 30) Що щзначає запис: R:string[35]; 31) Як можна одержати доступ до 29, n-го символа рядка? 32) Чому дорівнює R[5], R[7], якщо R='Магеллан'?34) Яка дія функції Length(R)? Який її формат? 35) Яка дія функції Pos? Який її формат?36) Яка дія функції Сoncat? Який її формат? 37) Яка дія функції Copy? Який її формат?38) Яка дія процедур Delete? Який її формат? 39) Яка дія процедури Insert? Який її формат? 40) Нехай рядок R='Семен Васильвич'. Який результат буде після виконання функції copy(R,7,9)? copy(R,3,3)? copy(R,9,3)? copy(R,6,1)?41) Визначити результат виконання вказівки Length(R).42) Визначити позицію підрядка 'ас' у даному рядку; 43) Дано рядок R='Динамо Київ '; W='чемпіон'; одержати рядок 'Динамо Київ чемпіон';44) Дано рядок R='Динамо Київ '; W='чемпіон'; одержати рядок 'Київ', вико-ристовуючи функцію delete.45) Що виконує дана програма:Рrogram E35a;var x,i: string[10]; n: integer;begin writeln('Введіть слово'); readln(x);writeln('Введіть нову літеру та її порядок у слові, '); readln(i,n); insert(i,x,n); delete(x,n+1,1); writeln(x); readlnend.46) Знайдіть 2 помилки в програмі:Program A42b;{Вилучає символи, взяті у дужки} var slowo,stop: char; i: integer;beginwriteln ('Введіть довільний рядок'); writeln ('введення закінчте знаком /'); read(slowo); while slowo='/' do begin if slowo='(' then i:=1 else if slowo=')' then i:=0 else if i:=0then write(slowo); read(slowo) end; writeln;writeln('Для виходу натисніть '); readln (stop); writeln(' ');end.АНАЛІЗ ПРОТОКОЛІВ РЕЙТИНГОВОГО КОНТРОЛЮ (самостійно, у групах)ЗДАЧА ТЕКСТІВ ПРОГРАМ, СКЛАДЕНИХ ПРИ ПІДГОТОВЦІ ДО ЗАЛІКА ПІДВЕДЕННЯ ПОПЕРЕДНІХ ПІДСУМКІВ ТЕМАТИЧНОЇ АТЕСТАЦІЇДОМАШНЄ ЗАВДАННЯ: повторити п.2.13 ("Інформатика". Верлань А.Ф.) Опорний конспект. Виконати аналіз помилок, допущених під час тематичної атестації і виправити їх.


     
    Шановний відвідувач, Ви зайшли на сайт як незареєстрований користувач. Ми рекомендуємо Вам реєструватися або увійти на сайт під своїм ім'ям.

    Інші новини по темі:
     
  • ”Школа програмування та математики”
  • Завдання на Інтернет олімпіаду
  • Міжнародний конкурс "EUROPA SECURA"
  • Інформатика. Готуємося до нового навчального року.
  • Новий журнал з інформатики

  •  
     

    Додавання коментаря
     
     
     
    Ваше Ім'я:
    Ваш E-Mail:
    Код:
    Введіть код:

     
     

     
     
     
    Головна | Реєстрація | Додати новину
    Copyright © 2008-2011 hoippo.km.ua. Всі права захищені Design by © 2007-2010. Powered by DLE.