Правильное написание исходн.кодов в Турбо Паскале

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

mind

хех... смешной вопрос...:) но хоть за то, что настроение подняла - пасибо...

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

Задача

С помощью признака делимости на 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.
 
B

Barmutik

Советую сходить на Borland b скачать Borland Style Guide ... там подробно описано как правильно должон оформляться код ...
 
G

Guest

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


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

Barmutik

Так а в чём конкретно проблема ?

Пробежаться по строке от первого символа до последнего и сравнить с маской... Какой тут алгоритм или в чём тут проблема?
 
G

Guest

Главное в любом коде - это его читаемость...
Должны быть соблюдены все отступы и быть комментарии почти ко всем строкам. Кто учился в МГВРК у Назарова меня поймет! :D
 
B

Barmutik

Комментарии почти ко всем строкам значительно затрудняют читабельность кода. Комментарятся как правило только важные куски кода + краткие описания метод и объектов.
 
S

SaS1

<!--QuoteBegin-МаЛЫй+25:07:2005, 15:07 -->
<span class="vbquote">(МаЛЫй @ 25:07:2005, 15:07 )</span><!--QuoteEBegin-->Главное в любом коде - это его читаемость...
Должны быть соблюдены все отступы и быть комментарии почти ко всем строкам. Кто учился в МГВРК у Назарова меня поймет! ;)
[snapback]22542" rel="nofollow" target="_blank[/snapback]​
[/quote]
Про назарова это ты правду сказал!!!! Я у него не училась но лабы сдавала!!!! Он та ещё сука!!! Ненавижу!!! Если два бегина на одну стороку положить, то сразу 0 в журнал!!! Я с ним так ругалась по этому поводу!!! А ещё лабы когда сдаёшь, он на ходу кучу дополнительных условий придумывет и потом приходиться ещё неделю доделывать!!! И на олимпиаде вечно ко мне придирается, мол девчёнки не умеют программировать!!! Идиот!!! Просто нет слов!!
 
M

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.
 
G

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] деление выполняется с остатком.
 
B

Barmutik

И к чему это условие ?

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

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

И дают потом степень 2500 .... B)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб