Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

тематика XVII ст Блеза Паскаля була розроблена у 1971 р

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

План-конспект проведення лекційного заняття з дисципліни «Інформатика»

Модуль 4. Програмування лінійних, розгалужених та циклічних обчислювальних процесів

Лекція: 4.1. Основні відомості про мову Turbo Pascal. Лінійні програми.

ВСТУП (5 хв.)

Мова програмування Pascal, що названа на честь відомого математика XVII ст. Блеза Паскаля була розроблена у 1971 р. професором Нікласом Віртом (інститут інформатики Швейцарської вищої політехнічної школи у Цюріху). Мова Pascal була створена на основі мови програмування високого рівня Algol та призначена для навчання програмуванню. Тому в ній дуже чітко дотримується структурна лінія програмування. Дуже швидко виявилася надзвичайна ефективність Pascal для різноманітних додатків. Завдяки своїм перевагам мова Pascal у теперішній час є однією із найбільш розповсюджених у світі мов програмування високого рівня. Також мова Pascal з’явилася основою для створення багатьох інших мов програмування високого рівня, наприклад: Ada, C, Modula-2.

1. Загальна структура лінійної програми (15 хв.)

Як правило, лінійні програми призначені для послідовного оброблення даних за формулами. Розглянемо структуру лінійної програми безпосередньо на прикладі програми pr1, що обчислює суму двох чисел.

program pr1;

var a,b,result: integer;

begin

   a:=2;

   b:=3;

   result:=a+b;

   writeln(result);

end.

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

  •  Заголовок програми program <ім’я програми> (не є обов’язковим);
  •  Описова частина;
  •  Операторна частина.

Слово program є зарезервованим (ключовим), тобто не може використовуватися більш ні для чого.

<ім’я програми> – це правильний ідентифікатор (у прикладі -- pr1). Ідентифікатори використовуються у програмі для позначення констант, змінних, міток, типів, процедур та функцій. Ідентифікатор повинен починатися з літери та може складатися з літер латинського алфавіту, цифр та знаків підкреслювання. Ключові слова не можуть використовуватися як ідентифікатори. Довжина ідентифікатора необмежена, але значущими є тільки перші 63 символи. Бажано використовувати осмислені ідентифікатори – це робить програми більш зрозумілими. Різниця між заголовними та рядковими літерами у мові Pascal ігнорується.

Описова частина програми може складатися з декількох розділів:

  1.  розділ міток,
  2.  розділ констант,
  3.  розділ типів,
  4.  розділ змінних, починається з ключового слова var та вказує імена змінних та їх типи.
  5.  розділ процедур і функцій.

Розділи описової частини можуть записуватися у довільному порядку.

У прикладі описова частина складається тільки із опису змінних a, b, result.

Операторна частина програми обмежується операторними дужками begin (початок блока) end (кінець блока) та містить оператори, що необхідні для виконання послідовності дій для розв’язання визначеного завдання. Роздільником між розділами описової частини є крапка з комою. Наприкінці програми необхідна крапка. Мова Pascal є мовою вільного формату, тобто в рядку може розміщуватися декілька операторів. У прикладі операторна частина програми (тіло програми) складається з операторів присвоювання a:=2; b:=3; result:=a+b; та виклику вбудованої процедури writeln виведення даних. Попередній опис вбудованої процедури непотрібний, вона доступна будь-якій програмі.

Перед описовою частиною може розміщуватися розділ підключення модулів. Він починається із ключового слова uses (використати), за яким слідує список імен модулів (через кому).

  1.  Опис змінних (15 хв.)

В мові Pascal можливе оброблення даних різних типів. Тип об’єкта визначає множину можливих значень та множину можливих операцій над цими значеннями. Можливі типи даних подані рис. 1.

  1.  

Діапазон можливих значень цілих типів залежіть від їх внутрішнього подання, яке може займати один, два або чотири байти. Назви цілих типів, довжина їхнього внутрішнього подання у байтах та діапазон можливих значень поданий таблицею 1.

Таблиця 1

Довжина, байт

Назва типа

Діапазон значень

1

Byte ()

від 0 до 255

1

Char (символ)

1

Shortint (строчка символів)

від -128 до 127

1

Boolean (логічний тип)

два значення: False (неправда) та True (істина)

2

Word (зарезервовані дані)

від 0 до 65535

2

Integer (цілочисельні дані)

від -32768 до 32767

4

longint

від -2147483648 до 2147483647

6

Real (речовинні дані)

від 2.9Е-39 до 1.7+38

Над цілими числами виконуються операції: "+" – додавання; "*" – множення; "/"– ділення; "-" – віднімання; div – цілочисельне ділення; mod – отримання остачі від цілочисельного ділення. Наприклад, 5div2 обчислює результат 2, 6div23, 5mod21, а 6mod3 0.

Основні вбудовані процедури та функції, що можуть бути застосовані до цілих типів, подані табл. 2. У квадратних дужках вказаний необов’язковий параметр.

Таблиця 2

Функція

Реалізована дія

abs(x)

Модуль х

dec(x[,i])

Зменшує значення х на i, при відсутності i на 1

inc(x[,i])

Збільшує значення х на i, при відсутності i на 1

odd(i)

true, якщо i – непарне число, false - парне

random(w)

Псевдовипадкове число, рівномірно розподілене на інтервалі [0,w-1]

sqr(x)

Квадрат аргументу

Під даними дійсного типу розуміють числа, що записані з десятковою крапкою. Значення дійсного числа у ЕОМ має скінченну точність, яка залежіть від внутрішнього формату (подання). Назви дійсних типів, довжина їхнього внутрішнього подання у байтах та діапазон можливих значень поданий таблицею 3.

Таблиця 3

Довжина,

байт

Назва

Діапазон десяткового
порядку

Кількість значущих
цифр

4

single

від -45 до +38

от 7 до 8

6

real

від -39 до +38

от 11 до 12

8

double

від -324 до +308

от 15 до 16

10

extended

від -4951 до +4932

от 19 до 20

8

comp

від  до

от 19 до 20

Існують дві форми подання дійсних чисел: з фіксованою та плаваючою крапкою. Варіанти запису подані: перший стовпчик – з фіксованою крапкою, другий – з плаваючою.

1.36            1.36e0

0.0013       1.3e-3

123.123     1.23123e2

У розділі опису змінних дані дійсного типу можна описати таким чином:

  var a,b: real;

    c,d: single;

    k: double;

    l,m,n: extended;

Вбудовані процедури та функції для оброблення даних дійсного типу подані таблицею 4.

Таблиця 4

Функція

Реалізована дія

abs(x)

Модуль аргументу

arctan(x)

Арктангенс (радіани)

frac(x)

Дробова частина числа

int(x)

Ціла частина числа

ln(x)

Натуральний логарифм

pi

=3.14159...

random

Псевдовипадкове число, що належить інтервалу [0,1]

randomize

Ініціалізація датчика псевдовипадкових чисел

sqrt(x)

Корінь квадратний

sqr(x)

Квадрат аргументу

sin(x)

Синус (радіани)

сos(x)

Косинус (радіани)

exp(x)

Експонента

  1.  Оператор присвоювання (10 хв.)

Оператор присвоювання змінює вміст областей памяті. Він змінює значення змінної у лівої частині оператора значенням виразу, який записаний у правій частині оператора та має наступний синтаксис:

<змінна>:= вираз.

Необхідно враховувати, що змінна та вираз повинні бути одного типу. Наприклад, якщо змінні записані наступним чином:

  var

  x,y : integer;

  a,b : real;

то можна записати оператори присвоювання

 x:=x+5;

 y:=x;

 a:=b;

 b:=5.33*x+y/2;

В мові Pascal майже неможливі автоматичні перетворення типів. Як виняток, константи та змінні типу integer можна використовувати у виразах типу real, тобто для розглянутого прикладу оператор x:=a буде невірним, тому що перетворення дійсного типу у цілий неможливо. У той же час оператор a:=x буде вірним.

Слід пам’ятати, що коли змінної присвоюється нове значення, старе стирається, тобто втрачається. Таким чином, змінна завжди містіть результат останнього оператора присвоювання.

  1.  Процедури введення-виведення (15 хв.)

Введення – виведення пов’язано з інформаційним обміном між ОЗП та зовнішніми пристроями. Стандартним файлом введення є клавіатура, а виведення – екран. Для введення даних з клавіатури використовуються процедури:

  read (<список введення>);

  readln (<список введення>);

Список введення – це послідовність із однієї або декількох змінних типу char (символьний), string (строковий), а також буд-якого цілого або дійсного типу.

Процедура readln ідентична процедурі read за винятком того, що після зчитування останньої змінної, частина рядку, що залишилася, пропускається. Відповідно, наступне звернення до read або readln починається з першого символу нового рядка. Крім того, процедуру readln можна викликати без параметрів, що призведе до пропуску всіх символів поточного рядку.

Розглянемо фрагмент программы:

  var a,b,c,d:real;

 begin ... read(a,b,c,d); ... end.

Нехай необхідно ввести числа 1,3;13,3;76,8;125,0. Інформація Информация набирається у вигляді:

 1.3 13.3 76.8 125.0 у одному або декількох рядках. В результаті виконання процедури read змінна а отримає значення 1.3, b – значення 13.3, с – 76.8, d – 125.0. Якщо введення виконується за допомогою двох процедур:

readln(a,b,c);read(d); числа, що відповідають a,b,c, необхідно набирати у одному рядку, а число, що відповідає d, – у іншому.

Для виведення даних на екран призначені процедури:

writeln (<список введення>);

write (<список введення>);

Список виведення може складатися з одного або декількох виразів типу char, string, boolean (логічний тип), а також будь-якого цілого або дійсного типу. Процедура writeln відрізняється від write тим, що у процедурі write курсор залишається на тому ж рядку екрана (після останнього виведеного символу), а у writeln курсор переходить на початок наступного рядку. Наприклад, якщо змінні a,b,c описані як цілі та мають значення 132, 25, -37 відповідно. Після виконання процедур

   writeln(a,b);write(c);

a и b будуть надруковані у одному рядку, а с  у наступному:

  13225

  -37

В процедурах виведення write і writeln після кожного значення може вказуватися формат виведення – двокрапка, після якої записується ціле число або вираз. Число або вираз визначає ширину поля виведення, тобто кількість позицій, що відведені під значення, що виводиться. Якщо довжина значення менше, ніж ширина поля виведення, то текст, що виводиться, доповнюється зліва пробілами, тобто здійснюється вирівнювання стовпчика значень з правого боку. Наприклад, при виконанні процедури writeln(a:3,b:5,c:4);для друку значення змінної a відводится 3 позициі, b5 позицій, с4 позиції.

Якщо довжина значення, що виводиться, більше ширини поля, формат виведення ігнорується (тобто ширина поля автоматично збільшується до необхідного розміру. Наприклад, при виконанні процедури writeln('a=',a:1,'b=',b:2,'c=',c:3); буде надруковано: a=132b=25c= -37. В цьому прикладі використовується можливість виведення рядків символів.

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

Наприклад, хай змінні d, e, f дійсні, та мають, відповідно, значення: 13,13;123,45;-987,654. Результатом виконання процедури writeln('d=',d:5:2,'e=',e:8:3,'f=',f:8:2); буде рядок

d=13.13e= 123.450f= -987.65

Якщо для чисел з плаваючою крапкою вказується тільки загальна кількість позицій, без визначення кількості позицій після коми, то в цьому випадку числа виводяться у експоненціальній формі та займають вказану кількість позицій. Якщо кількість позицій не вказана взагалі, для кожного числа стандартна ширина поля та числа друкуються у експоненціальній формі. Наприклад:

   writeln('d=',d:10,' e=',e:9,' f=',f);

   d= 1.313E+01 e= 1.23Е+02 f=-9.8765000000E+02

Для процедур write, writeln, read, readln можна вказувати список параметрів довільної довжини.

Для введення-виведення у текстовий файл використовуються ті ж самі процедури, але першим параметром вказується файлова змінна:

writeln(f,'abc',1,True,2.4);

  1.  Приклад лінійної програми (15 хв.)

Розглянемо ще один приклад лінійної програми. Маємо два числа a и b  довжини сторін прямокутника. Знайти площу s та периметр p прямокутника. Необхідно скласти алгоритм та програму розв’язання завдання.

program pr2 ;

var                {відкривається блок перемених}

 a,b,s,p:real; {}

  begin

   writeln(' Введення сторін пpямокутника:');

   read(a,b);

   s:=a*b;

  p:=(a+b)*2;

  writeln('Площадь = ',s:5:3);

  writeln('Пеpиметp = ',p:5:3);

end.

В програмі всі оператори виконуються послідовно. Виконання програми починається з виклику процедури виведення writeln, яка виводить на екран підказку "Введення сторін прямокутника:", що забезпечує зручний інтерфейс користувача. Після введення двох чисел обчислюються площа та периметр прямокутника, результати виводяться на екран.

Література:

  1.  Попов В.Б. Паскаль и Дельфи. Самоучитель – СПб.: Питер, 2004. – 544 с.
  2.  Глушаков С.В., Зорянский В.Н., Хоменко С.Н. Программирование на Turbo Pascal 7.0 (TP 7) – Харьков: Фолио, 2005. – 501 с.



1. Музыка народов мира 06
2. Реферат- Искусство Римской республики
3. Средняя общеобразовательная школа 37 Г
4. использование какоголибо неодушевленного предмета в качестве стимула для сексуального возбуждения и секс
5. Химический состав продовольственных товаров
6. Индивидуально-приспособительная деятельность животных ассоциативное обучение, когнитивные процессы
7. .1 Причины возникновения кризисов и их роль в социальноэкономическом развитии4 1
8. Охрана труда. Мухамбетова Г
9. Тема 9- Планирование и прогнозирование социального развития и уровня жизни народа 9
10. Система денежных переводов Western Union
11. Общий курс физики
12. Методические основы стоимостной оценки рабочих мест в банках
13. Условный экстремум
14. Успешной немного поменялся состав детишек
15. НОРМЫ ТЕХНИКОЭКСПЛУАТАЦИОННЫХ ХАРАКТЕРИСТИК АВТОМАТИЧЕСКИХ СРЕДСТВ РАДИОЛОКАЦИОННОЙ ПРОКЛАДКИ АСРП
16. О документах удостоверяющих государственную регистрацию прав на земельные участки и иное недвижимое имуще
17. 22 января 2014 год УТВЕРЖДАЮ- Председатель Молодёжного парламента при Думе ХантыМанс
18. Тема Государство как субъект права курс 2 Фамилия студента Трегубо.html
19. Источниковедение как наука
20. Прокладка кабелей в производственных помещениях и в кабельных сооружениях