IPB

Здравейте ( Вход | Регистрация )

> Помощ за задача, на Pascal
wiLdb0y
коментар Jun 6 2008, 13:53
Коментар #1


Нов Потребител

Група: Потребители
Коментари: 5
Регнат: 25-June 07
Име: Qkim
Пол: Мъж



Някой да има идея как да направя програма която от ЕГН-то да извежда възраст и пол ?
Go to the top of the page
 
+Quote Post
2 страници V  < 1 2  
Start new topic
Отговори (20 - 31)
club135
коментар Jun 17 2008, 22:19
Коментар #21


Spammerman

Група: Потребител +
Коментари: 2,555
Регнат: 3-December 06
От: Пловдив
Име: Жоро
Пол: Мъж



Код
program chisla;
var a:real;
begin
write('a='); readln(a);
if a mod 5=0 and a mod 15=0 then writeln('a се дели на 5 и 15')
else if a mod 5=0 and a mod15<>0 then writeln('а се дели на 5, но не и на 15')
else writeln('а не се дели на 5');
readln;
end.


Ама пиши дали е станало, защото не ми се занимава да си качвам разни паскали и прочее. Действам по памет и ми е интересен резултата.

редакция: редактирах си кода.
Go to the top of the page
 
+Quote Post
akolevutd
коментар Jun 17 2008, 22:56
Коментар #22



Група: Глобален Модер
Коментари: 1,071
Регнат: 24-June 06



Ето това е алгоритъма:
Код
Console.Write("Vuvedete chislo: ");
            int n = int.Parse(Console.ReadLine());
            
            if( n % 5 == 0 && n % 15 == 0 ) {
                Console.WriteLine("Chisloto se deli na 5 i 15.");
            }
            if( n % 5 == 0 && n % 15 != 0 ) {
                Console.WriteLine("Chisloto se deli na 5.");
            }

club135, правиш една проверка дали числото се дели на 15 и да не се дели на 5. Няма смисъл от нея откъм аретметика, защото математически погледнато, едно число не може да се дели на 15 и да не се дели на 5.
Go to the top of the page
 
+Quote Post
gibona
коментар Jun 17 2008, 23:06
Коментар #23


Смахнат програмист

Група: Модератори
Коментари: 1,279
Регнат: 25-March 06
От: Пловдив
Име: Александър
Пол: Мъж



1. В Pascal % се заменя с mod
2. В Pascal няма != а има <>
3. конструкцията program не е задължителна
с поправките се получава:
Код
var a:real;
begin
write('a='); readln(a);
if (a mod 5 = 0 )and (a mod 15 = 0) then writeln('a се дели на 5 и 15');
if (a mod 5 = 0) and (a mod 15 <> 0) then writeln('а се дели на 5, но не и на 15');
if (a mod 5 <> 0) and (a mod 15 = 0) then writeln('а не се дели на 5, но се дели на 15');
if (a mod 5 <> 0) and (a mod 15 <> 0) then writeln('а не се дели нито на 5, нито на 15');
readln;
end.

Go to the top of the page
 
+Quote Post
club135
коментар Jun 18 2008, 00:28
Коментар #24


Spammerman

Група: Потребител +
Коментари: 2,555
Регнат: 3-December 06
От: Пловдив
Име: Жоро
Пол: Мъж



Абе за едно съм сигурен - няма число, което да се дели на 15 и да не се дели на 5... третата проверка ти е излишна.
Go to the top of the page
 
+Quote Post
d_100
коментар Jun 18 2008, 07:42
Коментар #25


Нов Потребител

Група: Потребители
Коментари: 8
Регнат: 23-April 06
Име: dimitar
Пол: Мъж



Цитат(gibona @ Jun 18 2008, 00:06) *
Код
var a:real;
begin
write('a='); readln(a);
if (a mod 5 = 0 )and (a mod 15 = 0) then writeln('a се дели на 5 и 15');
if (a mod 5 = 0) and (a mod 15 <> 0) then writeln('а се дели на 5, но не и на 15');
if (a mod 5 <> 0) and (a mod 15 = 0) then writeln('а не се дели на 5, но се дели на 15');
if (a mod 5 <> 0) and (a mod 15 <> 0) then writeln('а не се дели нито на 5, нито на 15');
readln;
end.

Не разбирам много но кода мисля че е правилен и аз бях започнал така но дава грешка и на двата кода постнати тука на равното и петицата нещо от рода,
Error 41 Operand types do not match operator.
Снимка
Go to the top of the page
 
+Quote Post
vIkToRsHeFa
коментар Jun 18 2008, 07:59
Коментар #26


.: БосСс В ДжУнГлАтА :.

Група: Администратори
Коментари: 15,312
Регнат: 25-April 05
От: Гр. Пловдив
Име: Виктор Шапилов
Пол: Мъж



Кода на гибона си работи, просто не се е осетил че mod-a баца само за интеджер променливите... wink.gif

QUOTE
var a:integer;
begin
write('a='); readln(a);
if (a mod 5 = 0 )and (a mod 15 = 0) then writeln('a се дели на 5 и 15');
if (a mod 5 = 0) and (a mod 15 <> 0) then writeln('а се дели на 5, но не и на 15');
if (a mod 5 <> 0) and (a mod 15 = 0) then writeln('а не се дели на 5, но се дели на 15');
if (a mod 5 <> 0) and (a mod 15 <> 0) then writeln('а не се дели нито на 5, нито на 15');
readln;
end.


Иначе забележката която вметна Жоро е уместна, число което се дели на 15 във всеки случай се дели и на 5, тоест оптималнит код е:
CODE
Program Chisla;

var a:integer;

Begin
write('a='); readln(a);
if (a mod 5 = 0 )and (a mod 15 = 0) then writeln('a се дели на 5 и 15');
if (a mod 5 = 0) and (a mod 15 <> 0) then writeln('а се дели на 5, но не и на 15');
if (a mod 5 <> 0) and (a mod 15 <> 0) then writeln('а не се дели нито на 5, нито на 15');
readln;
End.
Иначе "program" клаузата нека не е задължителна, аз лично се старая и кода ми да е прегледен, полезно е при по-големи проекти, където после като си препрочиташ кода и се чудиш какви си ги вършил... biggrin.gif

Иначе като вариант тъй като това е само за целите числа, ако се налага и за реално число да се определи дали се дели на 5 може да се позлва и просто деление. Прави се обратна проверка и ако резултата е различен от входа.... А за тая цел имаше и по-елегантни методи при паскала... smile.gif

ПП. Ще ме карате на стари години към удавения делфин(делфито) и баща му паскала да се връщам... biggrin.gif
Go to the top of the page
 
+Quote Post
d_100
коментар Jun 18 2008, 08:52
Коментар #27


Нов Потребител

Група: Потребители
Коментари: 8
Регнат: 23-April 06
Име: dimitar
Пол: Мъж



Mного съм глупав ако го знаех щях да го оправя туи даже и в учебника не го пише huh.gif
Благодаря на всички отзовали се повече няма да ви притеснавам. wink.gif smile.gif
Go to the top of the page
 
+Quote Post
akolevutd
коментар Jun 18 2008, 14:18
Коментар #28



Група: Глобален Модер
Коментари: 1,071
Регнат: 24-June 06



Цитат(d_100 @ Jun 18 2008, 09:52) *
Mного съм глупав ако го знаех щях да го оправя туи даже и в учебника не го пише huh.gif
Благодаря на всички отзовали се повече няма да ви притеснавам. wink.gif smile.gif

Винаги една променлива трябва да и придаваш bool, string, int, doble, char ... В pascal-a не зная дали така се пишат или трябва да се пишат пълните имена: boolean, integer etc.
gibona, моя код не е на Pascal и заради това не съм писал с mod и <>
Go to the top of the page
 
+Quote Post
gibona
коментар Jun 18 2008, 14:35
Коментар #29


Смахнат програмист

Група: Модератори
Коментари: 1,279
Регнат: 25-March 06
От: Пловдив
Име: Александър
Пол: Мъж



В паскал са:
integer, word, short, char boolean, string, set of ...., array [x..y] of .... и т.н.
akolevutd - знам че не е паскал, но момчето очаква да му напишеш на паскал, едва ли ще чатне друг език
Go to the top of the page
 
+Quote Post
club135
коментар Jun 18 2008, 16:00
Коментар #30


Spammerman

Група: Потребител +
Коментари: 2,555
Регнат: 3-December 06
От: Пловдив
Име: Жоро
Пол: Мъж



Някой май спомена нещо за биричка...
Go to the top of the page
 
+Quote Post
d_100
коментар Jun 18 2008, 18:52
Коментар #31


Нов Потребител

Група: Потребители
Коментари: 8
Регнат: 23-April 06
Име: dimitar
Пол: Мъж



Ooooo съжалявам пропуснах (не от лоши чувства сега е края на годимата и има много напрежение в училище).Но ако имате път към Сливен не една бира а цяла каса tongue.gif smile.gif
Go to the top of the page
 
+Quote Post
vIkToRsHeFa
коментар Jun 19 2008, 13:29
Коментар #32


.: БосСс В ДжУнГлАтА :.

Група: Администратори
Коментари: 15,312
Регнат: 25-April 05
От: Гр. Пловдив
Име: Виктор Шапилов
Пол: Мъж



QUOTE(d_100 @ Jun 18 2008, 19:52) *
Но ако имате път към Сливен не една бира а цяла каса tongue.gif smile.gif
Е тука направи голяма грешка, Бат Жоро не е малко луд особено щом се касае за каса биричка... biggrin.gif

ПП. Иначе сериозно за такива простички нещица(5-6 реда кодец) сега... blush.gif
Go to the top of the page
 
+Quote Post

2 страници V  < 1 2
Reply to this topicStart new topic
1 потребител(и) четат тази тема (1 гости и 0 скрити)
0 Потребител(и):

 



- Елате в .: BGtop.net :. Топ класацията на българските сайтове и гласувайте за този сайт!!! Олекотена версия

Сега е: 27th April 2018 - 08:27