Тестовые задания для самоконтроля. Лабы по информатике, егэ 1 разработчиком языка паскаль является

Мы живём в веке компьютерных технологий, благодаря которым вокруг нас появляются множество определений, терминов и понятий, связанных с этой средой.

Многие люди, родившиеся в 60-70 г, с трудом понимают эти термины, так как технический прогресс произошёл внезапно и молниеносно и никто не успел угнаться за его развитием.

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

Что же такое программирование

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

Но изучив лишь одно определение невозможно понять, на чем основывается разработка программ и как ими пользоваться, поэтому возникает следующий вопрос, что есть такое «язык программирования».

Язык программирования – система знаков и правил, подобных современному языку, с помощью которых и создаются программы. Язык является основой всей сути программирования, ведь без него ничего бы не вышло. Доподлинно известно, что со времён создания первого компьютера было разработано более 8000 тысяч знаков.
Существуют различные виды программирования и соответственно различные виды языков.

В частности хотелось бы обратить внимание на язык программирования «Паскаль» .

Паскаль был разработан швейцарский учёным Никлаусом Вирт в 1871 г., и назван в честь великого французского математика и философа 17 века Блеза Паскаля , который в свою очередь изобрёл первое суммирующее устройство, что-то отдалённое и напоминающее наш современный калькулятор.

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

В последствие, язык стал расширяться, и появлялись новые его версии. Наиболее известным расширением стал пакет «Турбо-Паскаль» , который был разработан в 1983 году. Он предназначен для операционной системы CP/M.

Огромную популярность он приобрёл, благодаря переносу в среду MS-DOS. И по сей день идут разработки различных расширений. Например уже вышла 7 версия пакета расширений Турбо-Паскаля.

Приведем несколько заметок из истории языка программирования Паскаль (Pascal). Прочтя данную статью, вы узнаете, какими этапами проходила история языка Паскаль.

Само названия языка - «Паскаль» - возникло в честь одного из великих французских математиков и физиков Блеза Паскаля (1623-1662). Немного из истории жизни французского мыслителя. Блез Паскаль родился в семье известного математика Этьена Паскаля.

Отличительная черта всех его родных - необыкновенная одаренность. У него было две сестры: у старшей сестры Жильберты были в большей степени развиты математические способности и литературный талант, а у младшей сестры Жаклины - артистический дар. Свое детство Блез Паскаль провел в Париже, школу никогда не посещал.

Единственный учитель, которого Паскаль признавал, был его отец Этьен. В четырехлетнем возрасте Блез уже умел читать и писать, начал интересоваться эвклидовой геометрией, а в 15 лет уже на равных мог обсуждать с известными на тот момент парижскими учеными сложнейшие математические задачи. Из юноши Паскаля вырастал гениальный математик.

Одним из известных изобретений Блеза Паскаля стал арифмометр (паскалево колесо), который производил все арифметические действия. Он представлял собой латунный ящик с интересным механизмом (рис. ниже).

Этот арифмометр прославил Блеза Паскаля во всех западных странах. Толпы народов со старого света направлялись в Люксембургский дворец (Париж), чтобы лицезреть это уникальное приспособление того времени.

Продолжается, и в 50-е годы XX века появились первые языки программирования высокого уровня: ФОРТРАН, КОБОЛ и АЛГОЛ. ФОРТРАН и КОБОЛ они существуют и по сей день, а вот АЛГОЛ как раз и стал родоначальником языка программирования Паскаль.

Первая версия АЛГОЛа появилась в 1958 году, разработчиком которого был создатель ФОРТРАНа Джон Бэкус. Последующими версиями языка АЛГОЛ стали АЛГОЛ-60 и АЛГОЛ-68. Однако из-за громоздкости языков АЛГОЛ-60 и АЛГОЛ-68 создавались большие трудности.

Поэтому в 1965 году Международная федерация по обработке информации предложила проект нескольким специалистам ЭВМ. Необходимо было создать новый язык программирования - преемник АЛГОЛа-60.

В этом проекте и принял участие будущий создатель языка программирования Паскаль - Николас Вирт, швейцарский ученый, на тот момент доцент факультета информатики Стэнфордского университета.

Николас Вирт начал разрабатывать проект АЛГОЛ-W. Целью проекта было обучение студентов различным методам: «структурное программирование», «программирование сверху вниз» и др. В 1970 году произошли два великих события:

  1. появление операционной системы UNIX
  2. появление нового языка программирования.

Николас Вирт назвал новый язык программирования в честь французского математика XVII века Блеза Паскаля, поскольку Паскаль создал вычислительное устройство (паскалево колесо). Первая версия нового языка программирования вышла на компьютере CDC 6000.

Успех языка Паскаль:

Выдающийся успех языка Паскаль обусловлен рядом причин:

  1. Язык в естественной форме отразил самые важные современные концепции технологии разработки программ.
  2. Именно благодаря своей компактности, целостности и ортогональности понятий, язык программирования Паскаль оказался весьма легок для изучения и освоения.
  3. Несмотря на кажущуюся простоту языка, он оказался пригодным для достаточно широкого спектра приложений, для разработки очень больших и сложных программ, даже операционных систем.
  4. Паскаль весьма технологичен для реализации почти для всех (в том числе нетрадиционных) машинных текстур. Существует интересное сравнение: разработка Паскаль-транслятора почти не превышает по трудоемкости хорошую дипломную работу выпускника вуза.

Итак, Вы увидели, как протекала история языка Паскаль. Заинтересовала статья?! По своей простоте и отсутствию громоздкости, основы языка программирования Паскаль могут постигать как учащиеся высших учебных заведений, так и обычные школьники. Программирование на языке Паскаль - увлекательное занятие. Программируйте и наслаждайтесь!

Больше, применяемых сегодня, никаких языков программирования период 60-х годов не принес, зато, как только он перешел на период 70-х годов сразу же в 1970-м году был разработан Паскаль, тот самый, который и сегодня изучается в школьной программе Информатики и на котором объясняется консольное программирование.

Язык Паскаль был создан Никлаусом Виртом в 1968-1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом, представляя язык, автор указывал в качестве цели его создания - построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные. Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию. Результат этой работы - язык Модула-2. Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Вирта, язык должен способствовать дисциплинированному программированию, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров. Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. К 1980-м годам Паскаль стал основой для многочисленных учебных программ, в отдельных случаях на его основе были созданы специализированные обучающие языки программирования, так, в начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники Андрей Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.

Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

История создания языка Паскаль В 1965 году был объявлен конкурс по созданию нового языка программирования - преемника языка АЛГОЛ-60. Участие в конкурсе принял швейцарский учёный, поляк по происхождению, Никлаус Вирт, работавший доцентом на факультете информатики Стэнфордского университета. Проект предложенный им был отвергнут комиссией в 1967 году. Но Вирт не прекратил работу над созданием нового языка. Вернувшись в Швейцарию, совместно с сотрудниками Швейцарского федерального института технологии в Цюрихе, он уже в 1968 году разработал первую версию языка Паскаль. Язык назван в честь великого французского математика и механика Блеза Паскаля, в 1648 г. создавшего первую счётную машину. В 1971 г. Н. Вирт выпустил описание своего языка, а в 1975 г. было разработано руководство для пользователей Паскаля.

Pascal ABC - Система предназначена для обучения программированию на языке Паскаль и ориентирована на школьников и студентов младших курсов. Эта система призвана осуществить переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Многие концепции в Pascal ABC упрощены, что позволяет использовать их на более ранних этапах обучения. Модуль графики обходится без объектов, хотя его возможности практически совпадают с графическими возможностями Borland Delphi.

Структура программы Заголовок program NAME; Раздел описаний label; const; type; var; procedure, function; Блок основных операторов begin раздел операторов end.

Первая программа на языке Паскаль в среде Турбо Program Example_1; Var a, b, rez: Integer; Begin Write(‘Введите два числа через пробел ’); Readln(a, b); rez: = a*b; Writeln(‘Их произведение = ’, rez); End.

Пешеход шел по пересеченной местности. Его скорость движения по равнине v 1 км/ч, в гору - v 2 км/ч и под гору - v 3 км/ч. Время движения соответственно t 1, t 2 и t 3 ч. Какой путь прошел пешеход? 1. Ввести v 1, v 2, v 3, t 1, t 2, t 3. 2. S 1: = v 1 * t 1. 3. S 2: = v 2 * t 2. 4. S 3: = v 3 * t 3. 5. S: = S 1 + S 2 + S 3. 6. Вывести значение S. 7. Конец. Задание Записать программу на языке Turbo. Pascal.

ЦЕЛЫЕ ТИПЫ тип диапазон значений Shortint Integer Longint -128. . 127 -32768. . 32767 -2147483648. . 2147483647 требуемая память 1 байт 2 байта 4 байта Byte Word 0. . 255 0. . 65535 1 байт 2 байта

ДЕЙСТВИТЕЛЬНЫЕ ТИПЫ Тип Диапазон значений Количество цифр мантиссы Требуемая память (байт) Real 2. 9 e-39. . 1. 7 e+38 1. 5 e-45. . 3. 4 e+38 11 6 7 4 Single Double 5. 0 e-324. . 15 1. 7 e+308 Extended 3. 4 e-4932. . 19 1. 1 e+4932 8 10

Операции, используемые для работы с целыми переменными Знак операции Назначение Приоритет + Сложение 2 - Вычитание 2 * Умножение 1 Целая часть от деления Остаток от деления 1 div mod 1

Примеры 15 div 3 = 5; 15 mod 3 = 0; 18 div 5 = 3; 18 mod 5 = 3; 123 div 10 = 12, 123 mod 10 = 3, 7 div 10 = 0. 7 mod 10 = 7.

Пример: Дано натуральное трехзначное число n, в записи которого нет нулей. Составить алгоритм сложения цифр трехзначного числа. 1. Ввести число n 2. C: = n mod 10 {разряд единиц} 3. A: = n div 100 {разряд сотен} 4. B: = n div 10 mod 10 {десятки} 5. S: = A+B+C 6. Вывод S 7. Конец Задание: Напишите программу на языке Turbo Pascal.

При записи алгебраических выражений используют арифметические операции (сложение, умножение, вычитание, деление), функции Pascal, круглые скобки. Порядок действий при вычислении значения выражения: 1) вычисляются значения в скобках; 2) вычисляются значения функций; 3) выполняется унарные операции (унарный минус - смена знака); 4) выполняются операции умножения и деления (в том числе целочисленного деления и нахождения остатка от деления); 5) выполняются операции сложения и вычитания.

Встроенные математические функции языка Pascal Математическая запись Запись на Pascal Назначение cos x cos(x) Косинус x sin x sin(x) Синус x ex exp(x) Значение e в степени x [x] trunc(x) Целая часть числа x |x| abs(x) Модуль числа x sqrt(x) Корень квадратный из x {x} frac(x) Дробная часть числа x arctg x arctan(x) Арктанкенс числа x ln x ln(x) Натуральный логарифм x p Pi Число ПИ x 2 sqr(x) Квадрат числа x

Возведение в степень (кроме возведения в квадрат и возведения в степень числа e) отсутствует. Для возведения в произвольную степень можно воспользоваться очевидным равенством: xy=e y ln x Для возведения числа в натуральную степень можно написать собственную функцию. Например, z=xy, где x, y - натуральные, это сделать так: Z: = Round(Exp(Y * Ln(X))).

Расчёт по формуле Примеры записи математических выражений: Математическая запись 2 x – 7 x + 6 Запись на Pascal Sqr(x) - 7 * x + 6 (Abs(x) - Abs(y)) / (1 + Abs(x * y)) Ln(Abs((y - Sqrt(Abs(x))) * (x - y / (z + Sqr(x) / 4))))

Задача. Вычислить значение выражения Program Expression; Var X, Z: Real; Begin Write("Введите значения переменной X: "); Read. Ln(X); Z: = 6 * ln(sqrt(exp(x+1)+2*exp(x)*cos(x))) / ln(x - exp(x+3) * sin(x)) + abs(cos(x) / exp(sin(x))); Write. Ln("Значение выражения: ", Z: 12: 6); End.

Ветвление - такая форма организации действий, при которой в зависимости от выполнения некоторого условия совершается одна или другая последовательность действий

Оператор ветвления в полном варианте IF (условие) THEN (операторы) ELSE (операторы); условие - записывается с помощью знаков сравнения и принимает два значения: да или нет IF A>B THEN max: =A ELSE max: =B; Сложные условия составляют из простых с помощью логических операций (OR, AND, NOT) IF (A>B)AND(A>C) THEN max: =A ELSE max: =100;

Src="http://present5.com/presentation/223935287_384486868/image-22.jpg" alt="Оператор ветвления в неполном варианте IF (условие) THEN (операторы); IF B >A THEN max:"> Оператор ветвления в неполном варианте IF (условие) THEN (операторы); IF B >A THEN max: =В;

Задача 2. Дано действительное число a. Вычислить f(a), если Program Us 1; Var x, F: Real; Begin Write. Ln("Введите действительное число: "); Read. Ln(x); IF x

Задача 3. Записать логическое выражение, принимающее значение TRUE, если точка лежит внутри заштрихованной области, иначе - FALSE. Прежде всего, обратим внимание на то, что эту сложную фигуру целесообразно разбить на несколько более простых: треугольник, лежащий в I и IV координатных четвертях и треугольник, лежащий во II и III четвертях. Таким образом, точка может попасть внутрь одной из этих фигур, либо на линию, их ограничивающую. Чтобы точка попала внутрь области, необходима истинность каждого из отношений, поэтому над ними выполняется операция AND. Так вся область была разбита на несколько, то между отношениями, описывающими каждую из них, используется операция OR. Учитывая приведенные здесь соображения и записав уравнения всех ограничивающих фигуру линий, получаем искомое логическое выражение: (X >= 0) And (Y >= 1. 5 * X – 1) And (Y = – 1. 5 * X – 1) And (Y

САМОСТОЯТЕЛЬНАЯ РАБОТА Написать программу, которая вводит координаты точки (x, y) и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание на границу области считать попаданием в область.

Задача 1. Даны действительные числа x, y. Если x и y отрицательны, то каждое значение заменить модулем; если отрицательно только одно из них, то оба значения увеличить на 0, 5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку , то оба значения уменьшить в 10 раз; в остальных случаях x и y оставить без изменения. Разработаем алгоритм решения задачи, после чего напишем программу. Алгоритм запишем словесно: 1)ввести значения x, y; 2) если x

Program Usl; Var X, Y: Real; Begin Write("Введите два действительных числа "); Read. Ln (X, Y); If (X = 0. 5) AND (X = 0. 5) AND (Y

ОПЕРАТОР ВЫБОРА Кроме условного оператора в качестве управляющей структуры довольно часто используется оператор выбора CASE. Эта структура позволяет переходить на одну из ветвей в зависимости от значения заданного выражения. Оператор выбора позволяет заменить несколько операторов развилки. Запись оператора выбора CASE K OF A 1: серия 1; A 2: серия 2; . . . AN: серия N ELSE серия N + 1 END;

Задача 1. В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Написать программу, которая позволяет ввести номер года и печатает его название по старояпонскому календарю. Справка: 1996 г. - год крысы - начало очередного цикла. Поскольку цикл является двенадцатилетним, поставим название года в соответствие остатку от деления номера этого года на 12. Program Goroskop; Var Year: Integer; Begin Write("Введите год "); Read. Ln(Year); CASE Year MOD 12 OF 0: Write. Ln("Год Обезьяны"); 1: Write. Ln("Год Петуха"); 2: Write. Ln("Год Собаки"); 3: Write. Ln("Год Свиньи"); 4: Write. Ln("Год Крысы"); 5: Write. Ln("Год Коровы"); 6: Write. Ln("Год Тигра"); 7: Write. Ln("Год Зайца"); 8: Write. Ln("Год Дракона"); 9: Write. Ln("Год Змеи"); 10: Write. Ln("Год Лошади"); 11: Write. Ln("Год Овцы") END; END.

САМОСТОЯТЕЛЬНАЯ РАБОТА 1) Написать программу, позволяющую по вводимому номеру дня недели вывести название дня. 2) Для двух целых чисел надо определить, является ли их сумма четным числом или нет. Для проверки четности используем условие: остаток от деления на 2 четного числа равен 0. Д/З Составить программу, которая по введенному номеру месяца выводит на экран название времени года.

Задача 2. Составить программу, которая по введенному номеру дня недели выводит на экран его название. Program days; Var day: integer; Begin Write(‘Введите номер дня недели’); Readln(day); Case day of 1: writeln(‘Понедельник’); 2: writeln(‘Вторник’); 3: writeln(‘Среда’); 4: writeln(‘Четверг’); 5: writeln(‘Пятница’); 6: writeln(‘Суббота’); 7: writeln(‘Воскресенье’) else writeln(‘Такого дня нет’); end.

Пример. Составить программу, которая по введенному номеру месяца выводит на экран название времени года. Program m; Var k: byte; Begin Write(‘Введите номер месяца’); Readln(k); Case k of 1, 2, 12: writeln(‘Зима’); 3, 4, 5: writeln(‘Весна’); 6, 7, 8: writeln(‘Лето’); 9, 10, 11: writeln(‘Осень’) else writeln(‘Такого месяца нет’); end.

Контрольные вопросы 1) Какую управляющую структуру Паскаля нужно использовать, если проверяемое выражение может принимать несколько возможных значений, и в каждом случае необходимо выполнять разные действия? 2) Чем отличается линейный алгоритм от ветвления? 3) Какие ключевые слова используются в Паскале для организации ветвления? 4) Чем полное ветвление отличается от неполного? 5) Как оформлять текст программы, чтобы он был понятнее? 6) Что необходимо использовать, если в случае истинности некоторого условия нужно выполнить несколько операторов? 7) В каком случае количество операторов begin в программе не должно соответствовать количеству операторов end?

Среди множества языков программирования, предназначенных для обучения именно навыкам программирования, есть один, выделяющийся особо. Язык Паскаль, названный в честь французского ученого XVII столетия Блеза Паскаля, был разработан в конце 1960-х гг. ученым из Швейцарии Никлаусом Виртом, и далеко не с образовательной целью, как этот язык воспринимают теперь.

Наоборот, в те времена ученые пробовали разные языки программирования для практического применения. И позже этот ученый позднее создал ещё два языка программирования – Оберон и Модула, которые, правда, не получили распространения среди специалистов. Если быть точным, то 1968 году была создана первая версия языка Паскаль (на основе АЛГОЛа), а 1970 году – первый компилятор.

Особенностью Паскаля является его структурная направленность – любую программу здесь можно описать в виде объединения отдельных структурных элементов, или блоков, в единое целое. Это так называемое структурное программирование, сменившее линейное программирование – простейшую организацию написания программ, когда команды процессору записываются одна за другой, без какой либо структуры.

Идея структурного программирования оказалась как актуальной на то время, так и очень плодотворной, поскольку далеко не для всех задач удается написать программу посредством указания последовательности простых команд, без разъединения последних на отдельные блоки. Действительно, только при наличии определенной структуры программы можно судить об эффективном алгоритме решения задачи.

Особенно это стало ясно после того, когда около 1970-го года профессор Хоар опубликовал две статьи: «Аксиоматическая основа программирования для вычислительных машин» и «О структурной организации данных», в которых делается попытка осмыслить правильность составления алгоритмов программ с математической точки зрения. Как раз язык программирования Паскаль и является первым из языков, в котором имеются все необходимые инструменты для проверки эффективности написанных программ.

Ещё одной отличительной особенностью Паскаля является его строгая типизация данных, среди которых возник новый ранее не использовавшийся тип – перечислимый. Фактор строгой типизации сделал репутацию Паскалю как дисциплинирующего языка, приучающий программиста к логическому мышлению.

В Паскале допускается несвязанность программного кода (в отличие от тогдашних языков COBOL и FORTRAN), то есть допускается сколь угодно большое наличие пустых строк, что удобно при форматировании при написании комментариев. Программу на Паскале можно написать хоть в одну строчку – она все ровно будет работать, если написана в соответствии с правилами.

Но с распространением этого языка программирования оказалось, что в нем не хватает многих привычных для нас элементов – возведения в степень, понятия локальной переменной, динамических массивов, возможность использования машинного языка и др. Наиболее известным выражением этого недостатка того времени является статья Кернигана «Почему Паскаль не является моим любимым языком программирования».

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




Top