Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Правильное написание исходн.кодов в Турбо Паскале
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - FAQ
пиранья
всем, привет,у меня к вам вопрос про программу паскаля, как мне правильно писать исходные коды,е сли можно напишите, на каком нибудь примере, буду рада, пока пишите, спасибо заранее, жду...
mind
хех... смешной вопрос...smile.gif но хоть за то, что настроение подняла - пасибо...

Вот тебе простой пример на паскале:

Цитата
Задача

С помощью признака делимости на 3 проверьте, кратно ли данное натуральное число 3. Напишите рекурсивную процедуру.

Решение

program delna3;
  uses crt;
  var
    i: integer;
    x: integer;
  {Функция, проверяющая условие делимости на 3}
  function summa( i:integer):integer;
    var
      sum:integer;
    begin
      sum:=0;
      while i>0 do
        begin
          sum:=sum+(i mod 10);
          i:=i div 10;
        end;
      if (sum<10) then summa:=sum
        else summa:=summa(sum);
    end;
{Основное тело программы}
begin
clrscr;
writeln( 'Vvedite X: ' ) ;
readln(x);
x:=summa(x);
if (x=3) or (x=9) then
writeln('true' )
else
writeln('false' ) ;
readkey;
end.
Barmutik
Советую сходить на Borland b скачать Borland Style Guide ... там подробно описано как правильно должон оформляться код ...
амаяк
пожалуйсто помогите решить задачу на паскале, хотябы алгоритм


СООТВЕТСТВИЕ ШАБЛОНУ. Установить соответствие имени файла заданному шаблону. Шаблоном называется строка, в которой “,” означает любой символ, а “*” означает любую последовательность символов, в том числе пустую.
Barmutik
Так а в чём конкретно проблема ?

Пробежаться по строке от первого символа до последнего и сравнить с маской... Какой тут алгоритм или в чём тут проблема?
МаЛЫй
Главное в любом коде - это его читаемость...
Должны быть соблюдены все отступы и быть комментарии почти ко всем строкам. Кто учился в МГВРК у Назарова меня поймет! laugh.gif
Barmutik
Комментарии почти ко всем строкам значительно затрудняют читабельность кода. Комментарятся как правило только важные куски кода + краткие описания метод и объектов.
SaS1
Цитата(МаЛЫй @ 25:07:2005, 15:07 )
Главное в любом коде - это его читаемость...
Должны быть соблюдены все отступы и быть комментарии почти ко всем строкам. Кто учился в МГВРК у Назарова меня поймет! laugh.gif
*

Про назарова это ты правду сказал!!!! Я у него не училась но лабы сдавала!!!! Он та ещё сука!!! Ненавижу!!! Если два бегина на одну стороку положить, то сразу 0 в журнал!!! Я с ним так ругалась по этому поводу!!! А ещё лабы когда сдаёшь, он на ходу кучу дополнительных условий придумывет и потом приходиться ещё неделю доделывать!!! И на олимпиаде вечно ко мне придирается, мол девчёнки не умеют программировать!!! Идиот!!! Просто нет слов!!
mike.dld
Эх, девушки, девушки... Не надо обижаться на Назарова, потому как он прав. Точнее говоря, а много ли девушек вы видели, которые действительно умеют программировать? Когда я учился в МГВРК, и в группе было 15 девушек из 22 человек, реально что-то написать могли только 2-3. Не буду говорить, что и среди парней мало кто блистал, но про девушек - это статистика.

>> Если два бегина на одну стороку положить, то сразу 0 в журнал!
Надо учиться доказывать свою точку зрения - это раз. А два - прав в этой ситуации Назаров. Потому что для того, чтобы проверить твою программу на правильность, он совершенно не должен сидеть и разбираться в твоём стиле программирования. У него самого неплохой стиль, а если вас преподаватель не научил оформлять исходный код, а сами вы пишете чёрт ногу сломит - так на кого тогда пенять?

Что касается коде, приведённого выше, то я бы оформил его так:
 program delna3;
uses crt;

var
  i: integer;
  x: integer;

{ Функция, проверяющая условие делимости на 3 }
function summa(i: integer): integer;
var
  sum: integer;
begin
  sum := 0;
  while i > 0 do begin
    sum := sum + (i mod 10);
    i := i div 10;
  end;
  if sum < 10 then
    summa := sum
  else
    summa := summa(sum);
end;

{ Основное тело программы }
begin
  clrscr;
  writeln('Vvedite X: ');
  readln(x);
  x := summa(x);
  if (x = 3) or (x = 9) then
    writeln('true')
  else
    writeln('false');
  readkey;
end.
Guest_SmARTy_*
Задача предлагалась в 2004-2005 уч. году на районной (Ленинский р-н) олимпиаде по информатике для 10-11 классов.

Задача №3 - "Особый год"
Некий астролог заметил, что существуют года, являющиеся особыми для развития человечества. Для определения, является ли год N особым, астролог приводит следующие вычисления.
1. Записывают N раз подряд число N.
2. Рассматривает полученную последовательность как одно число M (пусть и очень большое).
3. Делит число M на N^2.
4. Если остаток от деления равен нулю, то год особый, иначе - нет.
Найдите все особые года из промежутка от K1 до К2, или укажите, что таких годов нет.
Входные данные: Два числа К1 и К2 (1<=K1<K2<=40000), где К1 и К2 - начальный и конечный концы промежутка.
Выходные данные: Числа из промежутка от К1 до К2, являющиеся "особыми годами" или слово NO, если в данном промежутке таких чисел нет.
Пример входных данных: 1 10 Пример выходных данных: 1 3 9
Пояснение: Для числа 1 : 1 делится на 1. Для числа 3: 333 делится на 9. Для числа 9: 999999999 делится на 81. Для остальных чисел промежутка [1;10] деление выполняется с остатком.
Barmutik
И к чему это условие ?

Для олимпиады нормально .. для потом уже нормально ..

Эта задача сродни задаче ... возведите число 2 в в указанную степень степень ...

И дают потом степень 2500 .... cool.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.