Обучение программированию в паскале abc с нуля. Язык программирования Паскаль(Turbo Pascal). Обучающие уроки

Обучение программированию в паскале abc с нуля. Язык программирования Паскаль(Turbo Pascal). Обучающие уроки

Алгоритмизация и программирование являются одной из трудных для понимания учащимися тем в предмете информатика, а при наличии дефицита часов, выделяемых на изучение предмета, перед учителем встает довольно сложная задача «Как познакомить хотя бы с основами программирования всех учащихся, в том числе и непрофильных классов?». Между тем, как мы видим и в новых стандартах и в демо-версии ЕГЭ по информатике эта тема занимает существенное место. Предлагаемые ниже материалы помогают познакомить ребят с основными алгоритмическими конструкциями и реализацией их на языке программирования Паскаль и дать начальное представление о языке. Заинтересовавшиеся учащиеся могут в дальнейшем продолжить изучение языка программирования на спецкурсе.

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

Начальная подготовка учащихся.

  • Знание основных алгоритмических конструкций: линейный алгоритм, ветвление, цикл.
  • Знание основных типов переменных.
  • Знание структуры программы на Паскале.

Ход урока.

Перед каждым уроком учитель раскладывает на столах «Папки ученика», в которых находятся листы с заданиями, таблица «Реализация элементов блок – схемы алгоритма на языке Паскаль», «Алгоритм создания программы по шаблону» и другой справочный материал. Если предполагается создание программы по шаблону, т.е. ученики редактируют уже имеющуюся программу, то соответствующий файл *.pas с текстом программы должен находится на жестком диске в соответствующем каталоге.

Для знакомства с реализацией алгоритмической конструкции средствами языка используется сайт (см. Приложение1)

Обсуждается задание, проговаривается сценарий, составляется блок-схема алгоритма.

В качестве заданий на ветвление и циклы взяты задачи по физике, так как программирование изучается на уроках интегрированного с физикой курса «Компьютерное моделирование физических процессов и явлений» в 9 классе.

Описание приложений.

  • Адрес сайта «Паскаль для начинающих» - http://schools.keldysh.ru/gym1522/inform/pascal/ Немного сокращенный вариант находится в архиве (Приложение1.zip). Сайт выполнен с использованием флэш-технологии, позволяет в анимационной форме дать начальное представление о языке Паскаль 7.0 Для демонстрации надо разархивировать в каталог на жестком диске. Главная страница сайта – index.html
  • Тексты программ для создания программ по шаблону – файлы Приложение2.pas и Приложение3.pas. Их надо переименовать в Shablon1.pas и Shablon2.pas и поместить в соответствующий каталог на диске.

Использованная литература дана в Приложении 1 на сайте в разделе «ссылки».

Реализация элементов блок – схемы алгоритма на языке Паскаль.

Элемент блок схемы

В программе

Действия

Начало работы программы
(служебное слово)

Конец работы программы
(служебное слово)

На экране появляется надпись: введите A, B
(оператор вывода данных)
На экране появляется значение переменной C.
(оператор вывода данных)

WRITE (‘результат=’,S)

На экране появляется текст результат= и значение переменной S.
(оператор вывода данных)
Надо вводить два числа с клавиатуры
(оператор ввода данных)
C:=4*T ;
D:=A+B;
I:=I+1;
После выполнения операторов, переменным присваиваются следующие значения: C=4T, D=A+B, I=I+1 (операторы присваивания)
IF A>B THEN

BEGIN
ОП.1
END

BEGIN
ОП.2
END

Если условие A>B верно, то выполняется группа операторов ОП.1 , в противном случае – группа операторов ОП.2 (условный оператор)
WHILE I<=N DO

BEGIN
ОП.1
END

Пока будет выполнено I? N , выполняется группа операторов ОП.1
(оператор цикла с предусловием, ОП.1 – тело цикла)
REPEAT
ОП.1
UNTIL I>N
Выполняется группа опера-торов ОП.1 до тех пор, пока не будет выполнено условие I>N.
(оператор цикла с постусловием, ОП.1 – тело цикла)
FOR I:=1 TO N DO

BEGIN
ОП.1
END

Для каждого I от 1 до N выполняется группа операторов ОП.1
(оператор цикла с параметром, I – параметр цикла)

Линейный алгоритм. Простейшая программа (ввод/вывод данных, вычисление суммы, разности, произведения и частного двух чисел).

Для выполнения задания можно использовать приведенный ниже текст программы или заранее подготовленный учителем файл Shablon1.pas (файл Приложение2.pas) с текстом программы, который находится в каталоге CLASS (там же находятся личные папки учащихся). Ученик проставляет вместо вопросительных знаков необходимые операторы и служебные слова. Комментарии в фигурных скобках поясняют, что необходимо сделать. Программа состоит из двух частей. В первой части программы демонстрируется использование операторов ввода и вывода, во второй, после комментария {ЗАДАНИЯ}, ученику надо самому записать необходимые операторы, используя приведенную выше блок-схему и комментарии в программе. Алгоритм создания программы по шаблону дан ниже.

Текст программы по линейному алгоритму

{Объявление переменной S для ввода имени, надо указать тип переменной - строковый}

{Объявление переменных A и B для ввода чисел, надо указать тип переменных - целые числа со знаком}

{Объявление переменной C для вывода результата, надо указать тип переменной - все действительные числа}

{Начало раздела инструкций}

{Оператор вывода на экран сообщения (просьба ввести имя)}

WRITE ("Введите свое имя");

{Оператор ввода данных (значение переменной S = имя пользователя)}

{Вывод на экран сообщения (приглашения к работе) – слово "Привет" и значение переменной S (введенное пользователем имя)}

WRITELN ("Привет, ", S);

{ЗАДАНИЯ:}

{1)Запишите оператор вывода на экран приглашения к вводу 2 чисел (переменные A и В)}

{2) Запишите оператор ввода для переменных A и В}

{3) Запишите оператор присваивания для вычисления значения переменной С (сумма, разность, произведение, частное двух чисел)}

{4) Запишите оператор вывода на экран результата вычислений (сумма (разность, произведение, частное) = <значение переменной>}

Ветвление. Моделирование равномерного прямолинейного движения двух тел.

Построить компьютерную модель движения двух тел.

I. Найти скорость сближения (удаления) 2-х тел.

Рассмотреть случаи:

1. Тела двигаются в одном направлении.

2. Тела двигаются в противоположных направлениях.

  • Скорости вводятся с клавиатуры после вывода на экран соответствующего приглашения.
  • Направление движения каждого тела задаются буквами (L – влево, R – вправо)
Введите скорость 1 тела 10

Введите скорость 2 тела 5

Введите направление 1 тела L

Введите направление 2 тела R

Скорость равна 15

II. Добавить ввод начальных координат тел и определить сближаются или отдаляются тела.

III. Определить расстояние между телами через время t (ввести с клавиатуры).

IV. Выводить на экран текущие координаты тел.

V. Выводить на экран картину движения тел.

Примечания:
  • блок-схема и заготовка для программы даны для I;
  • II, III – повышенного уровня;
  • IV, V – после изучения темы «Циклы».

Текст программы на ветвление

{Объявление переменных V1, V2 и V для значений скоростей, тип переменных - целые числа со знаком }

VAR V1, V2, V: ??? ;

{Объявление переменных A1 и A2 для значений направлений, значения переменных - символы}

VAR A1, A2: ??? ;

{Начало раздела инструкций}

{Оператор вывода на экран сообщения (просьба ввести скорость первого тела)}

WRITE ("Введите скорость 1 тела");

{Оператор ввода данных (значение переменной V1)}

{Тоже для второго тела}

{Аналогично осуществить ввод направлений движения}

WRITE ("Введите направление 1 тела");

{Условный оператор: проверка условия равенства значений переменных A1 и A2}

IF A1 = A2 THEN V:= V1 - V2 ELSE V:= V1 + V2;

{Определение модуля вектора ABS – функция вычисление абсолютной величины}

{Оператор вывода на экран результата вычислений }

{Конец программы, конец раздела инструкций}

Текст программы находится в файле Приложение3.pas ( в кодировке MS DOS). Его надо переименовать в Shablon2.pas и можно использовать при создании программы по шаблону (см. алгоритм ниже).

Алгоритм создания программы по шаблону.

1. Войти в систему программирования Turbo Pascal 7.0.

2. Открыть файл ShablonK.pas (K - номер шаблона):

2.1. File -> Open

2.2. Перейти в каталог CLASS (в списке Files выбрать ..\)

2.3. Выбрать файл ShablonK.pas (K - номер шаблона)

2.4. Подтвердить выбор (Open )

3. Выполнить задание, заменяя ???? .

4.1. (File -> Save as)

4.2. Убедится, что находитесь в своем каталоге (нижняя строчка)

4.3. Ввести имя файла

4.4. Подтвердить сохранение (Ok )

5. Запустить программу (Run -> Run или Ctrl+F9 )

6. При наличии ошибок, внести изменения в программу и повторить пункт 5.

7. Просмотреть результат выполнения программы (Debug User Screen или Alt+F5 )

9. Выйти из системы программирования (File -> Exit или Alt+X )

Для циклического алгоритма уже текст программы не дается. Учащиеся должны сами составить программу по блок – схеме.

Циклы. Моделирование равноускоренного движения.

Pascal (Паскаль)- язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada. Идеи языка Pascal оказали большое влияние на современные языки программирования, которые активно используются в современной промышленности: Java, Javascript, C#. При этом Pascal значительно проще и хорошо приспособлен для начального изучения программирования. Описание языка дано в соответствии с диалектом языка фирмы Borland Software (США): Turbo Pascal 7.1. (1992).

Часть I.

1. Основные правила грамматики

1.Текст программы состоит из трех составных частей. Этозаголовок,описания,операторы. Заголовок программы содержит имя программы. Для версии ETH необходимо дополнительно указать источник и приемник данных для работы программы - файлы для ввода и вывода информации. По умолчанию файлinputсвязан с клавиатурой компьютера, а файлoutput- с экраном монитора. В Turbo Pascal заголовок имеет декоративное значение и использовать его не обязательно.

2.Описания- это символьные конструкции для описания свойств объектов программы. Все объекты программы надо обязательно указать в этой части программы.Операторы- это символьные конструкции для описания действий над объектами программы. Операторы должны находиться между словамиbeginиend. Эти слова считаются скобками.

3.В одной строке текста можно размещать несколько операторов или описаний. Поэтому между операторами надо обязательно ставить символ-разделитель. Для разделения операторов используется символточка с запятой(;). После последнего оператора разделитель ставить не обязательно.

4.Малые и большие буквы считаютсяэквивалентными(равнозначными). Имя любого объекта в записи программы может содержать толькобуквылатинского алфавита,цифрыисимвол подчеркивания(_). Имя не может начинаться с цифры. Никакие другие типы символов в записи имен не разрешаются.

2. Общее строение программы

Построить модель равноускоренного движения тела (X=X 0 +V 0 t+At 2 /2).

I.. Тело двигается по прямой. Выводить на экран координату тела через каждые 10 секунд движения.

Исходные данные (задаются с клавиатуры):

1. Начальная скорость тела (V0, м/с ).

2. Ускорение тела со знаком (A, м/с 2 ).

3. Начальное положение тела (X0 , м ).

4. Время движения (TK, с ).

Расчетные данные (выводятся на экран):

1. Текущее положение тела (X, м ).

2. Текущее время движения (T, с ).

Примерный вид экрана при работе

Введите скорость тела 10

Введите ускорение тела 2

Введите нач. положение тела 0

Введите время движения тела 200

T = 0 X = 0Writeln (‘T = ‘,T,’ X = ‘,X) ;

T:=T+10; end;

X:=X0;

X:=X0+V0*T+A*T*T/2;

Writeln (‘T = ‘,T,’ X = ‘,X) ;

Until T>=TK;

X:=X0; T:=0; N:=Trunc(TK/10);

For i:=0 to N do

X:=X0+V0*T+A*T*T/2;

Writeln (‘T = ‘,T,’ X = ‘,X) ;

«Паскаль ABC» - система обучения, которая позволяет школьникам и студентам ознакомиться с одноименным языком программирования. Она разработана в 2002 году российскими учеными. Задачей разработчиков было создать среду программирования, которая отвечала бы меркам современности и могла бы с легкостью обучать учеников.

Интерпретатор рассчитан на 32-битные системы и вмещает в себя способы реализации некоторых возможностей. Притом что исходные были признаны ненужными для обучения.

Компилятор позволяет использовать упрощенные виды языковых конструкций, что облегчает переход от базовых программ к модульным и объектно ориентированным.

Программа «Паскаль ABC» с версии 3.0 стала свободным программным обеспечением.

Особенности

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

Компилятор способен выполнять код настолько быстро, как это делает C#, и немного медленнее, чем C++, «Делфи».

Благодаря платформе.NET, программное обеспечение поддерживает все возможности Microsoft.NET и ее же библиотеки. Можно смело использовать последние в своих программах, опираясь даже на те, которые созданы на другом языке программирования.

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

Среди многих программистов есть мнение о том, что "Паскаль" - язык мертвый, и прекращение его использования - дело времени. Это утверждение основано на том, что в школах используют старую среду программирования с урезанными возможностями. Это и мешает ученикам по достоинству оценить все функции языка.

Модули для обучения

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

Для того чтобы обучить школьников, используются модули «Робот» и «Чертежник». Они имеют больше 200 примеров, которые подлежат автопроверке. Благодаря решению данных задач, человек с легкостью освоит базовые конструкции языка «Паскаль».

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

Для того чтобы создать графические элементы в программе «Паскаль ABC», используются модули векторной и растровой графики.

Отличия

Среда программирования имеет дизайнер форм, благодаря которому можно создать оконное приложение. В отличие от других компиляторов, данный не имеет слишком объемного и мудреного интерфейса, не создает множество дополнительных файлов. Взаимодействуя с одной небольшой программой, «Паскаль ABC» формирует лишь один элемент на диске.

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

Задачи

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

  • Begin.
  • Writeln(‘Привет, Мир!’).

Первая и последняя строки - операторные скобки, в которых должна находиться сама суть задачи. Вторая - объявляет вывод текста, находящегося в кавычках. Вот такие легкие примеры. «Паскаль ABC» имеет в своем задачнике много подобных программ, на которых просто и интересно учиться.

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

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

1. Подготовка к работе

Итак, вы решили научиться программировать и начать с языка наиболее для этого подходящего – Pascal. Для начала работы вы должны приобрести (скачать) компилятор.

А что же собственно, такое, этот «компилятор» ? Это специальная программа, которая считывает код программы, а затем переводит его на язык машинных кодов. То есть, по сути, все языки программирования – это способ “общения” с компьютером, а компилятор помогает перевести нашу “речь” на понятную ему.

Для Pascal существует немало компиляторов, самые известные из них: Pascal ABC, Free Pascal, Pascal ABC.NET, Turbo Pascal. Все эти программы по-своему хороши, но лично для меня (автора), очень удобен Pascal ABC (или Pascal ABC.NET), поскольку он имеет весьма удобный интерфейс, подробную справку, и даже специально подготовленный для новичков сборник задач.

2. Начало работы

Что ж, перед нами открыто окно компилятора. Чистый, белый (или синий?) лист. Здесь и будут появляться на свет наши первые программы. Перед началом работы следует запомнить, что язык Pascal – это совокупность трёх составляющих: алфавита, синтаксиса (правил написания объектов языка) и семантики (правил использования этих объектов).
Алфавит Pascal состоит из:
  1. Прописных и строчных букв латиницы: A...Z, a…z;
  2. Цифр: 0...9;
  3. Специальных символов: + - * / = < >.,:; ‘ # () { } и их комбинаций: «>=» «
Задача же синтаксиса и семантики состоит в том чтобы, правильно написать раздел программы и правильно составить ее структуру, в противном же случае наша программа будет работать неправильно (или же не работать вовсе!).
Вам наверное уже не терпится приступить к самой интересной части, так что сейчас мы с вами попробуем написать ваши первые программы.

Структура программы выглядит так:

Program «имя программы»; - заголовок программы;
(Примечание: в конце строки ставится точка с запятой, не во всех, но в большинстве)
Uses (название библиотеки); здесь подключаются библиотеки, которые дают дополнительные возможности при создании программ;
Label (имя метки); здесь, если необходимо, прописываются метки, позволяющие переходить в разные места программы (о них позже);
Const тут указываем переменные с постоянной величиной, например, p=3.14;
Var тут через запятую перечисляем все переменные, а затем, указываем тип данных (Пример: Var: K, L, M: integer; N, O: real; (если несколько типов));
Begin (здесь без точки с запятой)
Дальше следует основной блок программы;
end. – конец программы (обязательно после “end” точка, если только это конец программы, а не операторные скобки).

3. Создание первых программ

Теперь вы знакомы с основной структурой программы. Следует заметить, что из вышеперечисленных разделов обязательными есть только «Var», «Begin» и «end», остальные же могут применяться, если это требуется в ходе выполнения поставленной задачи.

Откройте окно вашого компилятора, и введите следующие строки:

Program Programma1;
begin
end.

Нажмите кнопку «Выполнить»(«Run»). Ничего не происходит? Так и есть, ведь наша программа «пустая», мы не указали что она должна делать, потому ничего и не произошло. Обычно принцип работы программы написанной на языке Pascal состоит из трёх этапов: ввод данных – обработка данных – вывод даннных. Теперь познакомимся с оператором “write”. Он служит для как раз для вывода данных без перехода на новую строку. Попробуем его применить, тем самым сделав нашу программу чуть сложнее и интереснее:

Program Programma1;
begin
write(" Pascal ");
end.

Собственно, так он и применяется. Между апострофами мы можем ввести любой текст, на любой раскладке, и после выполнения программы он появится в окне вывода (или в командной строке, смотря какой у вас компилятор). В данном случае, должно появиться слово «Pascal».

3.1. Операторы write, writeln, read, readln
Теперь поговорим о вводе данных. Мы уже познакомились с оператором write, но существуют также и другие. Writeln, к примеру, используется для вывода данных с переходом на новую строку. Зачем? Ну, например чтобы дать какой-нибудь переменной значение:

Program Programma1;
var A:integer;
begin
writeln("A= "); read(A); {ввести значение и «прикрепить» его к переменной A}
write(A); {Вывести значение переменной A}
end.

Как вы видите, я вкратце описал каждое действие в фигурных скобках. Это называется комментарий. В дальнейшем я также буду использовать их для объяснений.
В этом примере для присваивания к переменной значения, введенного с клавиатуры используется оператор read. Мы видим, что при выполнении он прочитал строку в переменную А. А другой оператор, readln работает по другому. Используя его, мы можем сразу ввести нужную строку, и она прочитается в переменную:

Program Programma1;
var A:integer;
begin
readln(A);
write("A= ", A); {строка будет выглядеть так: «А= " введенное значение А " „}
end.

Теперь, когда вы немного знаете о вводе данных, поговорим о том, какие могут быть данные, и как их обрабатывать.

3.2. Типы данных в Pascal
Пока вы читали эту статью, вы, наверное, уже пару раз натыкались на непонятное вам integer. Внимательно изучив основную структуру программы, вы наверняка поняли, что это тип данных. Но что это означает? Давайте поближе с этим познакомимся.

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

Целые типы данных (для целых чисел):
- byte
Объем памяти значений этого типа составляет 1 байт. Диапазон значений для данного типа: от 0 до 255.
- word
Значения этого типа занимают уже 2 байта памяти, а диапазон значений уже побольше: от 0 до 65535.
- integer (уже нам знакомый)
Значения также занимают 2 байта памяти, диапазон такого же размера, но включает уже и отрицательные числа: -32786…32787.
- LongInt
Объем памяти, занимаемый значением типа равняется 4 байтам. Диапазон значений же полностью соответствует названию типа данных: от -2147483648 до 2147483647
- ShortInt
Значение типа потребляет 1 байт памяти, диапазон относительно небольшой: -128…127.

Вещественные типы данных (для чисел с дробной частью):
- Real
Занимаемая значением типа – 6 байт. Число значащих цифр – 11-12. (значащие цифры – это точные цифры, т.е. не округленные). Диапазон значений типа: от 2.9*10-39 до 1.7*1038.
- Double
Размер значения типа – 8 байт. Число значащих цифр – 15-16. Диапазон: 5.0*10324…1.7*10308.
- Extended
Занимает 10 байт. Число значущих цифр – 19-20. Диапазон: 3.4*10-4932…1.1*104932.
Помимо этих, существуют также символьный тип данных (char) и даже логический тип данных (boolean), переменные которого могут принимать значения только true или false.

Итак, мы уже немало узнали о вводе и выводе данных. Теперь же перейдем к самой сложной части – обработке данных.

3.3. Обработка данных. Математические операции. Условия. Логические операции.
Мы уже научились вводить данные в программу, теперь попробуем научиться их обрабатывать. Первое, и самое главное, что нам пригодится в этом деле – оператор присваивания. Выражается он вот так: «:=», и используется для присваивания значения переменной. Примеры: A:=1.5; B:=2+A. Теперь, когда мы знакомы с оператором присваивания, можем рассмотреть математические операции Pascal:
  1. Сложение (+);
  2. Вычитание (-);
  3. Умножение (*);
  4. Деление (/);
  5. Целочисленное деление (div) – возвращает целую часть от деления (Пример: 10 div 3 = 3);
  6. Остаток от деления (mod) – возвращает только остаток от деления (Пример: 5 mod 2 = 1);
Помимо приведенных, существуют еще такие операции и функции для работы с числами:

Abs(x) – возвращает модуль от x;
sin(x) – синус угла x (в радианах);
cos(x) – косинус угла x (в радианах);
int(x) – возвращает целую часть от x;
random(число) – случайное число от 0 до заданного;
sqr(x) – квадрат x;
sqrt(x) – квадратный корень x;
inc(x) – увеличить x на 1;
dec(x) – уменьшить x на 1.

Условия
Условия в Pascal играют очень большую роль, особенно если алгоритм выполнения программы разветвленный. Формулируется условие следующим образом:

If (условие 1) then (действие 1 - основное) else (действие 2 - альтернативное)
(if – если, then – то, else – иначе)

При построении условия пользуются логическими операциями and, not, or, xor:

And – операнд, объединяющий несколько условий в одно. Действие будет выполняться, только если все перечисленные условия будут верны.
program Usloviya;
var a:integer;
begin
readln(a);
if (2*2=4) and (3+2=5) then a:=a+1 else a:=a-1;
write(a);
end.

На этом примере мы видим, что все условия, перечисленные через and верны, потому выполнялось только первое действие, идущее через than. Если хотя бы одно условие не было верно, тогда выполнилось бы второе действие.

Not – логическое действие с условием из одной части. Если условие неверно, то будет выполняться основное действие (первое), если верно – то альтернативное (второе).

Program Usloviya;
var b:integer;
begin
readln (b);
if not 5=4 then b:=b+1 else b:=b-1;
write (b);
end.

Условие 5=4 неверно, следовательно, будет выполняться первое действие.

Or (или) – логический оператор для условия из нескольких частей. Основное действие будет выполняться, если верно хотя бы одно условие.
program Usloviya;
var d:integer;
begin
readln (d);
if (5=4+1) or (5=4) then d:=d+1 else d:=d-1;
write(d);
end.

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

Xor – с этим оператором основное действие выполняется, если верно только одно условие. Если верны несколько условий, или же ни одного, то выполнится альтернативное действие.

Program Usloviya;
var n:integer;
begin
readln(n);
if (6=4) xor (3=5-2) then n:=n+1 else n:=n-1;
write (n);
end.

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

Теперь мы с вами знакомы и с основами обработки данных. Осталось поговорить о некоторых дополнительные процедурах, и функциях для управления программой, которые вам не раз пригодяться при дальнейшем обучении на Pascal.

3.4. Процедуры и функции для управления программой
Поговорим о упомянутой раньше метке. Эта процедура очень легка в использовании и позволяет при надобности перейти в любую часть программы, «перескочив» одну из следующих частей, или же наоборот, вернуться в предыдущую часть. Прописывается метка очень просто: сперва описываем метку в разделе меток (см. п. 3. Начало работы. Структура программы), а затем указывается место перехода, а нужный оператор помечается меткой.

Program Metka;
label 1,2;
var A, B:integer;
begin
readln (A);
2: if A=5 then goto 1; {2: - действие после перехода на соответствующую метку,}
A:=A+1; {goto - переход на метку}
goto 2;
1: write (A);
end.

На данном примере, программа увеличивает на 1 введенное число, пока оно не станет равным пяти. Тут мы и можем проследить действие метки.

Delay(время) – остановка программы с задержкой, время в кавычках указывается в миллисекундах.
Readkey – остановка программы до нажатия клавиши, значение функции – код нажатой клавиши.
Exit – досрочное завершение процедуры.
Следует заметить, что для работы delay, readkey, и exit необходимо подключить модуль crt (uses crt).

Также посмотрите видео: Паскаль с нуля - первая программа.

4. Заключение

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

Поняв принцип работы с Pascal, вы сможете изучить и другие языки программирования, и в будущем писать уже более «серьезные» программы, чем те с которыми вы познакомились при изучении этой статьи. Продолжайте учиться! Удачи!

Язык программирования Turbo Pascal является развитием языка Pascal, разработанного Никлаусом Виртом в 1969-71 годах, для обучения структурному программированию. Фирма Borland International, существенно расширила алгоритмические средства языка, создала удобную среду программирования и высокоскоростной компилятор.
Turbo Pascal разрабатывался под операционную систему ДОС (Дисковая Операционная Система), поэтому он работает только в текстовом режиме. Среда разработки Turbo Pascal (версия 7) представляет из себя текстовый редактор и средства отладки и компиляции программы. Для переключения редактора из оконного в полноэкранный режим и обратно следует нажать одновременно клавиши Alt + Enter.

Программа на Pascal пишется в текстовом редакторе по определённым правилам. Текст программы проверяется редактором кода. Зарезервированные слова языка и определённые синтаксические конструкции выделяются цветом, что создаёт определённые удобства.

Линейный алгоритм. Типы числовых данных. Функции ввода - вывода.

Простые программы пишутся последовательно, шаг за шагом до тех пор, пока не будет получено решение задачи. Такая линейная последовательность в программировании называется линейным алгоритмом . Рассмотрим программу простого калькулятора. Пусть нам нужно сложить, вычесть, умножить и разделить два числа X и Y. В большинстве языков программирования принято объявлять участвующие в программе переменные. Это нужно для того, что бы зарезервировать фрагмент оперативной памяти компьютера для хранения объявленных данных. На рисунке показана программа калькулятора:


Рассмотрим построчно, что означают введённые в редакторе команды:
  • uses crt; - Выражение: Использовать модуль CRT. В начале программы, обычно, пишется директива uses и затем, через запятую, перечисляются модули содержащие набор необходимых функций для работы программы. CRT - модуль поддержки монитора и клавиатуры. (Важное замечание. Регистр букв текста программы не имеет значения. Так, например, можно написать uses crt; или Uses CRT; - программа будет работать и не воспримет это как ошибку). Любое выражение на Pascal должно заканчиваться знаком "точка с запятой".
  • var - (сокращённое от variable - переменная) объявления блока переменных. После команды var точка с запятой не ставится.
  • x, y, z1, z2, z3, z4: real; - перечисляем через запятую переменные необходимые для решения задачи; x и y - вводимые данные для вычислений; z1 ... z4 - переменные для хранения результатов вычислений. Двоеточие и real означает, что все перечисленные переменные объявлены как тип данных - число с плавающей запятой.
    При программировании используются различные типы данных. Ниже представлены числовые типы данных:
  • Begin - собственно начало программы. Оператор begin называется операторной открывающейся скобкой. После оператора begin точка с запятой не ставится.
  • Clrscr; - процедура очистки экрана. Эта процедура встроена в модуль CRT. В фигурных скобках {clear screen} написан комментарий к программе.
  • Write("Wwedite X: "); - функция write выводит на экран сообщение. Выводимое сообщение является аргументом функции write. Если сообщение текстовое, то оно заключается в одинарные кавычки (апострофы). К сожалению Turbo Pascal не поддерживает символы кириллицы, поэтому сообщение пришлось написать латинским шрифтом.
  • Readln(x); - функция readln получает данные с клавиатуры вводимые пользователем. При появлении этой функции в исполняемой программе, действие программы приостанавливается и она ожидает ввода данных до нажатия клавиши Enter. Сама функция readln состоит из двух частей: read - собственно чтение с клавиатуры (может использоваться самостоятельно); окончание ln - означает (line new) новая строка, после выполнения чтения с клавиатуры переводит курсор на новую строку.
    Следующие две строки в точности повторяют две предыдущие, только выводится сообщение для ввода переменной Y и чтение этой переменной с клавиатуры.
  • z1:= x + y; - вычисляем сумму аргументов х и у. Знак:= означает переменной z1 присвоить значение суммы х и у.
  • z2:= x - y; - вычисляем разность аргументов х и у.
  • z3:= x + y; - вычисляем произведение аргументов х и у.
  • z4:= x + y; - вычисляем частное от деления аргументов х и у.
  • Writeln(z1) - так же, как и оператор write выводит сообщение на экран, ln - означает, что следующее сообщение будет выводиться с новой строки. Так как переменная z числового типа, то апострофы ставить не нужно. Итак, функции Writeln(z1); Writeln(z2); Writeln(z3); и Writeln(z4); выводят на экран все значения z в столбик.
  • End. - оператор конца программы. После end (операторная закрывающаяся скобка, парная оператору begin) ставится точка. Точка является признаком конца файла.
        Что бы убедиться в правильности написания программы следует нажать клавишу F9. Произойдёт компиляция программы и проверка синтаксиса. Если код написан верно, то увидим следующее сообщение:


    Если компилятор обнаружит ошибку, то появится соответствующее сообщение, а курсор будет установлен в строку с ошибкой.


    В нашем случае строка z4 = x / y; - должно быть z4:= x / y;
    Для запуска программы на исполнение, следует нажать комбинацию клавиш Ctrl и F9. В программе следует ввести значение х и нажать Enter, затем ввести значение у и опять нажать Enter. Компьютер произведёт необходимые вычисления и выведет значения на экран, но мы, скорее всего, ничего не увидим, потому что выполнение программы закончится и произойдёт возврат в редактор. Для просмотра полученных результатов следует нажать одновременно Alt и F5.


    То, что мы видим на экране не совсем удобно для понимания. Лучше будет, если результаты отображать не экспоненциальном виде, а в нормальном, десятичном.
    Так же, пользователь программы вынужден догадываться в какой строке результатов сложение, в какой умножение и так далее. Для исправления ситуации изменим строки вывода результатов на экран:
    writeln("X + Y = ", z1:0:4);
    writeln("X - Y = ", z2:0:4);
    writeln("X * Y = ", z3:0:4);
    writeln("X / Y = ", z4:0:4);
    Рассмотрим любую из изменённых строк, например writeln("X / Y = ", z4:0:4); Функция вывода writeln в качестве аргумента (в нашем случае) принимает два значения. Аргументы друг от друга отделяются запятой.
    Первое значение: "X / Y = " - надпись которая будет выводиться на экран, она должна быть заключена в апострофы. Второе значение - число z4. Для придания числу десятичной формы отображения, оно отформатировано по следующей схеме: двоеточие - число знаков до запятой, двоеточие - число знаков после запятой. Если число знаков до запятой неизвестно, то лучше поставить ноль.
    Усовершенствованная программа принимает удобочитаемый вид:


    До оператора end можно ввести строку readln;, тогда программа не будет завершаться сразу после выполнения, а будет ожидать нажатия клавиши Enter. Для сохранения готовой программы следует нажать F2 и сохранить файл с именем, например, calc.pas.

    Логические операторы. Символьные переменные.

    При выполнении написанной программы могут возникнуть непредвиденные обстоятельства, а именно, если пользователь программы вторым числом введёт значение 0 (нуль). Как известно, деление на 0 запрещено и при выполнении программы компьютер выдаст такое сообщение:


    Что бы избежать таких ситуаций, программист должен предусмотреть в программе некоторую защиту.
    Самое простое решение, в нашем случае, при значении Y равном нулю, перейти к началу программы, что бы пользователь ввёл другие значения. Перечислим те действия, которые должна выполнить программа:
    - если Y равно 0 то перейти к метке в начале программы, иначе (Y не равен 0) выполнить математические действия.
    На языке Pascal это будет выглядеть так: if y = 0 then goto label1 else ...
    Эта запись означает: (if) если y = 0 (y = 0 - логическое выражение) then (то) goto (перейти к) label1 (имя метки) else (иначе) ... Оператор else можно не использовать если дальнейшее выполнение программы подразумевается при невыполнении условия логического выражения. Метка label1 придуманное имя метки, поэтому мы должны его объявить до начала программы, сразу за разделом объявления переменных. Сама метка устанавливается в том месте программы, куда должен осуществиться переход. После имени метки ставится знак двоеточие. Изменённая таким образом программа показана на рисунке:


    Такая программа имеет более "товарный" вид и свойства.
    Рассмотрим подробно какие конструкции можно создавать на языке Pascal с использованием логических операторов. В общем виде логическая запись выглядит так:
    if (условие) then (действие1) else (действие2);
    или
    if (условие) then (действие);
    Сначала рассмотрим запись условий:

    Логические связки записываются между логическими условиями, сами условия берутся в скобки, например: if (a = b) and (z Следует иметь в виду что при выполнении условия, после оператора then может быть только одно действие. Если действий по условию программы должно быть больше, то все действия должны быть взяты в операторные скобки begin ... end.
    Например:
    if a = b then
      begin
      writeln("Error!");
      y:= 22;
      goto label1;
    end else ...
    Аналогичным образом несколько действий записывается после оператора else.
        Написанная нами программа "калькулятор" имеет один существенный недостаток, если нужно произвести несколько вычислений, приходится перезапускать программу на выполнение. Изменим нашу программу так, что бы она завершалась с согласия пользователя. Пользователю следует предложить нажать клавишу Y для продолжения работы с программой, или любую другую клавишу для завершения работы.
    Заменим последний в программе оператор readln; на такие строки:
      write("Repeat - Y / End - other key"); {Выводим сообщение для пользователя}
      readln(sym); {Считываем символ с клавиатуры}
      if (sym = "Y") or (sym = "y") then goto label1; {Если введён символ Y или y , то переходим к началу программы}
    В нашей программе появилась новая переменная - sym (вымышленное имя, которое придумываем мы сами. Имя должно начинаться с буквы, а затем могут следовать цифры или буквы). Эта переменная имеет тип одиночного символа и мы должны её объявить в разделе переменных. Символьные переменные имеют тип char. Символьные переменные при использовании в программе следует заключать в апострофы.
    Добавим эту переменную в разделе var:
    var
    sym: char;
    .............
    Запустим программу на исполнение, и убедимся, что программа написана правильно:


    В паскале есть ещё один тип символьных переменных, это тип string - строка состоящая максимум из 255 символов, но об этом в следующих разделах.

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

  • program имя(ввод,вывод);

    program echo(input ,output );

    описания;

    var n: integer;

    оператор;

    write("число?");

    оператор;

    оператор

    Turbo Pascal-Delphi

    program имя;

    program echo;

    uses crt;

    описания;

    var n: integer;

    оператор;

    clrscr; read(n);

    оператор;

    оператор

    3. Основные типы переменных

    Описатель типа (имя)

    Значение типа (пример)

    Символьный (литерный)

    Строковый

    Логический (булевский)

    Интервальный



    © 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows