Pmonline.ru

Пром Онлайн
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Pascal ABC

Pascal ABC

Паскаль АБС это полноценная обучающая система, дающая возможность студентам и школьникам познакомиться с языком программирования паскаль. Он был разработан в 2002 году отечественными специалистами, их основная цель – получения языка программирования, способного отвечать современным на тот момент требованиям, и одновременно быть простым в освоении. Обучающая система Pascal ABC, начиная с версии 3.0, стала свободно распространяемым ПО, что сделало обучение программированию доступным для широких масс.

Статус программыБесплатная
Операционная системаWindows 7, Windows 8, Windows 10
ИнтерфейсРусский и английский
РазработчикPascalABC.NET

Задачи

Что касается задач, то они пишутся с помощью языка программирования «Паскаль». Его основным преимуществом является простота освоения и индивидуальность использования. Интересно, что многие языки программирования, имеют в своей основе именно паскаль, который, берет свое начало из «древнего» языка программирования – бейсик.

Перед началом написания программного кода, указывают тип данных будущего файла, далее, вне зависимости от функционала будущего приложения, пишут: «Begin. Writeln (‘Привет, Мир!’). End.». Первая и последняя строка, это операторные скобки, а между ними располагается сама задача. Вторая строчка – вывод текста на экран, который помещен в кавычки.

Интерфейс и основные инструменты

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

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

С помощью использования подпункта «файл», можно создать новый проект, открыть существующий, сохранить работу, либо поместить сохраненный файл в выбранную папку. Альтернативным способом выполнить все действия с файлами является использование клавиатурных комбинаций. Так, Ctrl+O отвечает за открытие файла с проектом программ, Ctrl+N создает новый проект, Ctrl+Shift+S позволит сохранить работу в выбранную папку, а Ctrl+S просто сохраняет изменения, сделанные в файле.

С помощью подпункта «Правка», выполняют ряд действий с кодом. Через меню можно выбрать копирование, вырезку, удаление выделенного участка кода, или отмена действий. Как и в предыдущем случае, эти операции можно выполнить с помощью соответствующих клавиатурных сокращений: Ctrl+C – копировать выделенный участок кода, Ctrl+V – вставить выделенный участок кода, Ctrl+X – вырезать выделенный участок кода, Ctrl+Z – отменить действие.

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

В разделе «Программа» помещены инструменты для управления компиляцией написанного программного продукта.

В «сервисе» пользователь может выполнить основные настройки приложения для программирования.

Раздел «Модули» содержит основные программные модули, задачи, а также примеры кода приложений, которые можно создать в Паскаль АБС.

С помощью раздела «Помощь», пользователь может узнать о том, как пользоваться программой.

Важно! Клавиатурные сокращения можно подсмотреть при раскрытии разделов, находящихся в верхнем меню. Их использование существенно ускоряет и облегчает процесс программирования. В заключении стоит сказать о том, что Паскаль АБС можно скачать бесплатно на компьютер под windows 7, windows 8, windows 10, на русском языке. Небольшой вес программы, позволит выполнить download без использования torrent клиента. Несмотря на бесплатность, и малый размер инсталлятора, пользователь получает мощный и эффективный обучающий комплекс для постижения базовых азов программирования. Если же нет возможности инсталлировать программу, можно воспользоваться ее онлайн версией.

Читайте так же:
Игры с читами без скачивания

Урок 3. Первая программа в Pascal

HelloWorl

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal.

Виды величин

Обычно, изучение любого языка программирования начинается с программы Hello, world! Но мы с вами займемся этим чуть попозже, потому что сейчас я хочу рассказать вам о величинах и типах данных в Pascal. Что такое величина? Величина — это отдельный информационный объект, хранящийся в памяти компьютера. Существуют две классификации величин. Мы рассмотрим каждую в отдельности.

величины

Более подробно мы поговорим о них в последующих уроках.

В свою очередь числовой делится на два типа.

числовые

Привожу сразу обозначение этого типа в Паскаль

символьные

Символьные тоже делятся на два типа.

величины

Вторая классификация величин.Константа — значение неизменно. Переменная — значение может меняться в течение работы программы. Переменные обозначаются символическими именами, которые называются идентификаторами. Как присвоить значение какой либо переменной? С помощью команды присваивания! Команда присваивания в Паскаль: < переменная >:= < выражение >

Первая программа на Pascal

Структура программы в Паскаль

Заголовок

Program < имя переменной >;

Объявление переменных и констант

const <Символическое имя> = <выражение>;
var <Однотипные переменные> : <тип>;

Раздел операторов

Ввод и вывод в Паскаль

У вас, наверняка, возникает вопрос: «Как вводить значения переменных с клавиатуры?», а также: «Как вывести на экран полученный результат?». Для этого используются четыре специальных оператора:

Для ввода:
  • read(Переменную)
  • readln(Переменную)
И для вывода:
  • write(Текст в »)
  • writeln(Текст в »)

«В чем разница между read и readln, write и writeln?»: снова озадачитесь вы. Ответ прост. Если добавляете «ln» (что расшифровывается, как Line), то курсор переносится на следующую строку.

Hello, World на Pascal

Теперь вы готовы написать первую программу.

Ну, тут все понятно. Чтобы разнообразить решение предлагаю решить несколько задачек этого типа.

Задача 1. Требуется запросить имя пользователя, а затем вывести «Привет, <имя>!» Для решения этой задачи нам потребуется строковой тип данных — string.

Задача 2. Требуется узнать сколько лет пользователю, а затем вывести «Вам <возраст> лет». Очевидно, что для решения этой задачи нам потребуется целочисленный тип данных — Integer.

Ну, вот и все! Все, что я хотел рассказать вам в сегодняшнем уроке. Вы узнали, что такое величина в Pascal, и выучили основные типы. А также научились создавать простейшие линейные программы. Более подробно про типы в PascalABC.Net мы поговорим в следующих уроках. Кстати, про PascalABC.Net. Понятно, что писать программы на листочках бесполезно, и вы должны тренироваться на компьютере. По этой ссылке скачайте последнюю версию PascalABC.Net для Windows.
Вот, как выглядит интерфейс программы при запуске.

PascalABC.Net

P.S. Давайте выделим две особенности Pascal:

  1. Паскаль НЕ чувствителен к регистру, то есть и program, и Program, и PrOgRaM для него ничем не отличаются. А потому с самого начала привыкайте писать в нижнем регистре, чтобы при переходе на другой язык программирования не испытывать никаких проблем с этим;
  2. Имя программы в Pascal не играет никакого значения, оно не несет в себе никаких полезных функций. Если хотите вы можете просто не писать ЕГО!
Читайте так же:
Игры от уже изданных до самых ожидаемых

P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.

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

Если вы используете Turbo Pascal, то поставьте после program uses crt; и перед end. readkey;

program aaa;
uses crt;
var a: integer;
read(a);
writeln(a);
readkey;
end.

После begin двоеточие не ставиться.

В объявлении константы есть ошибка: значение не надо присваивать, у константы оно просто равно

P.P.S. В мире наиболее популярны три операционные системы: Linux, Mac OS и Windows. А если у вас не Windows? Какой компилятор выбрать тогда? Об этом мы с вами поговорим в уроке номер N.

Так что же делать обладателям отличных от Windows ОС?

Вообще у вас есть три более-менее простых варианта:

1) Использовать веб среду http://pascalabc.net/WDE/ (не используйте Сафари, попробуйте Хром)
2) Установить FreePascal для Mac OS. У меня, если честно, так и не получилось.
3) Установить виртуальную машину( Windows 7, Windows XP) и на нее установить PascalABC.NET или Turbo Pascal.

Есть ещё Lazarus

есть wine, virtualbox, online pascalabc. чего надо еще?

Как открывать нужные скобки? Если я пишу Hello, world в скобках » » , то у меня вылезает ошибка.

WriteLn(‘Текст’) или Write(‘Текст’)
Внутри обычных скобок когда обозначаем текст (НЕ переменную) то ставим ‘ перед и после текста

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

begin
var name: string;
write(‘Напиши своё имя: ‘);
read(name);
write(‘Молодец, ‘, name, ‘!’);
var years: integer;
writeln(‘Сколько тебе лет?’);
read(years);
write(», years, ‘, значит. А мне ещё и года нету(((‘);
writeln(‘Мне пора на компьютер твоего друга… Пока’);
end.

Что делать если установил ABC Pascal, а после запуска не хочет открываться и нормально работать?

А мне не понравилось, что программа не чувствительна к числам, которые заканчиваются на 1,2,3,4. Получилось немного громоздко, но как сократить пока не придумала)

program Your_age;
var a: integer;
begin
writeln(‘А сколько Вам лет?’);
readln(a);
if (a > 4) and (a 21) and (a mod 10 > 4) then
write(‘Значит, Вам ‘,a,’ лет!’);
if (a 1) and (a mod 10 20) and (a mod 10 > 1) and (a mod 10 < 5) then
write('Значит, Вам ',a,' года!');
if (a mod 10 = 1) and (a 11) then
write(‘Значит, Вам ‘,a,’ год!’)
end.

Подскажите, пожалуйста, возможно ли с помощью линейного алгоритма сделать так, что работала команда ввода read(surname)?
Использую PascalABCNET.
После написания такого кода программа не делает того, с чем прошу мне подсказать:

var
name,surname:string;
begin
writeln(‘Введите, пожалуйста, ваше имя: ‘);
readln(name);
writeln(‘Введите, пожалуйста, вашу фамилию: ‘);
readln(surname);
end.

А вы уверены в том, что она не делает?) У вас ведь нигде и вывода нет.

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

Читайте так же:
Игры похожие на златогорье 2

Вспомнил. Дело не только в этом было. Суть в том, что не работал общий код, который был изначально. Именно это там не работало. Эти 2 ввода игнорировались. После вопроса, где нужно ввести 1 или 2 программа переходила на вопрос о возрасте.

var
name, surname: string;
a, age: integer;

writeln (‘Connection…’);
writeln(‘Доброго времени суток, пользователь программы!’);
writeln(‘Вы находитесь в программной среде высшего интеллектуального творчества человечества.’);
writeln(‘Просьба вести себя осторожно, дышать ровно, следовать инструкциям и быть готовым нести ответственность за принятие своих решений.’);
writeln(‘Вы готовы? 1 — Yes/2 — No’);
writeln(‘Введите число:’);
read(a);

case a of
1:writeln(‘Решение о вашем действии записано в информационное пространство Вселенной. Отмена действий невозможна.’);
0:write(‘Большие решения требуют серьёзной ответственности. Когда будете к этому готовы, можете в любой момент обратиться к программной среде.’);
else writeln(‘У вас только одно право на ошибку. Попробуйте ещё раз ввести 1 или 0.’);
end;

writeln(‘Введите, пожалуйста, ваше имя, чтобы программа вам рассказала о его значении: ‘);
read(name);
writeln(‘Введите, пожалуйста, вашу фамилию, чтобы программа вам рассказала о её значении: ‘);
readln(surname);
writeln(‘Сколько вам лет, ‘,name,’?’);
readln(age);

case age of
2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94,102..104,122..124:writeln(‘Вам ‘,age,’ года.’);
1,21,31,41,51,61,71,81,91,101,121:writeln(‘Вам ‘,age,’ год.’);
5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..100,105..120,125,126:writeln(‘Вам ‘,age,’ лет.’);
else write(‘В настоящее время человечеством не доказано, что человек может столько лет жить на планете Земля.’);
end;
END.

Очень здорово, что программа запустилась. Но на будущее: когда вы просите помощи, лучше прикреплять полный код программы/подпрограммы. Иначе такая помощь выполняется почти вслепую.

Тот, что выше написал, полный код программы. В нём не работает то, что я описал в предыдущем сообщении.
readln(name) и readln(surname) не предлагают ввести данные. Сразу переходит программа на writeln(‘Сколько вам лет, ‘,name,’?’).

Тот, что выше написал, полный код программы. В нём не работает то, что я описал в предыдущем сообщении.
readln(name) и readln(surname) не предлагают ввести данные. Сразу переходит программа на writeln(‘Сколько вам лет, ‘,name,’?’).

writeln(‘Введите, пожалуйста, ваше имя, чтобы программа вам рассказала о его значении: ‘);
readln(name);
нужно писать не read, а readln

Работа с графикой в PascalABC

Работа с графикой в PascalABC

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

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

С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.

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

Управление графическим окном

Работа с графикой в PascalABC

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

Читайте так же:
Игры этого месяца на пк

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

С их помощью можно создавать разнообразные графические изображения и сопровождать их текстовыми надписями.

Подключение осуществляется в разделе описаний.
Формат подключения модуля GraphABC:Uses GraphABC;

Графический экран PascalABC (по умолчанию) содержит 640 точек по горизонтали и 400 точек по вертикали. Начало отсчета – левый верхний угол экрана. Ось x направлена вправо, а ось y –вниз. Координаты исчисляются в пикселях.

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

Процедуры рисования графических примитивов

Работа с графикой в PascalABC

Процедуры, используемые для работы с цветом

Работа с графикой в PascalABC

Процедуры для работы с текстом

Работа с графикой в PascalABC

Цвета в PascalABC

Работа с графикой в PascalABC

Пример графической программы, рисующей изображение дома:

Работа с графикой в PascalABC

Программа, рисующая фигурку:

Работа с графикой в PascalABC

Практическая работа за компьютером

Задание 1. Определите координаты и составьте программу, выводящую на экран рисунок дома и дерева.

Работа с графикой в PascalABC

Программа будет иметь вид:

Задание 2. Используя оператор цикла и введя переменную для пересчета координат по оси x, постройте “поселок”, состоящий из 5 домов. Внесите соответствующие дополнения и изменения в предыдущую программу.

Работа с графикой в PascalABC

Весь наш «поселок» выстроился вдоль горизонтальной оси экрана — оси X. Построение рисунка начинается с левого верхнего угла стены первого дома — точки с координатами (100, 50). Координата Y не изменяется. Чтобы начать рисовать второй домик, нужно координату X увеличить на 150 (50 точек — ширина первого дома и 100 точек — расстояние между домиками).

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

Сформулируем условие выполнения цыклических действий для нашей задачи.Какие координаты имеет левый верхний угол пятого дома? Конечное значение выбранного нами параметра цикла x = 700. Тогда условие выполнения цикла записывается так: x<=700.

Словесное описание алгоритма коротко можно записать так:

Переменной цикла x присвоить начальное значение 100. Пока x<=700 выполнять серию действий «Нарисуй дом и дерево», после каждого фрагмента рисунка увеличивать значение переменной цикла на 150.

Pascal ABC задачи с решением

Сгенерировать случайное число, вывести на экран это число, а также сумму и произведение его цифр.

Алгоритм решения задачи:

random(900) генерирует случайное число от 0 до 899. Если прибавить к нему 100, то получится диапазон от 100 до 999 включительно, т. е. охватывает все трехзначные числа.

Чтобы извлечь из числа цифру сотен надо его разделить нацело на 100.

Для получения цифры десяток можно сначала разделить нацело на 10, а затем найти остаток от деления на 10.

Единицы извлекаются путем нахождения остатка от деления числа на 10.

Программа на языке Паскаль:

var n: integer ; a,b,c: byte ; begin randomize; n := random(900) + 100; writeln(n); a := n div 100; b := n div 10 mod 10; c := n mod 10; writeln('Сумма: ',a+b+c); writeln('Произведение: ',a*b*c); end .

Пример выполнения программы:

536 Сумма: 14 Произведение: 90

Читайте так же:
Игры для форума на сайтах

Задача 2:

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

Описание переменных:

min_i, max_i — минимальная и максимальная границы диапазона для целого числа;

n_i — случайное целое число;

min_f, max_f — минимальная и максимальная границы диапазона для вещественного числа;

n_f — случайное вещественное число;

first_c, last_c — первый и последний символ диапазона, в котором должен быть сгенерирован случайный символ;

min_c, max_c — коды-числа, соответствующие указанным символам;

n_c — случайное число, которое будет переведено в символ по таблице ASCII.

Программа на языке Паскаль:

var min_i, max_i, n_i: integer ; min_f, max_f, n_f: real ; first_c, last_c: char ; min_c, max_c, n_c: byte ; begin randomize; write('Minimum integer: '); readln(min_i); write('Maximum integer: '); readln(max_i); n_i := random(max_i-min_i+1) + min_i; writeln(n_i); write('Minimum float: '); readln(min_f); write('Maximum float: '); readln(max_f); n_f := random() * (max_f-min_f) + min_f; writeln(n_f:5:2); write('First char: '); readln(first_c); write('Last char: '); readln(last_c); min_c := ord(first_c); max_c := ord(last_c); n_c := random(max_c-min_c+1) + min_c; writeln(chr(n_c)); end .

Пример выполнения программы:

Minimum integer : -100 Maximum integer : 100 -46 Minimum float: 0.23 Maximum float: 0.85 0.53 First char : k Last char : q p

Задача 3:

Найти позицию в алфавите двух английских букв и количество символов между ними.

Определить букву по ее позиции в алфавите.

Алгоритм решения задачи:

Позиция буквы в алфавите определяется ее "смещением" относительно первой буквы алфавита. Если знать коды первой буквы и искомой, то разность их кодов покажет, на сколько позиций они отстоят друг от друга. В языке программирования Pascal код-номер буквы по таблице кодов символов ASCII определяется с помощью функции ord(), которой в качестве значения передается символ.

Для обратного действия — определения буквы по ее известной позиции в алфавите — надо к позиции буквы прибавить код первой буквы алфавита. После этого получить искомую букву по ее коду. Это делается с помощью функции chr(), которой передается число-код символа по таблице ASCII.

Программа на языке Паскаль:

var a,b: char ; an, bn, n: byte ; begin write('Буква 1: '); readln(a); write('Буква 2: '); readln(b); an := ord(a); bn := ord(b); writeln('Позиция 1: ', an-ord('a')+1); writeln('Позиция 2: ', bn-ord('a')+1); n := abs(bn-an)-1; writeln('Количество букв между ними: ', n); writeln; write('Позиция буквы в алфвите: '); readln(n); n := n+ord('a')-1; writeln('Это буква — ', chr(n)); end .

Пример выполнения программы:

Буква 1: w Буква 2: z Позиция 1: 23 Позиция 2: 26 Количество букв между ними: 2 Позиция буквы в алфвите: 10 Это буква — j

Задача 4:

По координатам двух точек, которые вводит пользователь, определить уравнение прямой, проходящей через эти точки.

Алгоритм решения задачи:

Общий вид уравнения прямой имеет вид y = kx + b. Чтобы найти уравнение для конкретной прямой, необходимо вычислить коэффициенты k и b. Сделать это можно, если известны координаты двух точек, лежащих на этой прямой. В этом случае решается система уравнений:

Программа на языке Паскаль:

var x1,y1,x2,y2: real ; k, b: real ; begin write('A(x1;y1): '); readln(x1, y1); write('B(x2;y2): '); readln(x2, y2); k := (y1 — y2) / (x1 — x2); b := y2 — k * x2; writeln('y = ',k:0:2,'x + ',b:0:2); end .

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector