Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Как создать свой сайт и заработать?" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Программирование с нуля - это совсем просто! 28) Народное творчество и комментарии к комментариям
Информационный Канал Subscribe.Ru |
Программирование с нуля - это совсем просто!28) Народное творчество и комментарии к комментариямДавно хотел выложить ваши примеры замечательные, но уж очень вручную оформлять исходные тексты сложно - кавычки там, символы больше/меньше надо в хтмл аккуратно перекодировать, а уж про отступы и выделения ключевых слов и не говорю... Пришлось переложить это занятие на плечи железной головы :) Помните песенку такую, народную? "Пусть работает железная пила..." И еще там что-то про работу... Написал небольшую утилитку, которая перегоняет исходный текст (пока на Паскале) в нормальный хтмл-код, пригодный, как очень хочется надеяться, для нормального восприятия в рассылках прежде всего. Поэтому сейчас я буду экспериментировать! Самой первой, приславшей достаточно оригинальный код (из тех, кто обучается с нуля), была Лена (Лена, привет! :). Вот одна из ее собственных программ:
program Project2;
{$APPTYPE CONSOLE}
var x: integer; И посложнее:
А это фокус с угадыванием чисел(в детстве играли):
program Project2;
{$APPTYPE CONSOLE}
Ответы Сергея с Украины:
1. Ввести два числа a и b и напечатать максимальное из них.
program y241;
2. Ввести три числа x, y, z. Напечатать минимальное из них.
program y242;
3. Ввести три числа x, y, z. Найти, что больше - их сумма или их
program y243;
4. Ввести три числа x, y, z. Если x > y > z, то напечатать разность x-z, в
program y244;
5. Ввести два числа a и b. Если a > b, то изменить значение a на
program y245;
Проверял, все работает! В смысле, Сергей проверял, не я :) Кстати, обратите внимание. В условных операторах, если надо выполнить один оператор в зависимости от условия, указывать begin end не обязательно. То есть вариант
if a>b then можно так записать:
if a>b then А вот если в группе команд два и более операторов:
if a>b then то сокращать группу, охваченную begin end, нельзя. Отбрасывать, в смысле, begin end, нельзя. Потому что если записать
if a>b then то на самом деле компилятор воспримет только первый оператор как относящийся к then:
if a>b then Запомнили? Понятно, в чем разница? Я специально это раньше не упоминал, чтобы вы не путались пока.
Пример Задание 4 ( самое сложное, на мой взгляд , из Далее.
====2. Ввести три числа x, y, z. Напечатать минимальное из них.===
Я тут вроде бы придумал,как можно записать программу для
Алексей
Посмотрите, Алексей сам придумал алгоритм нахождения минимального (при простейшем исправлении - максимального) числа! Очень рад. Переходом лучше никогда не пользоваться :) Алгоритм лучше так сделать - просто выполнять многократно группу команд, в данном случае 10 раз. Оператор цикла в следующем выпуске, все уже просят :)
program ex1; Два примечания. Во-первых, словами min и max лучше не пользоваться - это стандартные функции нахождения минимального и максимального из двух чисел, и хотя когда они описаны как переменные, то и будут восприниматься как переменные (это замечательное свойство Паскаля), но самими этими функциями уже воспользоваться не удастся. Это совпадение в данном случае случайно, но на будущее старайтесь избегать простых очевидных названий переменных - они могут уже быть задействованы в языке для каких-то целей. Во-вторых, посмотрите, какой Владимир хитрый :) В начале программы у него есть кусочек текста на русском языке, в фигурных скобочках. На эту тему и другие напоминают, вот Андрей например пожелание прислал: А вот чтобы это было не так, может, стоило, как я уже писал, рассказать народу про комментарии? ;) Слушаюсь! :) Итак, комментарии. Наглядность программы можно повышать разными способами. Было бы очень здорово, если бы текст, понятный компилятору , мы могли бы разбавлять своими собственными комментариями и примечаниями. Например, это мог быть текст нашего алгоритма, который мы последовательно переводили бы в программный код. Или вот как Владимир сделал. Чтобы подсказать компилятору, что некоторый текст - комментарий разработчика , и его не надо анализировать, перед таким текстом достаточно поставить два символа - "//" . Для совместимости со старыми версиями Паскаля можно также использовать фигурные скобки. Более того, допускается также такая пара: "(*" и "*)". Все, что между ними, считается комментарий. Он выделяется обычно в редакторе серым. Как только в строке встречается //, вся ее оставшаяся часть компилятором пропускается, и он переходит к разбору следующей строки. Таким образом, во-первых, после символов комментария можно указывать текст на любом языке, в том числе и русском, а во-вторых, для выделения большого количества подряд идущих строк-комментариев лучше использовать пары { } или (* *). If Psw = 0 Then // проверяем секретный код! Обратите внимание: комментарии выделяются в редакторе серым цветом. Таким образом оболочка подсказывает программисту, где находится текст программы, а где - комментарий разработчика. Профессиональные программисты отводят комментированию своих текстов очень большое значение. В серьезных государственных организациях и крупных коммерческих компаниях процесс добавления в программу комментариев считается обязательным. Так, в Министерстве обороны США на один оператор программы приходится в среднем четыреста слов комментария. Но при этом очень важно писать комментарии осмысленно. Не имеет смысла, например, для вышеприведенного условного оператора делать комментарий "сравниваем значение переменной Psw с нулем". Это и так ясно. Важно указать, что происходит в этом месте программы с точки зрения реализации основного алгоритма , а не опускаться до деталей кодирования. Правильным комментарием может быть следующая запись:
if Psw = 0 then // проверяем секретный код
{ Ничего нового не сообщено, В Си также используются // для комментария до конца строки, а многострочный можно заключать в пару /* и */. В Бейсике однократная кавычка означает комментарий до конца строки, а вот многострочного вроде бы нету. Следующий пример.
Написал программу Фэн-Шуй
{$APPTYPE CONSOLE}
var n,m,t:integer; И в заключение:
1) Задание1:
{$APPTYPE CONSOLE}
begin
2) Задание 2:
{$APPTYPE CONSOLE}
var x,y,z:integer;
end;
readln;
end.
{$APPTYPE CONSOLE}
var x,y,z:integer;
begin
readln;
end.
{$APPTYPE CONSOLE}
var x,y,z:real;
begin
{$APPTYPE CONSOLE}
var a,b:real;
end. Рассылка уже получилась здоровенная, так что в следующий раз уже продолжим публикацию ваших достижений. (c) 2004 Сергей Бобровский bobrovsky@russianenterprisesolutions.com
Школа программирования с нуля
Все предыдущие выпуски базового курса тут:
|
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.prognull |
Отписаться |
В избранное | ||