Практическое занятие № 3.

 

ТЕМА: Символьные величины. Операции над символьными величинами. Стандартные процедуры и функции для работы с символьными величинами.

ЦЕЛЬ: Выучить определение символьной величины. Сформировать знания об операциях  над символьными величинами и стандартными процедурами и функциями. Научиться составлять и реализовать алгоритм обработки символьных величин.

1. Последовательность выполнения практического занятия.

1.1. Внеаудиторная подготовка

а. Повторить технику безопасности при работе на ПК.

1.2. Работа на учебном занятии

а. Выполнить практические задания.

б. Убрать рабочее место.

в. Оформить отчёт.

 

2. Методические указания

Повторение: операторы, структура программы.

Система программирования Pascal ABC  ориентирована на школьников и студентов младших курсов.  Это достаточно простая и дружественная среда программирования. Во время работы используются три основных окна: окно редактора кода, окно ввода и окно вывода:

okno.jpg

Большую часть рабочей области, её верхнюю часть  занимает окно редактора кода [1]. В него вводится исходный текст программы.

Под окном редактора расположено окно вывода [2]. Оно предназначено для вывода данных процедурами  Write и Writeln, а также для вывода сообщений об ошибках и предупреждений во время работы программы. Окно вывода обязательно открывается при любом выводе в него.

Для очистки окна вывода следует нажать комбинацию клавиш или кнопку 2.jpg.

 

Окно ввода [3] открывается при выполнении процедур Read и Readln в ходе работы программы:

Ввод данных в в окно ввода сопровождается эхо-выводом в окно вывода (см. рисунок). После нажатия клавиши Enter данные из окна ввода попадают в соответствующие переменные, окно ввода закрывается, и программа продолжает работать дальше.

Для запуска программы в текущем окне редактора следует нажать клавишу F9 или кнопку http://gospodaretsva.com/wp-content/uploads/2011/11/Urok8-4-Pascal-ABC.jpg панели инструментов.

 

I.1. Структура программы

Программа, записанная на языке Pascal может содержать следующие разделы:

1.     Заголовок (Program)

2.     Раздел переменных (Var)

6.     Раздел операторов (Begin...End)

Все программы обязательно имеют раздел заголовка и раздел операторов, остальные составляющие могут отсутствовать. При отсутствии некоторых частей программы общий порядок их следования сохраняется. Разделы между собой разделяются знаком ";"

Программа на языке Pascal может иметь следующий вид:

Program  <имя программы>;

<раздел описаний, в котором описываются переменные, которые будут использоваться в программе>   

Const

Var       

Begin  

< тело программы>;

End.

I.2. Переменные

Переменной называется величина, значение которой меняется в процессе исполнения программы. Имена переменных перечисляются в разделе описания переменных Var через запятую, затем ставится двоеточие и указывается тип данных.

Пример.

Var

       A,К: Real;  B : Integer;  C : Char;

 

В памяти компьютера можно хранить числовые типы, символы, слова, предложения и другие данные. Физически типы данных отличаются друг от друга количеством ячеек памяти (байтов), отводимых для хранения соответствующей переменной.

Различают переменные следующих простых типов: целые (Integer, Byte, ShortInt, Word, LongInt), вещественные (Real, Comp, Double, Single, Extended), логический (Boolean), символьный (Char).

 

I.3. Оператор присваивания.

Оператор присваивания - один из самых простых и наиболее часто используемых операторов в любом языке программирования, в том числе и в Pascal. Он предназначен для вычисления нового значения некоторой переменной, а также для определения значения, возвращаемого функцией. В общем виде оператор присваивания можно записать так:

переменная:= выражение;

Оператор выполняется следующим образом. Вычисляется значение выражения в правой части присваивания. После этого переменная, указанная в левой части, получает вычисленное значение. При этом тип выражения должен быть совместим по присваиванию с типом переменной. Тип выражения определяется типом операндов, входящих в него, и зависит от операций, выполняемых над ними.

 

4. Организация ввода и вывода данных

Обмен информацией с компьютером предполагает использование определенных средств ввода-вывода. Основным средством ввода является клавиатура, вывода - дисплея. Процедура, которая в режиме диалога с клавиатуры присваивает значение для переменной величины, называется процедурой ввода. В языке Pascal эта команда выглядит следующим образом:

Read(список переменных);

ReadLn(список переменных);

Разница между работой процедур Read и Readln состоит в следующем: после выполнения Read значение следующего данного считывается с этой же строчки, а после выполнения Readln - с новой строки.

Выполнение операторов ввода происходит так: ход программы приостанавливается, на экран выводится курсор, компьютер ожидает от пользователя набора данных для переменных, имена которых указаны в списке ввода. Пользователь с клавиатуры вводит необходимые значения в том порядке, в котором они требуются списком ввода, нажимает Enter. После этого набранные данные попадают в соответствующие им переменные и выполнение программы продолжается.

Пример.

Var A : real; B : integer; C : char;

Begin

  Read(A, B, C)

End.

Процедура, которая выводит содержимое переменных на экран, называется процедурой вывода на экран. В Pascal эта команда выглядит следующим образом:

Write (список констант и/или переменных, разделенных запятой);

WriteLn(список констант и/или переменных, разделенных запятой);

Различие между двумя операторами вывода: после выполнения оператора Writeln происходит переход на новую строчку, а после выполнения инструкции Write, переход на новую строчку не происходит. При вызове оператора Writeln без параметров просто происходит переход на новую строчку.

Пример. Write(A, B, C);

WriteLn('Корнем уравнения является ', X);

Для управления размещением выводимых значений процедуры Write и WriteLn используются форматный вывода. Под форматом данных понимается расположение и порядок отдельных полей данных.

Процедура вывода с форматом для целого типа имеет вид:

WriteLn(A:N); где N - выражение целого типа, задающие длину поля вывода значений.

При выводе вещественных значений без указания формата - выводится вещественное число длиной 18 символов в форме с плавающей запятой. Для десятичного представления значения применяется оператор с форматами вида:

WriteLn(R:N:M); где N - выражение целого типа, задающие длину поля вывода значений, М- количество знаков в дробной части.

Пример:

A:=25; Write (A);  результат    25

A:=25.367; Write (A:6:3); результат   25.367

                    Write (A:6:2); результат   25.37

A:=-7.4385  Write (A); результат    -7.438500E+00

S:=7; Write (S,’=’,5+2); - результат 7=7

Write (‘S=5+2’); - вывод текста S=5+2, заключенного в апострофы.

 

 

Теоретические сведения для выполнения Задания 1.

Символьные величины.

Для работы с символами в языке Паскаль предусмотрен специальный тип данных, который называется символьным и обозначается char (от англ. character - символ). Значениями переменных этого типа являются отдельные символы: буквы, цифры, знаки.

Символьная константа – символ, заключенный в апострофы. Внутри апострофов допускается любой символ, за исключением символа апостроф (‘).

Символьная переменная – имеет имя, ее значением является один символ.

Символьные переменные описываются так: var  имя_переменной: char;

Каждый символ имеет свой уникальный двоичный код. Все символы упорядочены в соответствии с их кодами.

http://referatwork.ru/img/books/hzx469pqbm37/huvt85rfkz31.png

Над символьными переменными можно выполнять следующие действия: присваивание, ввод и вывод, сцепление, сравнение символов.

При выполнении операции присваивания значение символьных констант и переменных заключают в апострафы, например, ‘A’, ‘!’, ‘6’ …

Вывод символьных переменных выполняется с помощью стандартных процедур write и writeln.

Ввод символьных переменных выполняется с помощью стандартных процедур read и readln.

Операция соединения нескольких символов называется сцеплением и обозначается символом « (плюс).

 

Задание 1. Составить программу, в которой выполняется присваивание, ввод, вывод и сцепление символов.

 

Методика выполнения Задания 1.

- значения переменных обозначим буквами a, b, c, d, тип определим символьный; 

- переменную d зададим в программе символом  !, а остальные переменные введем с клавиатуры, например, поочерёдно буквы У, Р, А;  

- текст программы:

 

Program pr1;

Var    a, b, c, d: char;

    Begin

d:=’!’;

write(‘Введите три символа‘);

read(a,b,c);

writeln(a+b+c+d);

    End.

 

Теоретические сведения для выполнения Задания 2

 

Стандартные процедуры и функции для работы с символьными величинами.

К символьному типу применимы 5 функций, аргументы которых могут быть символьными переменными: Ord, Chr, Pred, Succ и Upcase.

Функция ord преобразовывает символ в её числовой код из таблицы ASCII. Например, для символа '№' она возвратит значение 185. Функция chr обратна функции ord. Функция chr преобразует числовой код символа в сам символ, например, если взять числовой код 64, то функция chr (64) возвратит символ '@'.

Функция pred возвращает значение предыдущего символа из таблицы ASCII, например, для символа 'P' (pred (P)) эта функция возвратит символ 'O'. Функция succ обратная функции pred. Для символа 'P' функция succ (P) возвратит символ 'Q', то есть следующий символ из вышеописанной таблицы ASCII.

Функция UpCase применима только для строчных букв английского алфавита. Данная функция преобразует строчные английские буквы в заглавные.

 

Задание 2. Составить программу (с использованием функции ord), которая определяет код введенного с клавиатуры символа.

 

Методика выполнения Задания 1.

- переменная х, которая обозначает символ, введенный с клавиатуры,  имеет символьный тип;

- текст программы:

 

program pr2;

var    x:char; 

begin

write(‘Введите с клавиатуры любой символ’);

readln (x);

writeln(код символа ‘,x,’=’,ord(x));

end.

 

Задание 3. Составить программу (с использованием функции chr), которая определяет символ по его коду, введенному с клавиатуры.

 

Методика выполнения Задания 3.

- переменная n, которая обозначает код, введенный с клавиатуры,  имеет символьный тип;

- текст программы:

 

program pr3;

var    n:integer; 

begin

write(‘Введите с клавиатуры код символа от 33 до 255’);

readln (n);

writeln(символ ‘,n,’=’, chr(n));

end.

 

Задание 4. Составить программу (с использованием функций  pred и succ), которая для введенного с клавиатуры символа предыдущий и следующий символы.

 

Методика выполнения Задания 4.

- переменная t, которая обозначает символ, введенный с клавиатуры,  имеет символьный тип;

- текст программы:

 

program pr4;

var     t:char;

begin

write(‘Введите с клавиатуры любой символ’);

readln (t);

writeln (‘пред.=’, pred (t));

writeln (‘след.=’, succ (t));

end.

 

Задание 5. Составить программу (с использованием функций  UpCase), которая преобразует строчную английскую букву в заглавную.

 

Методика выполнения Задания 5.

- переменная m, которая обозначает символ, введенный с клавиатуры,  имеет символьный тип;

- текст программы:

 

program pr5;

var   m:char;

begin

write(‘Введите с клавиатуры любую строчную английскую букву’);

readln (m);

writeln (‘строчная буква=’,m,’ заглавная буква=’, upcase (m)); //Вывод заглавной английской буквы

    end.

 

Самостоятельная работа

Отметка 5-6:

Составить программу, которая выполняет операцию сцепления трёх символов. Полученный результат выводятся на экран.

1.     Три символа: М, И, Р.

2.     Три символа: Т, И, Р.

3.     Три символа:  К, О, Т.

4.     Три символа: Р, И, С.

5.     Три символа:  С, О, Н.

6.     Три символа: Г, О, Д.

7.     Три символа: С, Ы, Р.

8.     Три символа: С, О, К.

 

Отметка 6-7:

1.      Составьте программу, которая выводит на экран названия не менее трех фруктов.

2.      Составьте программу, которая выводит на экран названия не менее трех городов.

3.      Составьте программу, которая выводит на экран  названия не менее трех стран.

4.      Составьте программу, которая выводит на экран  названия не менее трех элементов мебели.

5.      Составьте программу, которая выводит на экран  названия не менее трех овощей.

6.      Составьте программу, которая выводит на экран названия не менее трех деревьев.

7.      Составьте программу, которая выводит на экран названия  не менее трех цветов.

8.      Составьте программу, которая выводит на экран  названия не менее трех инструментов.

 

Отметка 8-9:

Составить программу, которая по введенному символу выводит предыдущий и следующий символ, если код этого символа меньше 250.

1.      Символ для ввода с клавиатуры: #

2.      Символ для ввода с клавиатуры: /

3.      Символ для ввода с клавиатуры: $

4.      Символ для ввода с клавиатуры: %

5.      Символ для ввода с клавиатуры: (

6.      Символ для ввода с клавиатуры: =

7.      Символ для ввода с клавиатуры: @

8.      Символ для ввода с клавиатуры: )

 

 

3. Содержание отчета

а. Титульный лист

б. Цель работы

в. Ответы на контрольные вопросы.

г. Последовательность выполнения работы по заданиям с описанием основных этапов осуществляемых действий

д. Заключение в виде анализа полученных результатов и выводов

 

Контрольные вопросы

1.   Какова общая структура программы на языке Паскаль?

2.   Какие операторы языка Паскаль вы знаете?

3.   Перечислите типы данных переменных в Паскаль.

4.   Дайте определение символьной величины.

5.   Какие действия можно выполнить над символьными переменными?

6.   Какая функция возвращает код символа?

7.   Какая функция возвращает символ с заданным кодом?

8.   Какие символы соответствуют кодам 37 и 43 в таблице кодов?

9.   Закодируйте свою фамилию и имя с помощью таблицы кодов на английском языке.

10.       Что закодировано с помощью таблицы: 4948 45 5253 61 5353?