Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2009, 01:22   #41
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Я принципиально против "начала" и "конца". На какой предмет всевозможные скобки у вас на клаве? Возможно Вирт сделал такие неудобные операторные скобки в угоду учебности языка, чтобы ученикам было легче усвоить, Бэйсик туда же. Далеко не лучший синтаксис.

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

Цитата:
выбрать_из ( куда )
начало
вариант '7': ... ;
прервать ... ;
вариант '8': ... ;
прервать ... ;
конец
Кошмар какой ) Избыточность кода.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 08.09.2009 в 01:29.
mutabor вне форума Ответить с цитированием
Старый 08.09.2009, 08:12   #42
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

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

# Создаем хранилище чисел
Создадим переменную Число1 . Здесь будет содержаться первое число
Создадим переменную Число2 . Здесь будет содержаться второе число

# Переменные для хранения результатов вычислений
Создадим переменную Сумма . Сюда мы поместим результат от сложения обоих чисел
Создадим переменную Разность . Здесь мы будем хранить результат операции Число1 - Число2
Создадим переменную Произведение . Результат от произведения двух чисел будет помещен сюда .
Создадим переменную Частное . Это переменная будет хранить результат деления Число1 на Число2

# Получим оба числа
Число1 = Получим_строку ( '' ; 'Введите первое число' )
Число2 = Получим_строку ( '' ; 'Введите второе число' )

# Найдем сумму
Сумма = Число1 + Число2

# Найдем разность
Разность = Число1 - Число2

# Найдем произведение
Произведение = Число1 * Число2

# Найдем частное
# Здесь используется самое простое деление
# Так как пример учебный особая точность вычислений не требуется
Частное = Число1 / Число2

# Подготовим результат для отображения
Сумма = 'Сумма чисел: ' & Сумма
Разность = 'Разность чисел: ' & Разность
Произведение = 'Произведение чисел: ' & Произведение
Частное = 'Частное чисел: ' & Частное

Сумма = Сумма & Разность & Произведение & Частное

# Выведем результат на экран
Сумма = Выведем_строку_на_экран ( Сумма ; 'Результаты' )

Закончим вычисления . Работа программы завершена .
Вот моя прога. Интерепретатор на нее глючный, но вроде как кушал. Сейчас переделываю его, иначе очень медленно было .

Код:
# - Тестовая программа - тест массивов и циклов

Создадим массив Утка. Здесь мы будем хранить свойства утки.
Создадим переменную Характеристика. С помощью этой переменной определим свойства этой замечательной птицы.
Создадим переменную Все_об_утках. Сюда мы поместим результат, а потом, сохраним его в файле.

Добавим в массив элемент Утка [тип] = птица
Добавим в массив элемент Утка [название] = 'утка'
Добавим в массив элемент Утка [имя]='Дональд Дак'
Добавим в массив элемент Утка [двигатель]= крылья   
Добавим в массив элемент Утка [способ_передвижения]=полет
Добавим в массив элемент Утка [миграции]='сезонного типа'

Примечание: До этого мы осуществляли подготовительные операции

Для Характеристика подставляем индексы массива Утка. В цикле определим все характеристики птицы.
        Все_об_утках=Все_об_утках & Характеристика & ' = ' & Утка [Характеристика] & конец_строки
Конец цикла. Результат накапливается в цикле.

Затем сохраним переменную Все_об_утках в файле 'утиные_истории.txt'
Эта прога использовалась для отладки интерпретатора. Думаю алгоритм дополнительных комментариев не требует.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 08.09.2009 в 08:16.
Utkin вне форума Ответить с цитированием
Старый 08.09.2009, 11:51   #43
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Цитата:
Сообщение от mutabor
Я принципиально против "начала" и "конца". На какой предмет всевозможные скобки у вас на клаве? Возможно Вирт сделал такие неудобные операторные скобки в угоду учебности языка, чтобы ученикам было легче усвоить
По-моему, начало и конец нормально смотрятся. К тому же, скобочки {} и [] в русской раскладке не набираются.

Цитата:
Сообщение от mutabor
Кошмар какой ) Избыточность кода.
Это на базе Си++ переделано. В Паскале оператор выбора немного лучше выглядит.
Arigato вне форума Ответить с цитированием
Старый 08.09.2009, 17:13   #44
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Единственные скобки на русском - ()
Может еще \...\ или /.../?
Как только пришел с универа хотел сказать про
Цитата:
Просто произвести автозамену и пустить текст на компилятор
. Опоздал((((

А в консольном варианте паскаля (TPX) - не так много операторов. Придумать им всем замену можно максимум за день
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.09.2009, 20:03   #45
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

А для Делфи? Учтите еще VCL и общераспространенные библиотеки и все покажется не таким уже и легким...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.09.2009, 20:05   #46
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Сначала, думаю надо бы составить копию Turbы. Освоиться, так сказать.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.09.2009, 20:18   #47
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Насчет скобок - ну пусть будет ввод слеша, а парсер и/или редактор автоматически заменяет на нужный Вам вид скобок, это не проблема.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 08.09.2009, 20:23   #48
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

В принципе весь наш компилятор будет состоять из EXE и DLL. В DLL предлагаю вставить функцию Replace:
S:=ReplaceString(S,'Начало','Begin' );
и пр.
Почему в DLL? Потому что для всех слов весить эта функция будет минимум кило 15. И не придется заменять exe.
А exe наверное надо сделать в виде текст редактора с разными функциями и кнопкой RUN.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 08.09.2009, 21:38   #49
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Код:
процедура НачалоМычало;
переменные
  начало_целое: целое;
начало
  ...
конец;
заменяем и получаем:
Код:
procedure beginМычало;
var
  begin_целое: integer;
begin
  ...
end;
Так что лексический анализатор по любому прикручивать придется.
pu4koff вне форума Ответить с цитированием
Старый 08.09.2009, 22:10   #50
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

русский язык программирования(почти паскаль)

http://torrents.ru/forum/viewtopic.php?t=2157486
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
крестики нолики aesoem Общие вопросы Delphi 11 12.06.2011 11:32
Крестики нолики на C++ Alar Gamedev - cоздание игр: Unity, OpenGL, DirectX 11 15.03.2010 16:09
крестики-нолики {PatRioT} Паскаль, Turbo Pascal, PascalABC.NET 4 14.05.2009 13:24
Крестики-нолики mish@ Общие вопросы Delphi 6 07.05.2009 11:01
Крестики нолики Gorbunov Общие вопросы C/C++ 5 22.01.2009 16:04