14133

Вказівка надання значення. Вказівки введення та виведення. Структура програми на мові програмування Паскаль

Конспект урока

Информатика, кибернетика и программирование

Тема уроку: Вказівка надання значення. Вказівки введення та виведення. Структура програми на мові програмування Паскаль. Мета уроку: дати поняття вказівки присвоювання познайомитись з вказівками введення та виведення зі структурою програми на мові Паскаль.Тип уроку:...

Украинкский

2013-05-21

60 KB

5 чел.

Тема уроку: "Вказівка надання значення. Вказівки введення та виведення. Структура програми на мові програмування Паскаль."

Мета уроку: дати поняття вказівки присвоювання, познайомитись з вказівками введення та виведення, зі структурою програми на мові Паскаль.
Тип уроку: Лекційний.

Теоретичний матеріал:
Вочевидь, що майже в будь-якій програмі будуть присутні обчислення, адже комп'ютер - це перш за все обчислювальна машина. Причому результати обчислень необхідно буде запам'ятати для подальшого використання. Для цього існує команда присвоєння. Формат цього оператора наступний:
<ім'я змінної> := <вираз>;
Виконується ця операція так: обчислюється вираз, що знаходиться праворуч від знака присвоєння, і отримане значення замінює поточне значення змінної, ім'я якої стоїть ліворуч від знака присвоєння.
Зверніть увагу на те, що яким би складним не був вираз, він повинен бути записаний у рядок. Звичайні дроби, багатоповерхові дроби, складні функціональні залежності тощо у мові програмування записуються в один рядок, причому порядок виконання дій контролюється за допомогою круглих дужок. Наприклад, такий математичний вираз:

на мові Паскаль буде мати наступний вигляд:

(a-b)/(2*c+(a/(c+(b-5)/(c-b))))

А такий:

на мові Паскаль:

1E04*a-34.2*cos(beta). 

Зверніть також увагу на те, що у всіх виразах обов'язково ставити знаки множення, а імена змінних - це ідентифікатори і тому вони повинні відповідати раніше зазначеним правилам (так грецька буква b, що використовується в математиці, замінюється у вище наведеному прикладі ідентифікатором beta).

Дуже важливо при створенні виразів стежити за типами операндів. Як було зазначено вище, тип даних дозволяє встановлювати внутрішній формат збереження даних та контролювати дії, що виконуються над ними. Контроль за використанням змінних на етапі компіляції програми виконується в мові Паскаль автоматично. З одного боку - це її важлива перевага над іншими мовами програмування. Але з іншого - іноді не зручно те, що Паскаль майже не дозволяє автоматичне перетворення типів. Виключення зроблено тільки у відношенні до констант та змінних цілих типів, що дозволяється використовувати у виразах дійсного типу. Наприклад, якщо змінні X та Y описані наступним чином:

Var
X: integer;
Y: real;
то оператор
Y := X+2;
синтаксично не має помилок, хоча типи змінних і не співпадають. Перетворення типів (з цілого у дійсний) в цьому випадку виконується автоматично. В той же час оператор:
X := 2.78; буде помилковим, тому що автоматичне перетворення дійсних типів у цілі не виконується. Зверніть увагу, що константа 12.0 з точки зору компілятора буде також дійсною, хоча дробова частина і дорівнює нулю, тому що константа містить десяткову точку.
Аналогічно не можна змішувати літерні та числові типи даних, тобто вираз типу: 5 + 'F' являється помилковим.
Однак відсутність автоматичного перетворення типів у Паскалі не означає, що він зовсім не має засобів перетворення даних: просто їх необхідно використовувати явно. Так, для перетворення значень одного скалярного типу в інший можна використовувати наступні функції перетворення типів:
Chr(I) - перетворює цілий тип у літерний, тобто повертає символ стандартного коду таблиці ASCII з номером, що дорівнює значенню I. Якщо значення більше 255, виникає програмне переривання.
Наприклад:
Chr(105); результат='i'.
Ord(S) - для значень літерного типу S, функція Ord повертає їх номер у відповідності з таблицею ASCII. Таким чином, літерний тип перетворюється у цілий.
Наприклад:
Ord('A'); результат = 65.
Trunc(X) - повертає найближче ціле число, яке менше або дорівнює Х, якщо Х>=0, і більше або рівне Х, якщо Х<0. Результат відноситься до цілого типу. Виходячи з цього наступний оператор: X := Y/X;
буде помилковим (X, як описано вище, має цілий, а Y - дійсний тип), а оператор
X := round(Y/X);
помилок не має. Зверніть ще увагу на те, що операції DIV та MOD виконуються тільки з цілими типами даних і спроба використати у якості операторів для них дійсні дані призводить до помилки.
Наприклад, помилковими будуть вирази
1.5 div 3 (один з операндів - дійсне число)
5 mod Y (змінна Y має дійсний тип)
4 / 1 div 2 (результатом операції ділення 4/1 буде дійсне число 4.0)
Введення даних - це передача інформації від зовнішнього носія в оперативну пам'ять для обробки.
Виведення - це зворотній процес, коли дані передаються після обробки з оперативної пам'яті на зовнішній носій. У мові Паскаль стандартним засобом спілкування людини з ЕОМ є консоль, що складається з таких пристроїв, як клавіатура та екран монітора.
Процедура читання Read забезпечує введення числових даних, символів, рядків і т.д. для наступної їхньої обробки.
Формат введення:
Read (x1,x2,...xn);
де
x1, x2,... xn - змінні допустимих типів даних,
Значення
x1, x2,...xn набираються мінімум через один проміжок на клавіатурі, при цьому вони відображаються на екрані для контролю правильності введення. Після набору даних однієї процедури Read натискається клавіша . Значення введених даних повинні строго відповідати типам цих даних, інакше компілятор виводить на екран повідомлення про помилку.
Якщо в програмі є декілька процедур
Read, дані для них вводяться потоком, тобто після зчитування даних для однієї процедури Read дані для наступної процедури Read набираються в тому ж рядку до закінчення рядка.
Процедура читання Readln аналогічна процедурі Read, єдина відзнака полягає в тому, що після зчитування останнього в списку значення для однієї процедури Readln дані для наступної процедури Readln будуть зчитуватися з початку нового рядка.
Процедура запису Write робить виведення числових даних, символів, рядків і булівських значень на екран монітору.
Формат виведення:
write (Y1, Y2,... Yn) - виведення на монітор;
де
Y1, Y2,... Yn - дані, що виводяться,
Процедура запису Writeln аналогічна процедурі Write, але після виведення останнього в списку значення для поточної процедури Writeln відбувається переміщення курсору до початку наступного рядка.
Процедура
Writeln, записана без параметрів, виконує тільки переміщення курсору на початок наступного рядка.
Приклад:
Writeln('Y1=',Y1)

У процедурах виведення Write і Writeln є можливість запису виразу, що визначає ширину поля для виведення. У прикладах, що подаються далі, використовуються наступні умовні позначення:
    
І - ідентифікатор, що визначає ціле число,
   
R - ідентифікатор, що визначає дійсне число,
   
р,q - цілі константи, що визначають довжину поля виведення та кількість цифр після десяткової крапки.

1. Виведення десяткового значення цілої величини I у крайні праворуч позиції поля шириною р (проміжки перед числом вказані знаком "_").

Значення I

Вираз

Результат

134

write(I:6);

___134

1

1 write(I:10); _________1

_________1

312

write(I+I:7);

____624

2. Виведення у крайні праворуч позиції поля шириною р значення дійсної величини R у форматі з фіксованою крапкою, причому після десяткової крапки виводиться q цифр (0<=q<=24), що представляють дробову частину числа. Якщо q=0, ні дробова частина, ні десяткова крапка не виводяться. Якщо q>24, то при виведенні використовується формат із плаваючою крапкою. Без використання форматування число також виводиться у форматі з плаваючою крапкою

Значення R

Вираз

Результат

511.04

write(R:8:4);

511.0400

-46.78

write(R:7:2);

_-46.78

-46.78

write(R:9:4);

_-46.7800

Програма на мові Паскаль складається з рядків, максимальна довжина яких не повинна перевищувати 127 символів. Програміст, набираючи текст програми, має право розміщувати рядки на екрані довільно. Рядок може починатися з будь-якої колонки. Кількість операторів у ньому довільна, причому відокремлюються вони один від одного крапкою з комою. Однак для яснішого сприйняття програми рекомендується розміщувати кожен оператор на окремому рядку, а складені оператори взагалі виокремлювати, роблячи відступи.
Синтаксично програма складається з необов'язкового
заголовка і програмного блока, який у свою чергу будується з двох частин:

  описової;

  виконавчої.
Блок, що не входить до складу будь-якого іншого блоку, називається
глобальним. Блоки, що знаходяться в глобальному, називаються локальними. Глобальний блок - це основна програма, він присутній обов'язково. Локальні блоки - це процедури і функції (вивчатимуться пізніше), їх наявність не обовя'зкова. Об'єкти програми (змінні, константи і таке інше) відповідно називають глобальними і локальними. Область дії об'єктів - блок, де вони описані, і усі вкладені в нього блоки.
На початку програми знаходиться
заголовок, що складається в загальному випадку з зарезервованого слова Program та імені програми. Заголовок несе чисто змістовне навантаження і може бути відсутнім.
Після заголовка знаходиться
програмний блок, що складається в загальному випадку із п'яти розділів, перші чотири з яких - описова частина, а останній - виконавча. Склад цих блоків наступний:

  •  список імен використовуваних бібліотечних модулів (програм, що написані заздалегідь і можуть бути використані при розв'язуванні даної задачі)),
  •  опис констант,
  •  опис типів користувача;
  •  опис змінних,
  •  опис процедур і функцій користувача,
  •  оператори.

Program <ім'я>;
Uses <ім'я1, ім'я2>; {список використаних бібліотечних модулів}
Const
< ідентифікатор > = < значення >;
Type
< ідентифікатор > = < опис типу >;
Var
< ідентифікатор > : < тип >;
{ розділ опису підпрограм}
Begin
< оператори >;
End.
Будь-який розділ, крім розділу операторів, може бути відсутнім. Розділ uses завжди знаходиться в заголовку програми. Решта розділів можуть зустрічатися в програмі будь-яку кількість разів у довільному порядку. Головне, щоб всі описи об'єктів програми були зроблені до того, як вони будуть використані.
Розділ uses складається з зарезервованого слова Uses і списку імен стандартних бібліотечних модулів та бібліотечних модулів користувача.
Формат опису:
Uses < ім'я 1 >,< ім'я 2 >,...;
Бібліотечні модулі створюється заздалегідь і містять часто використовувані програми. Вони можуть бути створені самим користувачем або кимсь іншим В шкільному курсі ми використовуємо деякі зі стандартних модулів, що створені розробниками мови Паскаль:
Crt і Graph:
Crt - містить засоби керування монітором у текстовому режимі, клавіатурою ПЕОМ, а також звукові ефекти.
Graph - містить пакет графічних засобів, що забезпечують ефективну роботу з екраном монітору у графічному режимі.
Як вже зазначалося, у розділі
опису констант робиться присвоювання постійних значень ідентифікаторам констант. Розділ починається зарезервованим словом Const, за яким записується ряд виразів, що надають ідентифікаторам постійні числові або рядкові значення. Вирази присвоювання відокремлюються один від одного крапкою з комою.
Формат опису:
Const < ідентифікатор> = < значення >;
Приклад: Const A = 10.25; Max = 1000;
V = 'Hello';

Кожна
змінна, що зустрічається в програмі, повинна бути описана. Опис обов'язково передує використанню змінної.
Формат опису:
Var
< ідентифікатор,... > : < тип >;
Приклад:
Var
A,S : real; n : integer;
У розділі опису процедур і функцій розміщуються тіла підпрограм. Підпрограмою називається самостійна програмна одиниця, що має унікальне ім'я, за яким вона може бути викликана з інших частин програми. Більш докладніше робота з підпрограмами буде розглянута пізніше.
У програмі на мові Паскаль
розділ операторів є основним. Він починається зарезервованим словом Begin (початок), далі розміщуються оператори мови, відділені один від одного крапкою з комою. Завершує розділ зарезервоване слово End (кінець) і крапка:
Begin < серія >;
End.

В будь-якому місці програми можуть вживатися коментарі. Це текст, за допомогою якого програміст занотовує деякі пояснення для користувачів програми. Текст коментарю обмежується символами { } або (* *) і може містити комбінації латинських і російських літер, цифр і інших символів. В обмежувачах (* *) проміжки між дужкою і зірочкою заборонені і крім того, у тексті не повинні знаходитися знаки обмежувачів, з яких коментар починається. Обмежень на довжину коментарю немає.

Домашнє завдання:

  •  прочитати сторінки 31 - 32,43 - 47 запропонованого підручника;
  •  вивчити означення, що прочитані на лекції;
  •  з запропонованого підручника можна дати практичні завдання зі стор. 42 - 43.

4


 

А также другие работы, которые могут Вас заинтересовать

42252. КОНТРОЛЬ МАЛОЙ КЛИНОВИДНОСТИ ПЛАСТИН НА ИНТЕРФЕРОМЕТРЕ ЧАПСКОГО 302 KB
  Рассмотрим возникновение полос равного наклона и определим величину разности хода лучей отраженных под некоторым углом от плоскопараллельной пластины рис. Если поверхности пластины образуют между собой малый угол  то изображения источника 1 в фокальной плоскости 6 разойдутся на расстояние l =n где  фокусное расстояние линзы 5. Первый случай соответствует перемещению пластины в сторону увеличения её толщины второй в сторону уменьшения. Появление или исчезновение кольца соответствует изменению толщины пластины на величину .
42253. Выполнение базовых преобразований на плоскости 98.5 KB
  Трансляция точки выполняется путем добавления смещения [m n] к ее координатам [x y], в результате чего получается точка с новыми координатами. Для объекта, описываемого множеством точек, все точки объекта перемещаются на одинаковые расстояния вдоль параллельных прямых. В матричной форме трансляция выполняется путем умножения однородных координат точки на матрицу трансляции
42254. Базовые алгоритмы 2D-геометрии 638.5 KB
  Геометрически каждая точка на плоскости задается значениями координат радиусвектора относительно выбранной системы координат. В этом случае объект поворачивается относительно оси вращения перпендикулярной плоскости xoy. Наиболее распространен сдвиг в направлении оси x и сдвиг в направлении оси y. Сдвиг выполняется путем умножения однородных координат точки на матрицу сдвига: сдвиг в направлении оси y сдвиг в направлении оси x.
42255. МИКРОПРОГРАММИРОВАНИЕ КОМАНД СМ ЭВМ 75 KB
  Знакомство с принципами микропрограммной эмуляции ЭВМ с программным управлением микропрограммирование машинных команд СМ ЭВМ. Вывод: В ходе работы я ознакомился с принципами микропрограммной эмуляции ЭВМ с программным управлением приобрел навыки микропрограммирования машинных команд СМ ЭВМ.
42256. EMBED PBrush 1007.5 KB
  rry1 db 123423 rry2 db 1500 dup rry3 db 2000 dup 56h В першому випадку кожний елемент масиву ініціалізується незалежно. Багатовимірний масив задається шляхом використання вкладених повторень dup наприклад r1 db 4 dup 3 dup 2 dup В мові Паскаль це еквівалентно наступному оператору r1:rry[0. Наприклад Instr32 struc Opcode dw Modrm db Sib db Disp dd Instr32 ends Сама структура задається в форматі директив визначення даних де в полі мнемокода задається ім'я структури наприклад In1 instr32 Або Min1 instr32 5...
42257. Микропрограммирование кмашинных манд СМ ЭВМ 72 KB
  Знакомство с принципами микропрограммной эмуляции ЭВМ с программным управлением, микропрограммирование машинных команд СМ ЭВМ.
42258. Создание экспертной системы с помощью программы VP-EXPERT 97 KB
  VP-EXPERT – интеллектуальная программа, способная делать логические выводы на основании знаний в конкретной предметной области и обеспечивающая решение специфических задач. VP-EXPERT и другие экспертные системы призваны заменить специалиста в конкретной предметной области, то есть решать задачи в отсутствии эксперта
42259. ИССЛЕДОВАНИЕ КОНТАКТОРОВ ПОСТОЯННОГО И ПЕРЕМЕННОГО ТОКА 79 KB
  В работе исследуются коммутационные процессы и динамические характеристики по результатам осциллографирования соответствующих процессов на контакторах постоянного МК1 и переменного РПУ1 тока. Исследование нагрузочной характеристики производится на препарированном образце контактора постоянного тока серии МК1. Устройство контакторов Контактор постоянного тока серии МК1 выполнен на номинальный ток 40 А и напряжение 220 В.
42260. ТЕХНОЛОГИЧЕСКИЙ КОНТРОЛЬ ВЗАИМНОГО РАСПОЛОЖЕНИЯ РАБОЧИХ ПОВЕРХНОСТЕЙ ПРИЗМ 344.5 KB
  Определив погрешности для нескольких положений призмы и решив систему уравнений связывающих погрешности с клиновидностью развертки находят абсолютное значение углов и величину пирамидальности призмы. Измерив расстояние между ними по горизонтали Г и вертикали В рассчитывают  45 и пирамидальность  призмы: Рис. Погрешность взаимного расположения поверхностей образующих угол 90 90 контролируют по схеме работы призмы как БР 180 рис. Точку пересечения ребер призмы находят по трем подвижным бликам.