P-code

advertisement
Воробьев Кирилл
Белоусов Роман
9А
Школа МОУ СОШ № 68
Учитель информатики Гунер Людмила
Николаевна
Предмет Информатика
Класс
Тема урока-презентации: «Турбо Паскаль: Создание языка
и его создатель. Основы программирования на языке
Турбо Паскаль».
СОДЕРЖАНИЕ.
Тема: «Турбо Паскаль: Создание
языка и его создатель. Основы
программирования на языке
Турбо Паскаль».
СОДЕРЖАНИЕ.
Цель урока-презентации



1. Познакомить с историей создания языка
программирования Turbo Pascal и его
создателем Никлаусом Виртом.
2. Познакомить со структурой программ и
основными операторами языка
программирования Паскаль.
3. Показать на наглядном примере решение
задачи на языке Turbo Pascal.
СОДЕРЖАНИЕ.
Содержание











Глава1. Создатель Паскаля.
Глава2. Появление версий языка программирования Turbo
Pascal:
§1. Версия 1.0.
§2. Версия 3.0.
§3. Версия 4.0.
§4. Версия 5.0.
§5. Версия 6.0.
§6. Версия 7.0.
Глава3. Основы программирования на языке Turbo Pascal:
§1.Структура программы.
§2.Наглядный пример решения задачи на языке Turbo Pascal.
СОДЕРЖАНИЕ.
Профессор Никлаус Вирт – живая легенда в
мире программирования, блестящий инженер
и глубокий исследователь, удостоенный в
1984 г. премии им. Тьюринга за разработку
языка программирования Паскаль, с которым
знаком каждый школьник.
Еще подростком Вирт увлекался
конструированием радиоуправляемых моделей
самолетов, причем позже он получил в Калифорнийском
университете степень бакалавра в области электротехники.
К разработке языка Вирт подошел так, как подошел бы
инженер к конструированию машины. А “искусство
инженера — говорил он — состоит в том, чтобы делать
сложные задачи простыми”.
К концу 60-х гг. Н. Вирт уже получил признание как один
из ведущих специалистов по языкам программирования. В
этом качестве он был включен в состав Международного
комитета IFIP по разработке универсального языка
программирования на основе Алгола-60.
СОДЕРЖАНИЕ.
Однако из-за категорического несогласия с
проектной философией, возобладавшей в комитете, Н. Вирт
из него вышел в 1968 г. и в 1970 г. представил свой
Паскаль. Блестящий успех Паскаля на фоне провала
Алгола-68, произведенного комитетом, доказали
проницательность Н.Вирта.
Н.Вирт был одним из первых, кто ввел в практику
принцип пошагового уточнения как ключевого для
систематического создания программ. В рамках его проекта
Паскаль-P (1972-74) был эффективно применен
промежуточный псевдо-машинный язык P-code для
облегчения переносимости компиляторов Паскаля; сейчас
эта идея легко узнается в байт-коде для языка Java
корпорации Sun и в еще большей степени — в аналогичном
промежуточном языке проекта .NET корпорации Microsoft.
С мая 1999 г. профессор Н. Вирт отошел от
преподавательской деятельности, не оставляя своих
исследований и увлечений, и занимаясь, среди прочего,
изучением русского языка. Он имеет троих взрослых детей
и проживает в г. Цюрих (Швейцария).
СОДЕРЖАНИЕ.
Первая версия языка программирования Паскаль
была разработана на кафедре информатики
Стзнфордского университета швейцарским ученым
Никлаусом Виртом в 1968 году. Прошло много времени с
момента появления Паскаля на рынке программных
продуктов, прежде чем он получил всеобщее признание.
Признание программистов и простых пользователей
пришло вследствие появления языка программирования
Турбо Паскаль – диалекта языка, созданного
американской фирмой Борланд. Эта фирма объединила
очень быстрый компилятор с редактором текста и
добавила к стандартному Паскалю мощное расширение,
что способствовало успеху первой версии этого языка.
СОДЕРЖАНИЕ.
В 1985 году на рынке ПЭВМ появился язык
программирования Турбо Паскаль 3.0 с компилятором
стандартного Паскаля. С тех пор Паскаль стал
применяться в общеобразовательных,
профессионально-технических школах и в сфере
высшего образования в качестве “первого” языка
программирования. Благодаря простоте использования
язык Турбо Паскаль получил широкое использование и
в любительских кругах. Повышению популярности
Турбо паскаля способствовал набор небольших
сопутствующих программ, позволяющих получать
чрезвычайно компактную, быструю и легко читаемую
программу. Эти качества Турбо Паскаля были высоко
оценены и в среде профессиональных программистов.
СОДЕРЖАНИЕ.
В появившемся со временем пакете Турбо Паскаль 4.0 было
устранено большинство подвергавшихся критике
ограничений компилятора и была повышена
производительность системы. Кроме того, новый
компилятор версии 4.0 имел существенные отличия от
предыдущей версии. Наиболее важным нововведением
была UNIT-концепция, давшая возможность реализовать в
рамках Турбо Паскаля разработку крупных программных
продуктов.
СОДЕРЖАНИЕ.
С выходом в свет версии 5.0 Турбо Паскаль получил еще большие
шансы на благосклонную реакцию со стороны профессиональных
пользователей благодаря встроенному в среду программирования
интегрированному отладчику, который позволил повысить
производительность труда.
Существенно улучшила технические характеристики Турбо
Паскаля реализация аппарата перекрытий, позволяющего строить
мощные программные комплексы, рассчитанные на эксплуатацию
в малых по объему областях памяти. Суть механизма перекрытий
сводится к делению программу на части, поочередно загружаемые
по мере необходимости с дискеты или винчестера в одну и ту же
область памяти, заменяя при этом находившуюся там часть
программы.
Кроме того, в Турбо Паскале 5.0 были расширены
возможности отладки программ, исправлены и улучшены
библиотеки графических процедур, поставляемые вместе с
пакетом Турбо Паскаля.
СОДЕРЖАНИЕ.
Через некоторое время на рынке появилась версия Турбо
Паскаля 6.0, в которой чисто теоретическая концепция
объектно-ориентированного программирования была
реализована практически с полным набором объектов,
которые могли использоваться для решения прикладных
задач пользователя. В качестве практического примера
использования новых возможностей был реализован
текстовый редактор, встроенный в интегрированную
инструментальную оболочку. При этом сторонники
программирования на Турбо Паскале 6.0 получили
возможность не только работать со встроенным
многооконным текстовым редактором, но и использовать
мышь, которая значительно облегчает работу пользователя.
СОДЕРЖАНИЕ.
В 1992 году фирма Borland International представила
пользователям очередную версию языка
программирования Паскаль – Турбо Паскаль 7.0. Наряду
со всеми преимуществами, которые Турбо Паскаль 7.0
унаследовал от предыдущей версии, в нем были
произведены изменения и улучшения. Во-первых:
появилась возможность выделять определенным цветом
различные элементы исходного текста, позволяющая даже
неопытным пользователям устранять ошибки на этапе
ввода исходного текста. Во-вторых: язык
программирования Турбо Паскаль 7.0 был расширен, что
предоставило пользователю дополнительные возможности
при решении повседневных задач. В-третьих: был
улучшен компилятор, вследствие чего “коды программ”
стали более эффективными. В-четвертых: был улучшен
интерфейс пользователя. Кроме того, в Турбо Паскале 7.0
расширены возможности объектно-ориентированного
программирования.
СОДЕРЖАНИЕ.
СОДЕРЖАНИЕ.
СОДЕРЖАНИЕ.
Язык Паскаль требует от программиста описания всех
переменных в отдельном разделе, помещаемом в начале
программы. Наличие такого раздела ограничивает свободу
программиста. Но одновременно Паскаль требует строгого
стиля программирования, который способствует
уменьшению количества ошибок. Как и всякий преемник,
Паскаль имеет многие черты своего предшественника;
например, Паскаль, как и Алгол-60, предусматривает
блочную структуру программ (программы составляются из
блоков, которые начинаются и оканчиваются словами
BEGIN и END соответственно). Структура программы на
Паскале позволяет даже специалисту, не являющемуся ее
автором, обнаруживать и исправлять допущенные ошибки и
вносить изменения. Это делает Паскаль подходящим языком
для создания больших программ. В то же время часто
говорят, что Паскаль особенно удобен для изучения теории
и практики программирования, но не для реальных
применений.
Program (имя программы);
СОДЕРЖАНИЕ.
Label (список меток);
Const (список постоянных переменных);
Type (описание сложных типов данных);
Var (описание данных программы);
Begin (начало программного блока)
(алгоритм)
End. (конец программы)
; - признак конца оператора;
[begin...end] – операторные скобки;
Var – раздел описания переменных. Пример: Var i, j: integer; x: real;
Где integer (целый тип данных), real (вещественный тип данных, т.е. и
целые и дробные числа).
Program – признак начала программы;
End. – признак конца программы.
Операторы Write и WriteLn в этой программе предназначены для
вывода на экран информации о действиях, которые необходимо
совершить пользователю. Эти операторы выдают подсказку,
предназначенную для создания комфортных условий работы
пользователя. С помощью последнего оператора WriteLn
выводятся на экран два сообщения. Первое – константное –
поясняет суть второго, которое представляет собой результат
вычислений. Запятая, следующая за вторым апострофом, разделяет
два элемента в списке параметров оператора WriteLn.
Пример: WriteLn (‘сумма введенных чисел равна: ‘ ,Sum);.
СОДЕРЖАНИЕ.
Из текста программы легко можно понять, что операторы Read и
ReadLn выполняют функции, обратные функциям операторов Write
WriteLn. В операторе ReadLn в круглых скобках указывают имена
переменных, которым будут присвоены вводимые с клавиатуры
значения. Тем самым компилятору сообщается информация,
необходимая ему для определения места размещения в памяти
принятой информации. В операторе ReadLn окончание Ln, так же
как и операторе WriteLn, означает, что курсор после завершения
ввода значения переменной должен перейти к началу следующий
строки на экране.
Пример: ReadLn (S,m);.
СОДЕРЖАНИЕ.
СОДЕРЖАНИЕ.
Принцип работы условной конструкции IF...THEN можно рассмотреть на
следующем примере:
IF Priveiledge=1 THEN
BEGIN
WRITE (‘ класс С ? ’);
ReadLn (Class_C);
END;
Если допустить вольный перевод на литературный язык с Паскаля, этот
пример можно истолковать так: “ЕСЛИ (IF) применяя Priviledge (Права)
равна 1 (Priviledge=1), т.е. человек имеет водительские права, то (THEN)
задаётся вопрос о наличии прав класса С, и затем ответ считывается в
переменную Class_C”. В данном условии задаётся выполнение операции
сравнения переменной с некоторой величиной, т.е. со значением другой
переменной или константой.
В Паскаль-программах довольно часто используется операторы
CASE...OF. Они предназначены для замены конструкций из
вложенных операторов IF...THEN, подобных переменной в
последним примере. Конструкция CASE...OF является идеальным
средством для обработки ситуаций с несколькими исходами, когда
условие может принимать более двух значений.
СОДЕРЖАНИЕ.
Задача.
Вычислить площадь треугольника со сторонами a, b, c по формуле Герона:
S=sqrt(p*(p-a)*(p-b)*(p-c)), где p – полупериметр треугольника.
Словесное решение задачи:
1. Необходимо проверить, существует ли треугольник с введенными
сторонами. Это проверяется с помощью условия существования треугольника:
каждая сторона треугольника меньше суммы двух других сторон. Из этого
следует, что если (a+b>c) и (a+c>b) и( b+c>a), то треугольник существует; если
же это условие не выполняется, то такого треугольника не существует.
2. Если треугольник существует, то его полупериметр равен (a+b+c)/2.
Следовательно площадь этого треугольника равна sqrt(p*(p-a)*(p-b)*(p-c)).
СОДЕРЖАНИЕ.
А вот, как будет
выглядеть
алгоритмическое
решение этой задачи.
Начало
Ввод a, b, c.
да
(a+b>c) и (b+c>a) и
(a+c>b)
нет
p=(a+b+c)/2
S=sqrt(p*(p-a)*(p-b)*(p-c))
Вывод S
Конец
СОДЕРЖАНИЕ.
Вывод сообщения
‘такого
треугольника
не существует’
Теперь рассмотрим программу решения этой задачи на Паскале :
program treugolnik;
uses crt;
var a, b, c, p, S: real;
begin
clrscr;
writeln(‘Введите стороны треугольника a, b, c’ );
readln(a,b,c);
if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then
begin
writeln(‘такой треугольник существует’);
p:=(a+b+c)/2;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln(‘площадь такого треугольника равна’,S:8:2);
end
else begin
writeln(‘такой треугольник не существует’);
end;
readln;
end.
СОДЕРЖАНИЕ.
Источники информации
1)«Турбо Паскаль»
Киев «BHV» 1998 год издание 9-е
стереотипное.
2)«Кто такой Никлаус Вирт»
http://tgpu.tomsk.ru/stasandr/inf21/info/wirth.htm/
3)«Никлаус Вирт в России»
http://science.compulenta.ru/
СОДЕРЖАНИЕ.
СОДЕРЖАНИЕ.
Download