коды для pascal abc net
Коды для pascal abc net
Эта программа на подобие PAINT.
procedure keydown(key: integer);
begin
if key=Vk_up then S:=S+1;
if key=Vk_down then S:=S-1;
if key=Vk_left then A:=A-1;
if key=Vk_right then A:=A+1;
if A=0 then A:=A+1;
if A=11 then A:=A-1;
if S=0 then S:=S+1;
if S=10 then S:=S-1;
end;
procedure MouseDown(x,y,mb: integer);
begin
MoveTo(x,y);
end;
procedure MouseMove(x,y,mb: integer);
begin
if S=1 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clblack); setbrushcolor(clblack); circle(7,7,A); end;
if S=2 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clgreen); setbrushcolor(clgreen); circle(7,7,A); end;
if S=3 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clred); setbrushcolor(clred); circle(7,7,A); end;
if S=4 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clblue); setbrushcolor(clblue); circle(7,7,A); end;
if S=5 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clyellow); setbrushcolor(clyellow); circle(7,7,A); end;
if S=6 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clbrown); setbrushcolor(clbrown); circle(7,7,A); end;
if S=7 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clsilver); setbrushcolor(clsilver); circle(7,7,A); end;
if S=8 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(clpurple); setbrushcolor(clpurple); circle(7,7,A); end;
if S=9 then begin setbrushcolor(clwhite); circle(7,7,12); setpencolor(cllime); setbrushcolor(cllime); circle(7,7,A); end;
if mb=1 then circle(X,Y,A);
setbrushcolor(clwhite);
setpencolor(clwhite);
if mb=2 then circle(X,Y,A);
end;
begin
gotoxy(1,2);
write(‘меняйте цвет стрелками на клавиатуре вверх и вниз. стирать пкм, рисовать лкм.’);
gotoxy(5,1);
write(‘менять размер кисти стрелками влево и вправо.’);
Onkeydown:=keyDown;
OnMouseDown:=MouseDown;
OnMouseMove:=MouseMove
end.
Это оооочень сырая версия игры PAC MAN. но может-быть кому-то сойдёт за образец.
program pakman;
uses graphABC,events,ABCObjects,crt;
A,B,i:integer; // кординаты для перемещения
SPeed:integer; // скорость перемещения пакмана
AA:rectangleABC; //препятствия, стены и т.д.
procedure keydown(key: integer);
begin
if key=Vk_up then A:=A-speed;
if key=Vk_down then A:=A+speed;
if key=Vk_left then B:=B-speed;
if key=Vk_right then B:=B+speed;
textbackground(0); // я просто для красоты сделал очень много цветовых слов
clrscr; // заливаем фон, чёрный
textcolor(6); // операторы или что-то в этом роде)))
write(‘введите первое число: ‘);
textcolor(15);
readln(A);
textcolor(6);
write(‘введите знак: ‘);
textcolor(15);
readln(B);
textcolor(6);
write(‘введите второе число: ‘);
textcolor(15);
readln(C);
if B=’+’ then D:=A+C; // сердце программы!
if B=’-‘ then D:=A-C;
if B=’/’ then D:=A/C;
if B=’*’ then D:=A*C;
textcolor(6); // красивый ответ
write(‘ответ: ‘);
textcolor(15);
writeln(D);
textcolor(8);
writeln(‘Спасибо за использование моей программы!’); // типо рекламка.
Базовые конструкции PascalABC.NET
Описания переменных внутри блока и автовывод типов
В большинстве случаев переменные описываются в блоке begin-end и описание совмещается с инициализацией:
Это решает сразу несколько проблем:
При таком способе возникает одна проблема: если надо накопить сумму вещественных, то такой код приведет к ошибке типов:
Для исправления этой ошибки всё равно придётся говорить о типах и инициализировать sum одним из двух способов:
Цикл for var
Это делает невозможным использование счётчика цикла вне цикла
Цикл loop
Если количество повторений цикла заранее известно, но неважен номер повторения, то используется цикл loop:
Множественное описание переменных с инициализацией
Можно инициализировать сразу несколько переменных в момент описания:
Вывод
Для вывода вместо процедуры Write предпочтительно использовать процедуру Print. В отличие от Write она разделяет элементы вывода пробелами. Например:
Для вывода нескольких значений с пояснениями рекомендуется использовать интерполированные строки:
вместо режущего глаз
Ввод принято осуществлять, используя функции вида ReadInteger, ReadReal и т.д.:
Это позволяет совмещать описание переменной с инициализацией и автовыводом типа. В качестве дополнительных бонусов: можно делать приглашение к вводу как параметр функции ввода и вводить сразу несколько переменных одного типа:
Для ввода с контролем ошибок используется функция TryRead. Она возвращает False если ввод осуществлён неверно (введено не число или число выходит за границы диапазона). Типичный пример её использования:
Тип BigInteger
Для работы с длинными целыми используется тип BigInteger. Например, чтобы вычислить 100!, достаточно написать следующий код:
Некоторые полезные стандартные процедуры, функции и операции
Для обмена значений двух переменных a и b используйте стандартную функцию Swap(a,b) :
Разумеется, первый раз необходимо показать, что обмен значений осуществляется через третью переменную:
Но далее следует использовать Swap.
Минимальное и максимальное среди множества значений можно вычислить, используя стандартные функции Min и Max:
Для возведения в степень используется операция ** :
Для проверки принадлежности диапазону используется конструкция x in a..b :
Эта операция эффективна и переводится в
Диапазоны также можно использовать для вещественных значений и для символов:
Для проверки принадлежности множеству значений используется либо множество:
Условная операция
Если переменной необходимо присвоить значение в зависимости от условия, то вместо условного оператора иногда нагляднее использовать условную операцию:
Методы в стандартных типах
Например, чтобы вывести значение переменной базового типа, можно использовать метод Print:
Из других интересных методов для начинающих для целых типов отметим:
Например, в следующей программе вычисляется количество четных двузначных из 10 введённых:
Для вещественных значений полезными являются методы
В частности, удобно использовать цепочечную точечную нотацию:
Для всех числовых типов также определены константы MinValue и MaxValue. Чтобы обратиться к ним, следует использовать имя типа:
Кортежи
Присваивание (a,b) := (b,a) позволяет поменять значения двух переменных.
Использование кортежей даже в начальных задачах крайне многообразно.
Пример 1. Нахождение наибольшего общего делителя
Pascal abc все команды список
Вы находитесь в разделе материалов по пограммированию на Паскале. Перед тем как начать программировать, надо прояснить некоторые понятия, которые нам понадобятся в начале. Ведь просто так программировать нельзя. Мы не можем записать программу словами – компьютер кроме нулей и единиц больше ничего не понимает. Для этого в Паскале создана специальная символика – язык Паскаля, набор зарезервированных слов, которые нельзя использовать в своих программах больше нигде, кроме как по назначению. Перечислим основные понятия, которые нам понадобятся в начале:
✎ 1) program – по-английски «программа», пишется в самом начале кода, после чего идет название программы латиницей и точка с запятой. Например: program Summa; − программа под названием Summa. Но эту часть кода, называемую заголовком программы, можно и не писать − она присутствует только для наглядности и показывает, какую задачу решает данная программа. Здесь мы употребили слово «код» − так называется текстовая запись программы.
✎ 4) const – аналог англ. «constant», означающее «постоянная», «константа». В Паскале это величина, которая не может изменяться. Записывается так:
В действительности формат записи const немножко сложнее. По правилам мы должны были записать:
После объявления каждой величины указывается её тип, а потом присваивается значение. Но предыдущая запись тоже верна, поскольку компилятор Паскаля настроен так, что он автоматически определяет тип постоянной. Но этого нельзя сказать о следующем типе чисел – переменных.
✎ 5) var – происходит от англ. «variable» («переменная», или «изменчивый»), что в Паскале означает величину, которая в процессе программы может изменять свое значение. Записывается так:
✎ 6) begin – в переводе с английского означает «начинать» и Паскале означает начало основной программы, в которой записываются команды (операторы). После слова begin точка с запятой не ставится.
✎ 7) end – по-англ. «конец», и в языке Pascal означает то же (конец программы). После последнего слова end всегда стоит точка. Мы выделили слово «последнего», поскольку использование конструкции begin – end возможно ещё в одном случае: это так называемые операторные скобки, которые применяются для объединения нескольких операций под одним оператором. Но об этом потом. Таким образом, основная программа будет выглядеть так:
Здесь операторы в теле программы – это разные команды компилятору.
✎ 8) write – по-английски означает «писать». Этот оператор выводит на экран текст, помещенный в него, поэтому так и называется – оператор вывода. Текст, помещенный в него, выделяется синим и записывается так:
write( ‘этот текст выведен на экране’ );
Сообщение, находящееся в скобках и кавычках, будет показано в окне консоли (просто в скобках без кавычек нельзя). После выполнения этого оператора мы увидим на экране:
этот текст выведен на экране
В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:
В результате получим на экране результат:
Величина площади равна: S = 50
А при необходимости вывести единицы измерения, надо после S снова вставить текст в кавычках:
После выполнения последнего оператора вывода получим вывод на экран:
Величина площади равна: S = 50 кв.м
✎ 9) writeln – то же, что и write, но после выполнения курсор будет переведен на следующую строку.
✎ 10) read – в переводе с английского означает «читать», поэтому read называется оператором считывания, или ввода данных. Записывается как read(N), что означает необходимость ввода величины N, где N – любое число, или текст, или другой тип переменной. Например, если надо ввести возраст человека, которому 32 года, мы можем записать так:
В первой строчке этого кода программа выводит вопрос « Каков Ваш возраст? » и переводит курсор в следующую строку (окончание ln); во второй строке мы выводим « Year = » (в начале пробел); далее мы видим оператор readln(Year) означающий необходимость введения возраста Year (число 32); наконец, выводим сообщения « Мой возраст », « 32 » и « года. » поочередно. Необходимо внимательно следить за пробелами. В результате выполнения данного кода мы получим сообщение:
Каков Ваш возраст?
Year = 32
Мой возраст 32 года
✎ 11) readln – то же, что и read, только с переводом на новую строку. Действительно, в приведенном выше примере после введения числа Year мы только в следующей строке пишем: « Мой возраст 32 года ».
Это пока что все. На следующей странице мы напишем первую программу, и в программировании на Паскале это будут наши первые шаги.
Перед чтением данной статьи Вы должны быть уверены в том, что у Вас есть какие-либо знания по программированию.
Содержание
Программы в данной IDE строятся так:
Константы [ править ]
В данной секции располагаются определенные пользователем константы. Синтаксис объявления констант выглядит так:
Секция «var» [ править ]
Данная секция предназначена для переменных и массивов. Переменные объявляются так:
Простейшие типы [ править ]
Тип строка [ править ]
Тип строка — это тип переменных, который позволяет хранить в переменной любой текст. Объявление строковой переменной:
Строки могут быть не более 255 символов. Изначальное значение строковых переменных — это «пустая строка» — ».
Операция | Описание |
---|---|
s1 + s2 | Объединение строк |
s1*n | Дублирование строки n раз |
Тип целое число integer [ править ]
Операция | Описание |
---|---|
a + b | Сложение чисел |
a — b | Разность чисел |
a * b | Произведение чисел |
a div b | Целочисленное деление |
a mod b | Остаток от деления |
Тип вещественное число real [ править ]
Декларация переменной типа real:
Пример присваивания переменной данного типа:
Операция | Описание |
---|---|
a + b | Сложение чисел |
a — b | Разность чисел |
a * b | Произведение чисел |
a / b | Частное чисел |
Тип символ [ править ]
Тип символ или «char» используется в основном для хранения одного любого символа вне зависимости от того, является ли данный символ буквой или цифрой. Объявление переменной символьного типа:
Секция «begin — end» [ править ]
Данный раздел программы содержит все команды, выполняемые при ее запуске. Данная секция программы выглядит так:
Комментарии [ править ]
Комментарий — это часть кода, которую игнорирует компилятор. Он создается следующим образом:
Массивы [ править ]
Массивы — это именованный список элементов одного типа.
P. S. Для работы с массивами существует учебный модуль Arrays.
Статические [ править ]
Статические массивы имеют фиксированный размер. Общий синтаксис объявления данных массивов выглядит так:
, где N — длина массива.
Матрицы [ править ]
Двумерные [ править ]
Матрица — это n-мерный список значений, имеющий свой тип и ограниченный некоторыми значениями. Пока будем рассматривать только статические двухмерные и трехмерные матрицы. Перед тем, как перейти к их изучению вспомни таблицы в Excel. Каждая таблица имеет свой размер — ширину и длину. Возьмем за правило ассоциировать двухмерные матрицы с таблицами. Объявление матрицы:
, где N, M — количество строк и столбцов соответственно.
Трехмерные [ править ]
Трехмерный матрицы обладают третьим измерением:
N-мерные матрицы [ править ]
Декларация N-мерной матрицы:
, где A..Z означают количество элементов в соответствующем измерении.
Статические и динамические массивы [ править ]
Динамические массивы позволяют управлять количеством элементом в каждом из их измерений во время выполнения программы.
Пример объявления массива: | Статический | Динамический | Вызов SetLength (для динамического массива) |
---|---|---|---|
Векторный |
Понятие индекса массива [ править ]
Индекс массива — это номер элемента массива. Индекс может принимать значения [0, N — 1], где N — количество элементов некоторой размерности. Обращение к элементу одномерного массива с некоторым индексом:
Составим таблицу, которую следует запомнить:
Где i, j, k — индексы.
Индекс в виде значения элемента массива [ править ]
Индексом может быть значение элемента массива:
Операторы, стандартные процедуры и функции [ править ]
Вывода на экран [ править ]
Вывод текста [ править ]
Вывести текст — это значит отобразить текст на экране. Общий синтаксис для вывода текста выглядит так:
Вывод значений переменных [ править ]
Вывод значений произвольного количества переменных:
Для перехода на новую строку после вывода последнего значения используйте Writeln вместо Write.
Ввод данных с клавиатуры [ править ]
Чтение с клавиатуры — это процесс ввода данных с клавиатуры и запись в соответствующий элемент программы этих данных. Элементами программы являются как переменные, так и элементы массивов. Тип данных, вводимых с клавиатуры, должен соответствовать типу элемента, в который записываются данные с клавиатуры. Использование Readln для чтения с клавиатуры и перехода на новую строку:
Условный оператор [ править ]
Общий синтаксис условного оператора if:
Команды . будут выполнены только при истинности условия.
Сравнение [ править ]
Условные обозначения в программировании операций сравнения приведены в таблице:
Общий синтаксис сравнения двух величин:
Оператор case [ править ]
Оператор case используется для сопоставления значения некоторого выражения с константными значениями:
Если некоторое i-тое константное выражение совпадает с значением выражения, то i-ая группа операторов будет выполнена. Группа операторов после else будет выполнена, если значение выражения не совпало ни с одной из констант. begin — end не нужны, если после двоеточия только один оператор.
Оператор цикла while [ править ]
Оператор цикла позволяет выполнять группу операторов (или один) циклически пока условие является истинным.
Счетчик [ править ]
«Счетчик» — это оператор цикла for, выполняющий группу операторов определенное количество раз. Общий синтаксис оператора цикла for:
Если второе значение меньше первого — используйте downto вместо to.
Оператор break [ править ]
Для выхода из цикла можно использовать break:
Новая итерация цикла [ править ]
Для завершения текущей итерации цикла и начала другой используйте оператор continue.
Функции [ править ]
Общий синтаксис описания функции:
Можно устанавливать значение переменной Result для указания возвращаемого значения.
Пожалуй, нет ни одного современного человека, кто бы не знал язык Паскаль (основы программирования). И это не удивительно! Еще в учебнике по информатике для школьников расписаны самые основные понятия этой уникальной программы.
Сейчас, в век информационных технологий, каждый может провести для себя обучение по самоучителю онлайн (пройдя курсы «Изучение языков программирования с нуля»; «Паскаль для чайников» и другие).
История изучаемого языка не так проста: Паскаль претерпел множество изменений, прежде чем школьники увидели его в том виде, в каком его преподают на уроках. Это был самый первый простой язык (ord pascal) для программирования, помогающий решить множество практических задач прошлого столетия (1970 год). Он был разработан группой ученых.
С расширением платформ были созданы новые версии этой программы, а Паскаль стал классическим языком программирования.
Ниже разберемся: что такое Паскаль, каковы его основные инструменты. Рассмотрим операции и функции программы, ее специфические особенности. На примерах поймем, как она работает. Научимся писать и работать на языке Паскаль.
Что такое язык программирования Паскаль
Это базовая высокоуровневая программа. Она занимает первое место в учебных планах многих школ и вузов Российской Федерации.
Особенности системы PascalABC.NET
Всё познается в сравнении, поэтому преимущества этой программы рассмотрим в соотношении с другим языком BASIC.
Итак, что характерно для языка Паскаль и что не подходит для Бейсика:
Примеры программ на PascalABC.NET
Сумма вводимых целых чисел
Произведение целых чисел
Сколько нечетных среди n введенных
Защита от неверного ввода
Вывод 10 первых степеней двойки
Найти сумму цифр целого положительного числа m
Разложение числа на простые множители
Паскаль для начинающих – основные понятия
Разберем базовые понятия, помогающие правильно написать программу на данном языке.
Рабочая область
Как выглядит рабочее пространство?
Теперь рассмотрим основу: алфавит и структуру.
Алфавит Паскаль
Что нужно знать? Алфавит — это набор символов, необходимый при составлении программы.
Что к ним относится:
Структура программы
Итак, что же входит в «иерархию» данной программы?
По своей структуре этот язык делится на 3 раздела:
Действия начинаются с «begin» и заканчиваются «end» с точкой.
Структуру можно представить так:
Кстати, операторы между собой разделяются точкой с запятой.
Операторы write, writeln, read, readln
Выясним, как происходит вывод и ввод информации.
Вывод
Как таковых операторов вывода в этом языке нет, но есть специальные слова, которые помогают запустить необходимые функции. Это write, writeln.
В чем их главное отличие? При вводе или выводе последующей информации после них: в первом случае последующая информация будет выводиться на ту же строку, где и написан оператор. А вот во втором – на следующую.
Для ввода существуют тоже свои слова: read, readln (= readkey).
Они отличаются друг от друга точно так же, как и предыдущие операторы (при выводе).
Целый тип данных
Выделяют 3 основных вида:
С ними также проводят простые действия:
Кроме того, разрешено проводить отношения и сравнения (больше или равно — ˃ =).
Вещественные типы данных
К таким переменным относятся дробные числа (например, число пи). Здесь они называются real.
Что нужно помнить? Чтобы ввести формулу дробного числа, надо вместо запятой использовать точку. Для записи степеней (х * 10 у ) 10 заменяется Е и число имеет запись:
С ними можно выполнять как самые простые арифметические действия, так и более сложные:
Обработка данных
Помимо перечисленных выше функций (в предыдущих 2 пунктах), есть и другие:
Математические операции
Математические функции и операции были рассмотрены при разборе целых и вещественных данных.
Остановимся на типах констант и переменных. Какие они бывают?
Простые включают в себя подтипы:
Строковые записываются командой string. Ссылочные представлены соответствующей формой.
Структурированные делят на:
Для каждого типа характерны свои наборы операций.
Условия
Если есть альтернативные команды и функции, то с помощью операторов if, then, else можно записать необходимые команды для решения практической задачи.
Схема представлена на рисунке ниже.
Логические операции
Операции основаны на истине факта или его лжи.
Выделяют 3 вида таких функций:
Функции управления программой
Какие еще существуют процедуры:
Заключение
Таким образом, чтобы стать хорошим программистом, для начала нужно изучить основу. Паскаль для этого станет наилучшим выбором.