Уроки программирования на Pascal ABC

Модератор: t800

Уроки программирования на Pascal ABC

Сообщение t800 » 12 ноя 2016, 23:14

Прошли каникулы, теперь вторая четверть, и учитель по информатике теперь настроен серьёзно: был урок программирования на Pascal ABC. Писали мы на уроке программу Summa, и я как домашку, написал программу Kalkulator (Kakul for Pascal :su2: ). Как видно из названия в скобках, это вариация Kakul`a на C++, который я писал ранее. Только на версии для Pascal ABC мой Kakul обрёл графическую форму, в которой фоном служит очень красивая картинка :friends:

Вот, в общем, видео с уроком программирования для новичков :



Пояснение к видео

1 ) Создаем новый проект Windows Forms

2) Добавляем на форму три Label-а :
1) Выбор числа a =
2) Выбор числа b =
3) Выбор действия

3) Добавляем на форму два NumericUpAndDown (для ввода чисел a и b)

4) Добавляем на форму один ComboBox (для выбора действия)

5) Добавляем на форму одну кнопку ( Button)

6) Добавляем на форму один RichTextBox (туда будут выводится результаты)

Затем

7.1) Задаем значения знаков действий (+ - * /) для Combobox (через Коллекцию по одному знаку в строке),
а также задаем знак + знаком по умолчание (в текстовом поле)
7.2) Задаем фон у формы (ставим картинку)
7.3) Кликаем на кнопку (button), попадаем в код подпрограммы и вставляем код процедуры


Код: Выделить всё
procedure Form1.button1_Click(sender: Object; e: EventArgs);

var a,b,c: real;
var message: string;

begin

a:= Convert.ToDouble(numericupdown1.Value);
b:= Convert.ToDouble(numericupdown2.Value);
writeln ('ввод a = ',a);
writeln ('ввод b = ',b);

// Сумма
if (ComboBox1.SelectedItem.ToString = '+') then  writeln ('Выбрано действие ',ComboBox1.SelectedItem);
if (ComboBox1.SelectedItem.ToString = '+') then c:=a+b;
if (ComboBox1.SelectedItem.ToString = '+') then message := 'Действие a+b = ';

// Разность
if (ComboBox1.SelectedItem.ToString = '-') then  writeln ('Выбрано действие ',ComboBox1.SelectedItem);
if (ComboBox1.SelectedItem.ToString = '-') then c:=a-b;
if (ComboBox1.SelectedItem.ToString = '-') then message := 'Действие a-b = ';

// Произведение
if (ComboBox1.SelectedItem.ToString = '*') then  writeln ('Выбрано действие ',ComboBox1.SelectedItem);
if (ComboBox1.SelectedItem.ToString = '*') then c:=a*b;
if (ComboBox1.SelectedItem.ToString = '*') then message := 'Действие a*b = ';

// Частное
if (ComboBox1.SelectedItem.ToString = '/') then  writeln ('Выбрано действие ',ComboBox1.SelectedItem);
if (ComboBox1.SelectedItem.ToString = '/') then c:=a/b;
if (ComboBox1.SelectedItem.ToString = '/') then message := 'Действие a/b = ';

writeln (message,c);
richTextBox1.text := message;
richTextBox1.AppendText(FloatToStr(c));

end;


А это весь проект в архиве

kakul.zip
Архив с проектом на Pascal ABC
(284.44 КБ) Скачиваний: 2858
Справочник и Форум Green Dragon
T-800 MOD для Heroes of Might and Magic 2

Основатель клуба "Армагеддон"

Основатель клуба "Пещера Гремлинов"

ИзображениеИзображение
t800
Experienced
Experienced
 
Сообщения: 856
Зарегистрирован: 19 окт 2015, 14:52
Откуда: Казахстан, Алматинская область
Благодарил (а): 172 раз.
Поблагодарили: 136 раз.

Re: Уроки программирования на Pascal ABC

Сообщение t800 » 17 ноя 2016, 01:31

Не всякий случай привожу код программы Kakul для консоли тоже


Код: Выделить всё
//program Kakul
var a,b,c: real;
var znak,rezultat: string;
 
begin
rezultat := 'Знак действия не правильный!  с=';
writeln ('ввод a');
readln (a);
writeln ('ввод b');
readln (b);
writeln ('ввод знака действия + - * /');
readln (znak);
if (znak = '+') then c:=a+b;
if (znak = '+') then rezultat := 'Cумма равна a+b=';
if (znak = '-') then c:=a-b;
if (znak = '-') then rezultat := 'Разность равна a-b=';
if (znak = '*') then c:=a*b;
if (znak = '*') then rezultat := 'Произведение равно a*b=';
if (znak = '/') then c:=a/b;
if (znak = '/') then rezultat := 'Частное равно a/b=';
writeln (rezultat,c);
end.
Справочник и Форум Green Dragon
T-800 MOD для Heroes of Might and Magic 2

Основатель клуба "Армагеддон"

Основатель клуба "Пещера Гремлинов"

ИзображениеИзображение
t800
Experienced
Experienced
 
Сообщения: 856
Зарегистрирован: 19 окт 2015, 14:52
Откуда: Казахстан, Алматинская область
Благодарил (а): 172 раз.
Поблагодарили: 136 раз.


Вернуться в Технические вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron