Воробьев Кирилл Белоусов Роман 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/ СОДЕРЖАНИЕ. СОДЕРЖАНИЕ.