1. Тема: Основы алгоритмизации задач
2. Количество учебных часов – 3 часа
3. Актуальность темы (мотивация изучения):
Pascal – один из языков программирования, который помогает писать «структурированные программы в таком виде, в котором структура программы должна непосредственно отражать структуру задачи. Эта особенность языка Паскаль, а также его достаточная простота из-за интуитивной понятийности его конструкций, позволила языку завоевать прочное место среди языков программирования. Современным достижением программирования является признание преимущества структурированных программ. Вот почему Паскаль широко используется инженерами и научными работниками, является официальным языком международных олимпиад по информатике. В настоящее время существует достаточно много версий данного языка. Наибольшее распространение, при программировании в среде MS(PC)-DOS и Windows, получила версия языка, разработанная фирмой Borland (Borland Pascal 7.0). Дальнейшее развитие языка привело к появлению Delphi – языка визуального программирования (фирма Borland). Освоение основ языка Pascal является необходимым условием для изучения Delphi – одного наиболее мощных в настоящее время языков программирования.
4. Цели занятия:
Сформировать первые сведения о языке Pascal;
Получить навыки работы в текстовом редакторе языка Pascal;
Сформировать первые сведения о структуре программы на языке Pascal;
Познакомиться с различными типами данных;
Познакомиться с арифметическими операциями и основными математическими функциями;
Получить навыки записи математических выражений на языке Pascal;
Студент должен знать:
Что такое транслятор, компилятор, интерпретатор;
Как загрузить Turbo Pascal;
Элементы главного меню редактора Turbo Pascal;
Основные понятия языка Turbo Pascal;
Структуру программы Turbo Pascal;
Операторы ввода-вывода;
Дополнительные арифметические операции и функции, преобразования числовых переменных;
Какие существуют типы данных;
Что такое порядковые типы переменных;
Студент должен уметь:
Работать в среде Turbo Pascal;
Набирать, корректировать и отлаживать программы;
Составлять простейшие программы с использованием операторов присваивания, ввода и вывода;
Составлять простейшие программы с использованием дополнительных арифметических операций и функций;
Сохранять, загружать и корректировать программы;
Преобразовывать числовые переменные;
Работать в среде Turbo Pascal;
Задавать и уметь использовать перечисляемые и порядковые типы данных;
Вопросы для подготовки к занятию:
а) по базисным знаниям:
В каком году появилась первая версия языка программирования Pascal?
Какими достоинствами обладает язык Pascal?
В какой форме изображаются действительные числа в Pascal?
Из каких разделов состоит программа Turbo Pascal?
Какие разделы могут входит в блок программы?
Назовите стандартные типы данных.
Что такое переменная?
Что такое идентификатор?
Что такое константа?
Что такое трансляторы? Что такое компилятор, чем он отличается от интерпретатора?
Как загрузить интегрированную среду Turbo Pascal?
Что такое комментарий?
б) по теме занятия:
Чем отличается операция / от операции div?
Существует ли в Pascal операция возведения в степень?
Какая функция находит целую часть х?
Какая функция округляет вещественное число х по направлению к нулю?
Какая функция округляет х в сторону ближайшего целого по математическим правилам?
Какая функция вычисляет дробную часть числа х?
С помощью какой функции можно получить случайные числа в диапазоне от 0 до 1?
Логическая операция обозначающая логическое умножение.
Логическая функция обозначающая логическое сложение.
6. Информационно-дидактический блок
Краткая теория
Транслятор, компилятор, интерпретатор
Программы, написанные на языке программирования, в компьютере должны обязательно проходить процесс преобразования или трансляции. Осуществляется это с помщью специальных программ (трансляторов).
Транслятор (англ. translator - переводчик) – это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.
Компилятор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется (файл с расширением .ЕХЕ).
Интерпретатор (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.
После того как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы. Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Turbo Pascal ориентирован либо на компиляцию, либо на интерпретацию. Для разработки тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.
Исторические сведения о языке «Паскаль»
Язык программирования Паскаль получил свое название в честь великого французского математика и физика Блеза Паскаля, который в 1642 году изобрел машину для арифметических операций, так называемое «паскалево колесо». В конце 1968 г. профессор Никлаус Вирт и его сотрудники из швейцарского федерального института технологии в Цюрихе разработали первую версию языка Паскаль. Спустя два года – первый вариант компилятора. В 1971 г. Н.Вирт выпустил описание языка.
Создавая Паскаль Никлаус Вирт преследовал две цели:
во-первых, разработать язык пригодный для обучения программированию как систематической дисциплины;
во-вторых, реализация языка должна быть эффективной и надежной.
Одним из достоинств языка Паскаль является то, что он полностью воплотил в себя идею структурного программирования, суть которой заключается в том, что с помощью нескольких конструкций можно выразить в принципе любые алгоритмы.
Запуск языка «Паскаль»
Запуск интегрированной среды версии компилятора Borland Pascal 7.0, которая работает в защищенной режиме DOS, осуществляется следующим образом:
а) если среда программирования инсталлирована в системе Windows:
Пуск→Программы→ Borland Pascal→ BP(Borland Pascal)
б) если среда программирования не инсталлирована в системе Windows или вы работаете в системе DOS:
Активировать каталог, где находится программа BP.exe. Выделить ее и нажать клавишу Enter.
Интерфейс программы
После загрузки редактора можно в рабочем поле набирать программу или корректировать ее с помощью клавиатуры или пунктов меню. Строка главного меню расположена в верхней части экрана:
Кнопка, закрывающая окно программы. Стрелка для увеличения размера окна
Турбо-среда предоставляет удобные средства работы с программой: ее хранение, запуск на счет, отладку и т. д. Доступ к этим средствам осуществляется через главное меню, которое состоит из следующих опций:
File | Позволяет выполнять все основные операции с файлами (создавать новые, загружать имеющиеся, сохранять созданные и отредактированные файлы и т.п.) |
Edit | Позволяет выполнять все основные операции редактирования текста (копировать, восстанавливать, удалять фрагменты текста, а так же восстанавливать первоначальный вариант редактируемого текста) |
Search | Позволяет осуществлять поиск фрагментов текста и при необходимости производить замену найденного фрагмента новым |
Run | Позволяет запускать программу, находящуюся в рабочей зоне, а также при необходимости пошагово выполнять данную программу или ее часть |
Compile | Позволяет осуществить компиляцию программы, которая находится в рабочей зоне |
Debug | Содержит команды, облегчающие процесс поиска ошибок в программе |
Tools | Позволяет выполнять некоторые программы, не выходя из Среды Турбо Паскаля |
Options | Позволяет установить необходимые для работы параметры компилятора и самой среды |
Windows | Позволяет выполнять все основные операции с окнами (открывать, закрывать, перемещать, изменять размер) |
Help | Позволяет получить имеющуюся в системе справочную информацию. Необходимое подчиненное меню активизируется (открывается) |
Для перехода в верхнее меню нужно нажать клавишу F10.
Выйти из подчиненного меню можно, нажав клавишу [ESC].
Выход из Турбо-среды осуществляется нажатием Alt+X.
Удобным способом создания новых программ является модификация ранее созданных. Основной формой хранения текста программы являются файлы. Для этого необходимо научиться записывать программы в файлы, читать из файлов и т. д. Для этого необходимо пользоваться опциями подменю File:
New | Новый файл | Очищает память редактора и переводит его в режим создания нового файла. Вновь создаваемому файлу присваивается имя NONAME.PAS, которое можно изменить при записи файла на диск |
Open | F3 Читать файл | На экране появится окно со списком файлов. В нем можно выбрать необходимый файл, который загружается в память редактора Турбо-Паскаль и таким образом делает его доступным для возможных изменений, а также прогона или отладки программы |
Save | F2 Сохранить файл | Переписывает файл из памяти редактора на диск. Файл записывается под своим именем, однако, если к этому моменту имя файла было NONAME.PAS, среда запросит, хотите ли Вы его переименовать. Опцию можно вызвать из режима редактирования с помощью клавиши F2 |
Save as | Сохранить с новым именем | Переименовывает редактируемый файл и записывает его на диск под новым именем |
Save all | Сохранить все в окнах | Записывает содержимое всех окон редактора в соответствующие дисковые файлы |
Change dir | Смена каталога | Позволяет изменить установленный по умолчанию диск и/или каталог |
Print/Print setup... | Печать файла | Позволяет напечатать файл на принтере |
DOS shell | Выход в DOS | Позволяет временно выйти из Турбо-Паскаля без выгрузки его из памяти. После такого выхода вы получаете доступ ко всем командам операционной системы DOS. Для возврата в Турбо-Паскаль достаточно ввести команду EXIT, и экран тотчас же окажется в том состоянии, которое было перед вызовом этой опции |
Exit | Alt-X Выход | Осуществляет выход из Турбо-Паскаля и выгрузку его из памяти. Эту опцию можно вызвать непосредственно из режима редактирования с помощью комбинации ALT+X |
Текстовый редактор
Ввод программы в компьютер представляет собой ввод текста в компьютер. При наборе текста программы полезно пользоваться следующими «горячими» клавишами:
Ins (Ctrl+V) | изменение режима «Вставка/Замена» |
Del | удаление символа над курсором |
BackSpase | удаление символа перед курсором |
Home/ End | перенос курсора в начало/конец текущей строки |
PgUp/PgDn (Ctrl+R/C) | перенос курсора на предыдущую/следующую страницу файла (программы) |
Ctrl+PgUp/PgDn | перенос курсора в начало/конец файла |
Ctrl+ Home/ End | перенос курсора в начало/конец экрана |
Left/ Right | перенос курсора на один символ влево/вправо |
Ctrl+ Left/ Right | перенос курсора на одно слово влево/вправо |
Ctrl+W/Z | экран сдвигается вверх/вниз по тексту (при этом курсор неподвижен) |
Shift+Left/ Right | выделение символов слева/справа от текущего символа |
Shift +Up/Dn | выделение строк вниз/вверх от текущей строки |
Ctrl+Y | удаление текущей строки |
Alt+ BackSpase | восстановление удаленной информации |
Ctrl+T | удаление слова справа от курсора |
Ctrl+Q+Y | удаление части строки от курсора до конца строки |
Ctrl+N | вставка строки |
Ctrl+Ins | копирование выделенного блока в буфер обмена |
Shift+Ins | вставка информации из буфера обмена |
Shift+ Del | перенос выделенного блока в буфер обмена (удаление с сохранением в памяти) |
Ctrl+ Del | полное удаление выделенного блока |
F5/F6 | перемещение по открытым окнам с программами |
Alt+ F3 | закрытие текущего окна |
F5 | развернуть окно на весь экран |
Ctrl-F2 | удаление голубой полосы |
Ctrl+F8 | удаление красной полосы |
Выполнение программы
Турбо-Паскаль позволяет выводить на экран несколько окон с программами одновременно. Выполнять можно программу, которая находится в активном (текущем) окне. Признак активного окна — двойная рамка вокруг него.
Для выполнения программы надо выйти в меню и в пункте Run выполнить команду Run (или одновременно нажать клавиши Ctrl + F9. Система сначала запускает транслятор (интерпретатор), который переводит программу с Паскаля на язык машинных кодов и ищет синтаксические ошибки в программе. Если ошибки найдены, то программа не будет выполняться, произойдет возврат в редактор. Поверх текста программы появляется красная строка с сообщением об ошибке. После нажатия Esc окно исчезает, курсор устанавливается в строку с ошибкой. Для получения информации об ошибке надо нажать Ctrl+F1.
Когда все ошибки исправлены, программа начинает выполняться. Просмотреть результаты работы можно, нажав Alt+F5 (выводится окно пользователя). Возврат обратно в окно редактора – нажатие любой клавиши.
Прерывание работы «зацикленной» программы - Ctrl +Break.
Основные понятия:
алфавит Turbo Pascal:
латинские буквы от A до Z
арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
знаки препинания . , : ; ..
знаки арифметических операций + – * /
знаки логических операций =
специальные символы ( ) { } [ ] ' := (* *)
Основные элементы Паскаля:
Идентификатор – последовательность латинских букв, арабских цифр, знаков подчёркивания. Начинается с латинской буквы. Длина до 127 символов. Используется в качестве имён переменных, меток, программ и подпрограмм. Нельзя в качестве идентификаторов использовать зарезервированные слова.
Зарезервированные слова – слова, используемые в операторах, названиях операций, функций и т. п. Всего их около 80. Например, begin, sin, while.
Константы – это величины, которые не могут менять своего значения в процессе выполнения программы.
В качестве констант могут использоваться числа, логические константы, символы и строки символов.
Целые числа записываются со знаком или без него по обычным правилам и могут иметь значение от –2147483648 до +2147483647.
Вещественные числа записываются со знаком или без него с использованием десятичной точки и/или экспоненциальной части. Экспоненциальная часть начинается символом е или Е, за которым могут следовать знаки «+» или «-» и десятичный порядок. Символ е (Е) означает десятичный порядок и смысл «умножить на 10 в степени». Например, запись 3.14Е5 означает 3,14 × 105 ,а запись -17е-2 – это -17× 10-2.
Логическая константа – это либо слово FALSE (ложь) либо слово TRUE (истина).
Символьная константа – это любой символ, заключенный в апострофы:
'z' – символ z;
'ф' – символ ф.
Строковая константа – последовательность символов, заключенная в апострофы. Если в строке нужно указать сам символ апострофа, он удваивается, например:
' Это - строка символов ';
' That''s string'.
Описание констант начинается со служебного слова const. Далее пишется имя, которое мы дали данной величине и после знака равенства пишется конкретное значение данной величины.
Const
=;
Переменные – это величины, которые могут менять свое значение в процессе выполнения программы или их конкретное значение изначально не определено.
Выражение – последовательность переменных и числовых констант, объединённых знаками арифметических (арифметическое выражение, например, Pi*r+1/2.5, Х/5 + 2.5 0) или арифметических и логических операций (логические выражения, например, Х + 2.5 = 0, x+1=12). Выражения всегда записываются в строчку, указывая все арифметические операции, включая знак умножения (например, математическое выражение записывается – (X+Y)/2.5-3*Sqrt(X*X-Y*Y)). Математическое уравнение y=–3x3+0,475x–45,5 записывается – y:=–3*x*x*x+0.475*x–45.5);
Комментарии – это пояснения, вставляемые в текст программы. Комментарий - любой текст, заключённый в { } или (* *). Комментарии не выполняются программой.
Оператор – это инструкция, которую должен выполнить Turbo Pascal. Программа состоит из последовательности операторов.
Операторы. Исполняемые операторы должны заканчиваться – ; Существует несколько типов операторов:
Оператор присваивания – это последовательность из переменной, знака присваивания (:=) и арифметического выражения. Например, x:=x+1;
Структурный оператор – это оператор, состоящий из нескольких зарезервированных слов и логических проверок. К ним относятся операторы циклов и условные операторы.
Нестандартные операторы – это подпрограммы, оформленные стандартным образом и записанные в библиотеки (модули). Вызываются при указании имени и параметров.
Составной оператор – это группа операторов, заключённая между begin … end;
Begin
Оператор 1; Оператор 2; … Оператор n;
End;
Пустой оператор – оператор Begin End;, не выполняющий никакого действия.
Встроенные стандартные математические функции, используемые в Turbo Pascal.
Используются в арифметических выражениях.
Функция | Назначение | Тип аргумента | Тип функции |
Abs(x) | Вычисление абсолютного значения x | вещественный целый | вещественный целый |
sqr(x) | Вычисление квадрата x | вещественный целый | вещественный целый |
sqrt(x) | Вычисление квадратного корня из x | вещественный целый | вещественный вещественный |
sin(x) | Вычисление синуса x | вещественный целый | вещественный вещественный |
cos(x) | Вычисление косинуса x | вещественный целый | вещественный вещественный |
arctan(x) | Вычисление арктангенса x | вещественный целый | вещественный вещественный |
exp(x) | Вычисление экспоненты (числа e=2,71828…) в степени x | вещественный целый | вещественный вещественный |
ln(x) | Вычисление натурального логарифма x | вещественный целый | вещественный вещественный |
log(x) | Вычисление десятичного логарифма x | вещественный целый | вещественный вещественный |
Pi | Число | нет | вещественный |
Структура программы:
Заголовок программы (необязателен) | Program имя; |
Раздел описаний | Список используемых модулей | Uses ...; |
Метки | Label ...; |
Константы | Const ...; |
Типы | Type ...; |
Переменные | Var ...; |
Процедуры | Procedure ...; |
Функции | Function ...; |
Раздел операторов | Begin End. |
Раздел меток (label)
Любой выполняемый оператор может быть снабжен меткой – положительной константой, содержащей не более 4-х цифр. Метка отделяется от оператора двоеточием. Все метки, встречающиеся в программе, должны быть описаны в разделе label. Общий вид:
label l1, l2, l3…;
здесь l1, l2, l3… - метки.
Раздел типов (type)
Если в программе вводится тип, отличный от стандартного, то этот тип описывается в разделе type:
type t1=;
t2=;
. . . . . . .
где t1 и t2 – идентификаторы вводимых типов.
Пример.
Type color=(red, yellow, green, blue);
Здесь описан тип color, задаваемый перечислением значений.
Переменные. Описание переменных
Все переменные должны быть описаны с указанием типа:
Var a, b : integer ; f, d, c : real ; Тип переменных указывается после списка переменных через двоеточие ( : ). Числовые переменные можно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
Целый тип |
Byte | 0…255 | 1 байт без знака |
Word | 0 ... 65535 | 2 байт без знака |
ShortInt | -128…127 | 1 байт со знаком |
Integer | -32768 ...32767 | 2 байт со знаком |
Longint | -2147483648 ... 2147483647 | 4байт со знаком |
Вещественный тип |
Single | 7-8 значащих цифр -1.510-45 ... 3.410-48 | 4 байт |
Real | 11-12 значащих цифр -2.910-39 ... 2.910-38 | 6 байт |
Double | 15-16 значащих цифр -5.010-324 ... 1.710-308 | 8 байт |
Extended | 19-20 значащих цифр -1.910-4951 ... 1.910-4932 | 10 байт |
Операторы ВВОДА данных в переменные с клавиатуры:
Read (список переменных);
Readln (список переменных);
При переходе к выполнению этих операторов программа ожидает ввода данных и нажатия клавиши Enter.
Данные, вводимые в разные переменные, разделяются пробелом. Отличия операторов заключаются в том, что второй оператор после ввода информации (выполнения оператора) переводит курсор на следующую строку, а первый оператор - нет.
Пример записи оператора - Readln(k,t,e);
Оператор Readln; без списка переменных используется для задержки информации на экране до нажатия на клавишу Enter и ставится в конце программы.
Операторы ВЫВОДА текстовой информации на экран :
Write(список переменных, констант и арифметических выражений);
Writeln(список переменных, констант и арифметических выражений);
Например, Write(2+У, Х); Writeln (‘A=’, а); Write(а, с);
Отличия операторов заключаются в том, что второй оператор после вывода информации переводит курсор на следующую строку, а первый оператор - нет.
Переменные типа Real рекомендуется выводить в форматированном виде.
Форматированный вывод - вывод информации с указанием размерности, т.е. после переменной через двоеточие указывается количество символов под все число, а затем, для вещественных переменных, снова через двоеточие число десятичных знаков.
Например: Write(а:5:2,с:6:3); - под а отводится 5 символов, включая точку, знак числа и два десятичных знака величины числа. Знак «+» перед числом при выводе будет опущен. Если в а находится число 2,5678, то выведется на экран: _2.56
Целочисленные арифметические операции:
Операция | Назначение | Пример записи | Тип используемых переменных | Тип результата |
div | Вычисление частного при делении a на b | C:=a div b; | целый | целый |
mod | Вычисление остатка от деления a на b | D:=a mod b; | целый | целый |
Например, Y := 25 div 3; (переменной Y присваивается 8), Y := - 25 div 4; (переменной Y присваивается -6), Y := 13 mod 3; (переменной Y присваивается 1), Y := 13 mod 4; (переменной У присваивается 1).
Функции, преобразования числовых переменных:
Функция | Назначение | Тип аргумента | Тип функции |
trunc(x) | Нахождение целой части x (дробная часть числа отбрасывается) | вещественный целый | целый |
int(x) | Округление вещественного числа x по направлению к нулю | вещественный | вещественный |
round(x) | Округление x в сторону ближайшего целого по математическим правилам | вещественный целый | целый целый |
Frac(x) | Вычисление дробной части числа Х | вещественный | вещественный |
Примеры:
Y:=trunc(13.999); (переменной Y присваивается 13), Y:=trunc(13.111); (переменной Y присваивается 13).
Y:=round(3.145); (переменной Y присваивается 3), Y:=round(23.5); (переменной Y присваивается 24), Y:=round(-12.5); (переменной Y присваивается -13).
Y:=int(2.7) (переменной Y присваивается 2), Y:=int(-32.3) (переменной Y присваивается -32).
Получение случайных чисел.
Random – получение (генерация) случайных чисел в диапазоне от 0 до 1. Например, Y := random; (переменной Y присваивается значение равное числу из промежутка от 0 до 1, возможно 0.45678).
Random(X) - Получение случайных целых чисел в диапазоне от 0 до (Х-1). Аргумент Х - целое. Например, Y :=Random(39); (переменной Y присваивается значение равное числу из промежутка от 0 до 38).
Randomize - Формирование базы случайных чисел, на основе временного таймера ПК. Обеспечивает генерацию неповторяющихся последовательностей случайных чисел. Используется, чтобы получать разные случайные числа при каждом запуске программы. Должен стоять в программе до первого использования функции Random.
Генерация случайных чисел (А) |
Что требуется получить | Дано | Оператор | Результат (А) |
Любое число от 0 до 90 | Аргумент - 91 | А : = Random(91); | Любое число от 0 до 90, например 62. |
Двухзначные целые положительные числа | Числа от 10 до 99, всего: 99-10+1=90 (числа). | А : = Random(90)+10; | Любое число от 10 до 99, например 12. |
Двухзначные целые положительные четные числа | Числа 10, 12, 14, … до 98, всего чисел (98-10)/2+1=88/2+1=45. | А : = Random(45)*2+10; | Получаются число от 0 до 44, умножаются на 2 и увеличиваются на 10. Например, 56 |
Числа в заданном промежутке с заданным шагом. | N - начало промежутка, M - конец промежутка, шаг - К. | А : = Random (((N–M) div K)+1)*К+N; | Сгенерируем случайное число в промежутке от 0 до (N – M) div k. Умножаем на К и прибавляем N. |
Примеры программ:
Объявите переменные, необходимых для вычисления значения функции y=x2. | Var x:real, y:real; |
Объявите переменные, необходимые для вычисления площади кольца. | Var r1,r2,s:real; |
Запишите на языке Паскаль Y=-2,7x3+0,23x2-1,4 | Y:=-2.7*x*x*x+0.23*x*x-1.4 |
Написать программу вывода значений переменных a,b,c. Значение каждой переменной – на отдельной строке и начинается с имени переменной, затем знак =, затем значение. | Var a,b,c:integer; Begin A:=5; b:=6; c:=7; Writeln(‘a=’,a); Writeln(‘b=’,b); Writeln(‘c=’,c); Readkey; end. |
Найти остаток от деления и округленный результат деления двух целых чисел, заданных с клавиатуры | Var a,b,c,d:integer; Begin Writeln(‘Введите два целых числа’); Readln(a,b); с:= a div b; d:= a mod b; Writeln(‘округленный результат - ’, c ); Writeln(‘остаток от деления - ’,d); Readln; end. |
Преобразовать вещественное число в денежный формат. Пример, 24.5 – 24 тенге 50 тиын | Var a: real; b,c: integer; Begin Writeln(‘Введите вещественное число’); Readln(a); b:= trunc(a); c:= round((a-b)*100); Writeln; Writeln(b:4,' тенге', c:6,’тиын’); end. |
Сгенерировать случайные числа: 1) целое в интервале от 0 до 67; 2) целое двухзначное; 3) вещественное с двумя целыми знаками; 4) целое из ряда 60, 70, 80, 90, …, 150; | Var a… Begin Randomize; a:=random(68); Writeln(‘1 -’, a); a:=random(90)+10; Writeln(‘2 -’, a); a:=random; b:=b*100; Writeln(‘3 -’, b); a:=random(10)*10+60; Writeln(‘4 -’, a); … end. |
Порядковые типы переменных (дополнительные сведения)
Кроме числовых переменных возможно использование символьных, логических и простых типов переменных, определяемых программистом, перечисляемых и интервальных (тип – диапазон).
Символьные переменные описываются как CHAR и представляют собой тип данных, предназначенный для хранения одного символа (буква, знак, код). Переменная типа CHAR занимает один байт.
Логические переменные (тип Boolean) – это переменные, которые могут принимать только два значения истина - true (1) или ложь - false (0). Используются такие переменные для хранения результатов логических вычислений. Для булевых переменных разрешены только операции сравнения:
Логическая операция | Наименование |
= | Равно |
| Неравно |
And | Логическое И (логическое умножение, конъюнкция) |
Or | Логическое ИЛИ (логическое сложение, дизъюнкция) |
Xor | Логическое исключающее ИЛИ (результат тогда 1, когда на входе все нули) |
Not | Логическое НЕ |
Тип переменной | Символьные переменные | Логический тип |
Определение | Переменная, которая может содержать 1 символ, и занимает 1 байт | Переменная, которая может принимать только два значения – true , false |
Описание | CHAR Например: Var c: char; | BOOLEAN Например, Var c,а: boolean; |
Дополнительная информация | Все имеющиеся символы имеют коды (таблица кодов ASCII). Есть функции работы с символьными переменными и их кодами. | Получается в результате выполнения логических выражений с операциями: =,,,= (простые логические выражения) и Not, And, Or, Хor (логические функции) – используются для объединения простых логических выражений в составные, при чем простые логические выражения берутся в круглые скобки. |
Использование | В различных операторах, например: | Пример простого выражения - X2 Пример составного выражения - (X2) and (X=10) Используются в операторах присваивания, ветвления и цикла. |
Примеры | С:=’a’; Writeln(‘C=’,c); | X:=4; A:=(X2) and (x If A=True then y:=1 else y:=1/x; |
Перечисляемый тип – это описание упорядоченного множества значений, задаваемых идентификаторами в круглых скобках. Переменные перечисляемого типа могут использоваться в логических выражениях или операторах присваивания и не могут использоваться в операторах ввода или вывода. Например, программа определения дня недели может выглядеть так:
PROGRAM DEMO1;
TYPE WEEK=(MONDAY, TUЕSDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY);
VAR DAY: WEEK;
BEGIN
DAY:=THURSDAY;
IF (DAY=SUNDAY) OR (DAY=SATURDAY) THEN WRITELN(‘УИКЕНД’)
ELSE WRITELN(‘РАБОЧИЕ ДНИ’);
{или - IF (DAYРАБОЧИЕ ДНИ’) ELSE WRITELN (‘УИКЕНД’);}
READLN;
END.
Применение перечисляемых типов делает программы нагляднее.
Тип – диапазон (интервальный тип) – этот тип получается путем введения ограничения на уже определенный некоторый простой тип. Ограничения определяются заданием диапазона – минимального и максимального значений констант в этом диапазоне. Тип, из которого выбирается диапазон (отрезок), называется базовым типом. Левая граница диапазона должна превышать правую. Диапазоны для вещественных типов не допускаются. Например, рассмотрим типы:
TYPE A=10..100;
WEEK=(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY);
WORKDAY=MONDAY..FRIDAY;
WEEKEND= SATURDAY.. SUNDAY;
Базовый тип для диапазона А – тип INTEGER; для диапазонов WORKDAY и WEEKEND – перечисляемый тип WEEK.
Использование диапазонов позволяет более экономично распределять память, особенно в случае данных типа INTEGER. Декларация интервального типа указывает компилятору, что для переменных возможны только значения в заданном интервале, тем самым в программе автоматически организуется проверка корректности операций присвоения.
Функции, используемые для работы с порядковыми переменными:
Название функция | Назначение | Тип аргумента | Тип функции |
Pred(x) | Определение предшественника взятого символа х | Порядковый | Порядковый |
Succ(x) | Определение последующего символа за взятым символом х | Порядковый | Порядковый |
Ord(x) | определяет код символа. Например, Ord(‘A’) - 65 | Порядковый | Целочисленный |
Chr(x) | определяет символ по коду. Например, Chr(65) - ’A’ | Целочисленный | CHAR |
Примеры:
Линейный алгоритм
Вычислить функцию Y по формуле Y=ax2+bx+c; а=5, b=9 и с=12.
1) Cоставить математическое уравнение данной задачи:
Y=5x2+9x+12
2) Составление алгоритма:
2.1. Словесный алгоритм
Шаг 1. Начало задачи
Шаг 2. Ввод: X
Шаг 3. Решение: Y=5*x*х+9*x+12
Шаг 4. Вывод: Y
Шаг 5. Конец.
Графический вид алгоритма
2.3. Программа на языке Паскаль: Program Zadacha_1;
Var
Y,x:integer;
Begin
Write(‘x=’); Readln(x);
Y:=5*x*x+9*x+12;
Writeln(‘Y=’,Y);
End.
Найдите длину круга
l, если радиус окружности
R (
l=2πR) Program Zadacha_2;
Const
π=3.14;
Var
R:integer;
L:Real;
Begin
Write(‘R =’); Readln(R);
L:= 2*π*R;
Writeln(‘L =’, L);
End.
7. Содержание занятия:
- самостоятельная работа студентов
Студентам выдаются индивидуальные задания в виде карточек,они выполняют практическую часть работы по следующим указанным заданиям:
Задание 1. Вычислите:
1-вариант | 2-вариант | 3-вариант |
а) a:=78 mod 5 б) b:=97 div 9 в) kl:=(50 div 4) mod 5 г) fl:=82 mod (30 div 7) д) y1:=int(5.7) е) y2:=trunc(5.7) ж) y3:=frac(5.7) з) y4:=round(5.7) и) y5:=pred(Z) к) y6:=succ(R) л) y7:=ord(D) м) y8:=chr(86) | а) a:=99 mod 8 б) b:=68 div 5 в) kl:=(71 div 6) mod 2 г) fl:=95 mod (35 div 8) д) y1:=int(6.2) е) y2:=trunc(6.2) ж) y3:=frac(6.2) з) y4:=round(6.2) и) y5:=pred(K) к) y6:=succ(O) л) y7:=ord(P) м) y8:=chr(80) | а) a:=65 mod 8 б) b:=77 div 5 в) kl:=(83 div 6) mod 3 г) fl:=92 mod (29 div 7) д) y1:=int(4.5) е) y2:=trunc(4.5) ж) y3:=frac(4.5) з) y4:=round(4.5) и) y5:=pred(B) к) y6:=succ(G) л) y7:=ord(Q) м) y8:=chr(87) |
Задание 2
Запишите математические уравнения в линейном виде (см.табл.)
Задание 3
Вычислить функцию Y по формуле (см. табл.):
Требования к выполнению задания:
а) номер варианта для выполнения задания и условие своего варианта;
б) болк-схемы решения задач;
в) тексты программ;
г) полученные при расчетах численные результаты.
Номер варианта | Функция |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
Пример:
а
) Вариант №15.
б) блок-схема
в) Текст программы:
Program Variant_15;
Var
Y,x:real;
Begin
Write(‘x=’); Readln(x);
Y:=sqrt(abs(x));
Writeln(‘Y=’,Y:6:3);
End.
г) полученные при расчетах численные результаты.
x=
Y=
- совместная работа с преподавателем:
Преподаватель проводит проверку самостоятельной работы студентов с опросом каждого студента, выполняет обсуждение результатов СРС, дает анализ темы занятия, подробно излагает вопросы применения темы в практике здравоохранения.
- контроль исходного и заключительного уровня знаний
Студенты сдают тесты выходного контроля по теме занятия на компьютере.
Приложение 1. Структура типов данных
Типы данных | | | простые | | | порядковые | | | целые | |
| | | | | | |
| | | | | | | | | | | | |
| | | | | | | вещественные | | | логические | |
| | | | | | | | | |
| | | | | | | | | |
| | | структурированные | | | массивы | | | символьный | |
| | | | | | | |
| | | | | | | | | | | | | |
| | | указатели | | | записи | | | перечисляемый | |
| | | | | | | |
| | | | | | | | | | | | | |
| | | Строки | | | множества | | | Тип-диапазон | |
| | | | | | | |
| | | | | | | | | | | | | |
| | | Процедурные | | | файлы | | | | | |
| | | | | | | | | |
| | | | | | | | | | | | |
| | | Объекты | | | | | | | |
| | | | | | | | | |
Приложение 2. Таблица кодов ASCII
Управляющие символы | Печатаемые символы |
Код Клавиши Обозначение | Десятичный код - символ |
0 Ctrl - @ NUL 1 Ctrl – A SOH 2 Ctrl – B STX 3 Ctrl – C ETX 4 Ctrl – D EOT 5 Ctrl – E ENQ 6 Ctrl – F ACK 7 Ctrl – G BEL 8 Ctrl – H BS 9 Ctrl – I HT 10 Ctrl – J LF 11 Ctrl – K VT 12 Ctrl – L FF 13 Ctrl – M CR 14 Ctrl – N SO 15 Ctrl – O SI 16 Ctrl – P DLE 17 Ctrl – Q DC 1 18 Ctrl – R DC 2 19 Ctrl – S DC 3 20 Ctrl – T DC 4 21 Ctrl – U NAK 22 Ctrl – V SYN 23 Ctrl – W ETB 24 Ctrl – X CAN 25 Ctrl – Y EM 26 Ctrl – Z SUB 27 Ctrl – [ ESC 28 Ctrl - \ FS 29 Ctrl - ] GS 30 Ctrl - ^ RS 31 Ctrl - _ US | 32 33 ! 34 « 35 # 36 $ 37 % 38 & 39 ‘ 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 61 = 62 63 ? | 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | ‘ a b c d e f g h i j k l m n o p q r s t u v w x y z { ¦ } ~ . |
Назначение некоторых кодов ASCII
0 Нулевой оператор 10 Перевод строки
7 Звуковой сигнал 13 Клавиша Enter
8 Клавиша Backspace 27 Клавиша ESC
9 Клавиша Tab 32 Клавиша Space
8. Рекомендуемая литература:
Основная литература
Информатика: Базовый курс. / Под редакцией С.В. Симоновича и др. - СПб.: Питер, 2001, - 640с.
Информатика. Учебник под ред. проф. Н.В. Макаровой. СПб.: Финансы и статистика, 2003, - 765с.
Информатика. Практикум по технологии работы на компьютере. Под ред. проф. Н.В. Макаровой. СПб.: Финансы и статистика, 2001, 486с.
Бекбаев А.Б., Найдёнова Т.М. Разработка и описание алгоритмов методом блок-схем. Методические указания. / Практикум по ВТ и программированию, Алматы, РИК, 1993, - 40 с.
Инструментальные средства персональных ЭВМ. В 10-ти кн. Кн. 4. Программирование в среде Турбо ПАСКАЛЬ: Практическое пособие./ Под редакцией Б.Г. Трусова. -М.: Высш. шк.,1993. –142с.
Дополнительная литература
Кандзюба С.П., Громов В.Н. Delphi 6. Базы данных и приложения. Лекции и упражнения. – К.: «ДиаСофт», 2001, -576с.
Балафанов Е.К., Бурибаев Б., Даулеткулов А. 30 уроков по информатике, Алматы, Джаганбек, 1999, - 442с. (на русском и казахском языках)
Turbo Pascal / С.А. Немнюгин. – СПб.: «Питер», 2001. –496с.
20