Камрады,снова я к вам с поклоном!Помощь нужна опять по информатике

семен

Камрады,выручайте.Как то обращался уже,помогли,ещё раз помощи прошу.Задачу нужно ребёнку завтра сдать по информатике этой.Суть такова: Дано четырёхзначное целое число.Посчитать,сколько раз в этом числе повторяется первая цифра, и проверить кратно ли 5 произведение крайних цифр этого числа.Стройные функции Turbo Pascal использовать inc(x). Вот такая загогулина.Камрад,кто помог в прошлый раз,отзовись пожалуйста!

DesignerHP

Вот это пока посмотрите. Хоть что-то, чем совсем ничего ))

http://forum.sources.ru/index.php?s=45e4f2b014d270e157f6e4f26a40f1f6&showtopic=141212

семен

Вот это пока посмотрите
Спасибо.Но я ни в зуб ногой,ребёнок тоже.Может ещё варианты есть?

be_happy

Ребят, качаем Фаронова 1-й учебник и вперёд! Осваиваем великий и могучий Паскаль))

семен

Паскаль
Да я от этих слов,как бес от ладана.Не осилю.))))

be_happy

Чего ж дитё учится так плохо? Чё за число хоть дано? или его найти надо?

preved-medved86

be_happy
Чего ж дитё учится так плохо? Чё за число хоть дано? или его найти надо?

Я так понял, что прога должна проделывать операции с любым 4-х значным числом.

be_happy

ладно, ща сделаем - с вас пиво))))))))

семен

ладно, ща сделаем - с вас пиво
Без вопросов!

семен

Чего ж дитё учится так плохо
Дитё учится отлично,но не её профиль информатика,забивает на неё,другие науки осваивает.

семен

Чё за число хоть дано? или его найти надо
Не дано ничего вроде про число.Всё,как в начальном посте,дословно.

be_happy

program test;
uses crt;
var w, tw, ans1: word;
strw: string;
ans2: boolean;
fv: char;
p1,p2,pp: integer;
tr: real;
begin
clrscr;
write('Vvedite chislo:'); read(w); readln;
str(w,strw);
fv:=strw[1];
ans1:=0;
for tw:=2 to 4 do
if fv=strw[tw] then inc(ans1,1);
val(fv,p1,pp);
val(strw[4],p2,pp);
tr:=p1*p2/5;
if frac(tr)>0 then ans2:=false else ans2:=true;
writeln('pervaia cifra povtoriaetsia:',ans1);
if ans2 then
writeln('kraynie chisla kratny 5')
else
writeln('kraynie chisla ne kratny 5');
writeln;
write('Press ENTER to exit... ');
readln;
end.


З.Ы. написал так как понял условие

семен

написал так как понял условие
Спасибо.Как с пивом быть?)))

be_happy

Да лан, шутка - накладно будет в волгоград слать)))

NeMaCer

написал так как понял условие

Игорь, я, все-таки, каждый раз восхищаюсь навыками программистов в принципе, и твоими в частности!

The_Bestia

Господи, бедные дети...

Johann-74

Офигеть)

Dimon Hell

Не, ну я догадывался, что программеры - инопланетяне, но когда так наглядно... Тут даже и пивом не отделаешься. 😀
Кто-то видит просто буквы и цифры, а кто-то блондинку, брюнетку...

семен

Кто-то видит просто буквы и цифры, а кто-то блондинку, брюнетку
Кто на что учился,как говорится,или каждому своё.)))))
Господи, бедные дети
Вот и я о том.

be_happy

Дитё учится отлично,но не её профиль информатика,забивает на неё,другие науки осваивает.
Ну успехов ей тогда в других науках)

семен

Ну успехов ей тогда в других науках
Спасибо большое.Будете в Москве пишите,или я Доктора Влада попрошу,как в Волгоград поедет,пиво передам с ним.))))

NeMaCer

семен
Кто на что учился,как говорится,или каждому своё.)))))

Меня и поражает, способность людей в этом разбираться.
Просто, я знаком IRL с Игорем, он, полностью писал мне ПО для магазина, и это я ему да ссылку на эту тему, надеюсь ТС не против, но я не понимаю, как можно в этом разбираться?!!

Мой предел, это "Hello world", и то, в Бейсики 😊

семен

надеюсь ТС не против,
Я только За.)))

OlegW

Семен, это в школе такие задания дают?
У меня это было на первом курсе универа. А в школе мы на Бейсике квадратики рисовали.

семен

, это в школе такие задания дают
Да,предмет информатика.

OlegW

семен
Да,предмет информатика.

Мда, бедные дети......

DIZ

Сергей, а у нее дома на компе есть где проверить работу программы? Компилятор Pascal стоит?

семен

Мда, бедные дети
Причём каждый препод считает свой предмет основным и грузит по полной.Я вот никак не пойму зачем нужно так сильно углубляться,ну сделали бы в форме семинаров,кому надо посещают.
Сейчас приедет из школы,узнаю,как прошло с задачей.

семен

Сергей, а у нее дома на компе есть где проверить работу программы? Компилятор Pascal стоит?
Блин,даже не знаю,компов у неё аж три штуки вместе с ноутом и нетбуком,а что там стоит,я даже туда и не лезу,со своими двумя классами церковно-приходской.))))Поинтересуюсь,когда увижу.

DIZ

Ты спроси. Ей может самой будет интересно. А главное наглядно. Да и освоить в объеме школьной программы может каждый. Ей же по жизни все равно придется пользоваться техникой. Так хоть бояться не будет на кнопки нажимать.

be_happy

Как всё прошло-то?

am_pelmen

Причём каждый препод считает свой предмет основным и грузит по полной.Я вот никак не пойму зачем нужно так сильно углубляться,ну сделали бы в форме семинаров,кому надо посещают.
Сейчас приедет из школы,узнаю,как прошло с задачей.
Я не так давно закончил школу, но еще успел сдавать экзамены по старому и старую школу образования в какой-то мере застал... И я сейчас радуюсь что нас грузили и гоняли... Гляжу темы про реформу образования и выть хочется...
А информатика... Она творческая) Один раз понять и разобраться. а дальше понравится! Я учился, помню на листочке программы писал, а потом в школе проверял...

------------------
Снимаю. Порчу.

growantr

Я б ребёнку готовую прогу не подсунул, не педагогично - привыкнет к халяве.
Объяснить ребёнку по человечески, что надо делать, чтоб задачу решить, а там пусть сам кумекает.
Если коротко, то вводимое число (например 1234) в программе представляется как набор символов 1-2-3-4.
Для решения первого вопроса введём переменную-счетчик и установим её в ноль. Затем запомним первый символ и будем последовательно (в цикле) сравнивать с ним все остальные. Как только появится совпадение увеличим счетчик на 1. После сравнения всех цифр значение счётчика равно количеству совпадений.
Для второго задания запомним первую и последние цифры (символы). Перемножим их и поделим на 5. В приведённой проге отбрасывается целая часть и если дробная часть больше нуля, то произведение крайних цифр не кратно 5, иначе кратно. В некоторых языках есть специальные операторы проверки кратности.
Тут главное не программирование, а математика.

DIZ

growantr
вводимое число (например 1234) в программе представляется как набор символов 1-2-3-4.
Не. Так не пойдет. Нужно было последовательно в тему входить. С середины сложно для восприятия будет.

growantr

Я ж коротко. К тому же, если "такое" задают, то надоб понимать.

семен

Как всё прошло-то
Прошло нормально.Но снова вот задали,опять за хелпом .Понимаю,что надоел,но больше не к кому.)))Такая задача: Дано четырёхзначное целое число.
а) посчитать произведение цифр этого числа,принадлежащих промежутку от 2 до 6
б)заменить на НОЛЬ первые две цифры этого числа,если они чётные
И вторая задача:
Даны пять трёхзначных чисел.Посчитать кол-во тех чисел,у которых сумма цифр равна А(число А вводится с клавиатуры)
Задачи нужно опять на языке Турбо-Паскаль.Выручайте,камрады!

DIZ

Они массивы уже изучали?

семен

Они массивы уже изучали?
Да нет.Информатика это не профильный предмет для школы,там на языки упор.Знаний по информатике не требуют,но задачи решать обязывают,такой подход.С физруком я то договорился)))),а вот с информатикой никак.)))))

DIZ

Сергей, по второй задаче без массивов неудобно решать. Или списки использовать, что еще сложнее.
С физруком, IMHO, зря договаривался. Хоть какая-то подвижность. Или она ходит куда-то отдельно от школы?

ean

Мужики , как у Вас здесь интересно ! Только ни черта не понимаю . Другой профиль .
Хорошо что Ганза есть , и товарисчей не счесть - помогают !
Sorry , что не в тему , просто приятно видеть понимание . Слегка пьян .

семен

Или она ходит куда-то отдельно от школы
Теннис с персональным тренером,раз в неделю плавание,горные лыжи в сезон с инструкторами,сейчас уже без.

семен

по второй задаче без массивов неудобно решать. Или списки использовать, что еще сложнее
Чего делать то???

Second Max

Щас тряхну стариной. Коньяк вот допью.

DIZ

Тогда порядок. А то думал ты с физруком договорился как с тем почтальоном из "Славных парней", которому голову в духовку засовывали. 😊
Ждем помощников по информатике. Сам когда-то учил лет 20 назад. Сейчас тяжко вспоминать, но как "оружие последнего шанса" буду тут неподалеку. 😊

Zilraen

по второй задаче без массивов неудобно решать. Или списки использовать, что еще сложнее
можно переменные обозвать
a1
a2
a3
a4
...
aN

😊

и развернуть цикл в "китайский код".

семен

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

golddragon

семен
уважаемый в спортивных кругах позвонил и сувенир передал,

отрезанную конскую голову?))

семен

и развернуть цикл в "китайский код".
Эээ,даже не знаю,как это?А поподробнее можно,пожалуйста.

семен

отрезанную конскую голову
Фотографию со своим автографом,подкинулся физрук,как от конской головы.))))

Zilraen

семен
Эээ,даже не знаю,как это?А поподробнее можно,пожалуйста.
конечно. вот инфа с лурка:

Kитайский код - стиль написания программ, нарушающий принцип НПС («Не повторяй себя» ). Китайский подход к программированию требует эксплицитного отказа от циклов, локальных переменных, любых процедур и условных выражений, а также использования технологии copy-and-paste чуть менее, чем везде. Такой подход точно увеличивает объём исходников и может увеличить производительность (ведь пропускаются такты на джамповые команды).
Возьмём, к примеру, такой кусочек программы на C:


int arr[10];
int i;
for (i = 0; i « 10; i++)
{
arr[i] = 0;
}
Который, кстати, вполне мог бы выглядеть и так:

int arr[10] = {0};
Типичный программист в китайском стиле напишет это так:

int a0 = 0;
int a1 = 0;
int a2 = 0;
int a3 = 0;
int a4 = 0;
int a5 = 0;
int a6 = 0;
int a7 = 0;
int a8 = 0;
int a9 = 0;
и в дальнейшем будет использовать a0, a1, a2, a3, a4 и т.д.

семен

конечно. вот инфа
Блин,точно не осилит,мне бы вариант решения готовый,чтобы в тетрадь переписать и сдать.

Zilraen

Блин,точно не осилит,мне бы вариант решения готовый,чтобы в тетрадь переписать и сдать.
тут - сорри, я турбо паскаль с первого курса не видел, а вникать заново - нет времени 😞
решение в псевдокоде могу дать, а готовый к сдаче код на паскале - нет.

семен

решение в псевдокоде могу дать
Дайте пожалуйста,если не затруднит.Может ещё кто на помощь придёт.))

семен

Щас тряхну стариной. Коньяк вот допью.
Ну как коньяк?Хорошо идёт?Жду.))))))

Zilraen

в меру сил пытаюсь вспомнить паскалевский синтаксис.
меня аццки глючит, решения явно не оптимальное, но получается примерно так:
1. Дано четырёхзначное целое число.
а) посчитать произведение цифр этого числа,принадлежащих промежутку от 2 до 6
б)заменить на НОЛЬ первые две цифры этого числа,если они чётные


{определяем функцию, которая будет проверять наше условие}
function test(a:integer)
begin
if a »= 2 AND a «= 6 then
test := a;
else
test := 1;
end;

var
{определяем нужные переменные, a1..a4 и result. массив не использую.}
a1, a2, a3, a4, result:integer

begin

{читаем четыре разряда числа. как это правильно делается, я не помню, может быть ошибка}
read(a1,a2,a3,a4);

{умножаем}
result := test(a1);
result := result * test(a2);
result := result * test(a3);
result := result * test(a4);

if result = 1 then
result := 0;

{выводим результат умножения}
writeln(result);

if (a1 [b]mod 2 == 0) AND (a2 mod 2 == 0) then
begin
a1 = 0;
a2 = 0;
end;
{выводим новое (или старое, если условие не выполнено) число, по разрядам}
writeln(a1,a2,a3,a4);

end;

growantr

задача 1 вопрос 1:
введём 2 массива,
в первый запишем поэлементно(поциферно) рассматриваемое число;
в другой будем записывать числа большие 2, меньшие 6;
в цикле по элементам 1-го массива, если элемент от 2 до 6 пишем его во 2-й массив, иначе следующая итерация цикла
перемножаем все элементы 2-го массива между собой (скорее всего в цикле);
выводим результат перемножения.
задача 1 вопрос 2:
используем первый массив,
в цикле по первым двум элементам 1-го массива, элемент делим на 2, отбрасываем целую часть;
смотрим на остаток: если остаток больше ноля элемент не кратен 2-м, иначе пристваеваем элементу значение ноль.
вывод массива в качестве числа.

задача 2:
введём переменную-счётчик количества чисел, у которых сумма цифр равна А;
ввведём массив в который будем записывать поочереди каждое 3-х значное число;
в цикле от 1 до 5 (по количеству чисел)
запишем в массив поэлементно число;
считаем сумму элементов массива;
сравниваем сумму и А;
если равны увеличиваем счётчик на 1, иначе нет;
обнулим массив;
следующая итерация цикла.
после перебора всех чисел смотрим на счётчик.

Я в синтаксисе Паскалей ноль, поэтому только теория. Эдак всё вспомниш, даже чего незнал=)


семен

Спасибо камрады!!!)))) Ещё есть варианты,на Паскале этом?

Johann-74

Ну вы жжоте))), тарабарская грамота какая-то))). Мое уважение.

семен

Ну вы жжоте))),
Какой там жжоте,задание домашнее горит!))))

growantr

Вот тут вспомниш о "стандартах". Меня вроде так глубоко не учили (94-96г.) Может у Вас школа с уклоном?

семен

Может у Вас школа с уклоном?
С углублённым изучением иностранных языков.)))

Zilraen

2. Даны пять трёхзначных чисел.Посчитать кол-во тех чисел,у которых сумма цифр равна А(число А вводится с клавиатуры)

{массивы опять-таки не использую, хоть это и изврат}

function getSum(a: integer)
begin
getSum := (a mod 10) + (a mod 100) div 10 + (a mod 1000) div 100;
end;

{процедура проверки равенства суммы А}
procedure test(a:integer)
begin
if getSum(a) = A then count := count + 1;
end;

var a1, a2, a3, a4, a5, A, count: integer

begin
{считываем числа}
readln(a1);
readln(a2);
readln(a3);
readln(a4);
readln(a5);
{считали A}
readln(A);

{сбрасываем счетчик}
count := 0;

{считаем-проверяем}
test(a1);
test(a2);
test(a3);
test(a4);
test(a5);

{выводим результат подсчета}
writeln(count);

end;

Zilraen

это НЕ валидный код на паскале, там 100% куча глюков, но, если обтесать напильником - вполне покатит как решение ЧАСТНОГО случая представленных задач.

DIZ

Zilraen
массивы опять-таки не использую, хоть это и изврат
IMHO, эти задачи на использование массива. Иначе действительно изврат выйдет.

Zilraen

IMHO, эти задачи на использование массива.
я того же мнения, но:
Они массивы уже изучали?
Да нет.

Иначе действительно изврат выйдет.
изврат уже вышел 😊 мне стыдно 😞

семен

эти задачи на использование массива.
Так как записать в тетрадь то?)))))))

Zilraen

Так как записать в тетрадь то?)))))))
если не найдется полный и точный ответ - качайте Turbo Pascal 7.1 - и пробуйте скомпилировать, попутно исправляя те ошибки, которые я там наворотил. 😊

то, что получится в итоге - и запишите в тетрадь.

ЗЫ на том же сайте как раз и мануалки есть.

семен

скомпилировать, попутно исправляя те ошибки, которые я там наворотил.
Камрад,мне проще опять суахили вспомнить и на нём заговорить,чем Паскаля скомпилировать.))))Вот и прошу вариант,чтобы сразу в тетрадь.

DIZ

Zilraen
если не найдется полный и точный ответ - качайте
Не, ну это не выход. Я думаю Сергей оценит шутку. 😊

семен

Я думаю Сергей оценит шутку
Всё равно спасибо))Жду,обещали ещё коньяк допить и тряхнуть старину Паскаля.)))))))

Zilraen

семен
Камрад,мне проще опять суахили вспомнить и на нём заговорить,чем Паскаля скомпилировать.))))Вот и прошу вариант,чтобы сразу в тетрадь.
DIZ
Не, ну это не выход. Я думаю Сергей оценит шутку.
это сорри, но по-другому пока не получается.
может, чуть позже (это ведь не на завтра? 😊 ).

миха гаи

это пипец...бедный ребёнок...Серёг выдай её уже замуж,и ну нах ту учёбу...самое интересное, в 99% ей эта тарабарщина куй поможет борщ сварить...((((

Second Max

Турбо паскаль скачнул у мня не работает никуя под 64 разрядную ось

Накропал по памяти

Прошло нормально.Но снова вот задали,опять за хелпом .Понимаю,что надоел,но больше не к кому.)))Такая задача: Дано четырёхзначное целое число.
а) посчитать произведение цифр этого числа,принадлежащих промежутку от 2 до 6


Program semen;

var n: Integer; { вводимое число}
var p: Integer; { тут будет произведение цифр этого числа,принадлежащих промежутку от 2 до 6}
var i: Integer; { индекс для цикла}
var m: Integer; { промежуточные вычисления}
var k: Integer; { промежуточные вычисления}
var b: Integer; { промежуточные вычисления}
var r: Integer; { результат}

p:=1; { инициализируем единицей}
m:=n;
for i := 0 to 3 do
begin

m:=n div 10; {получаем число без младшей цифры}
k:=n mod 10; { берем от деления числа на 10 т.е получаем младшую цифирь}
b:=k mod 2; { если b =0 то k четное иначе нечетное нихрена}
n:=m;

if k<2 and k»6 then {тут перемножим цифири кторые отдвух до шести}
p:=p*k;
end;
if b=0 and i>=2 then {тут если первые два числа четные обнуляем}
k:=0;
end;
r:=r+k*exp(i*ln(10)); {собираем число заново}
i:=i+1;
end;

Writeln(' произведение цифр этого числа,принадлежащих промежутку от 2 до 6=', p);

Writeln(' само чило=', r);
END.

Без массивов. Если что прошу прощения 15 лет прошло.
Коньяк вообще отстой. Убеждаюсь который раз. Перцовка наше все 😊

семен

Серёг выдай её уже замуж,
Она не хочет пока,я спрашивал.)))Хочет выучиться и что-то достичь в жизни.)))К замужеству её и я пока не готов,ещё слишком нервный,боюсь зятя угандошить сразу.))))

golddragon

семен
К замужеству её и я пока не готов,ещё слишком нервный,боюсь зятя угандошить сразу.)

😀 😀 😀 😀 😀 😀 😀

семен

Перцовка наше все
Спасибо.А какую пьёте?

миха гаи

семен
ещё слишком нервный,боюсь зятя угандошить сразу.))))edit log
выходит мне ни куя не светит...(((... 😛 )))))))))))))))))))))

Second Max

Вообще ничего баловать если учиться собралась. Пусть программировать учиться. Для головы только польза. Приучает структурно мыслить. Тем более ничего принципиально сложного для понимания нет. Вот будет изучать какие нибудь турбулентные струи там да. Или гильбертовы пространства .Писец не разберешь что почем. Вот авиаконтсруктор Лавочкин в 70 лет пошел и на программиста выучился. А тут молодая умная красивая девчонка и ленится.
А вообще всех поздравляю. Желаю счастья здоровья вам и вашим детям особенно. Чтоб войны не было. Дети чтоб умные были и пошли дальше родителей 😊

DIZ

Second Max
Накропал по памяти
Работать не будет. 😊 Качните Pascal отсюда.

Second Max

QUOTE]Спасибо.А какую пьёте?[/QUOTE]
Немиров. больше никакую. Если вы интересуетесь в плане благодарности то во первых рановато (не отлажена программа в компиляторе) а во вторых я на общественных началах помог 😊 И вообще пьянство зло 😊

миха гаи

Second Max
Вот будет изучать какие нибудь турбулентные струи там да. Или гильбертовы пространства
ииипать копать...а это ещё куда...??? ))))

семен

Вообще ничего баловать если учиться собралась
Дык она не по этому профилю,гуманитарий,как и все её близкие родственники.)))

Second Max

Дык она не по этому профилю,гуманитарий,как и все её близкие родственники.)))
Гуманитарий это гут. Тем более пригодиться. Гуманитариям думать надо. Пусть еще на формальную логику наляжет. Оч пригодиться

семен

Гуманитариям думать надо.
Да не голова светлая,учитель на дом приходит по математике к ЕГ готовит,хвалит очень,говорит что и к точным наукам талант есть.Но вот информатика никак,она себе отложила,что это ей не нужно и не идёт у неё.

am_pelmen

Да не голова светлая,учитель на дом приходит по математике к ЕГ готовит,хвалит очень,говорит что и к точным наукам талант есть.Но вот информатика никак,она себе отложила,что это ей не нужно и не идёт у неё.
Зря кстати, информатика в обычном виде по сути обычное пользование ПК. В вот программирование вообще-то процесс тонкий и творческий, и довольно интересный. Наверное в начале что-то незаладилось, теперь как затяжной отголосок... А в жизни... А в жизни все пригодится)

------------------
Снимаю. Порчу.

DIZ

Сергей, так чего с задачками?

семен

Сергей, так чего с задачками?
Вот вроде Second Max на первую ответ дал,а на вторую не знаю даже.
Мне бы конечно допустим так:по первой задаче в тетрадь дословно пишем то-то,по второй то-то.И я был бы счастлив.Но всем коллегам спасибо за поддержку и участие.))))

golddragon

миха гаи
ииипать копать...а это ещё куда...??? ))))

забей))

NeMaCer

семен
Прошло нормально.Но снова вот задали,опять за хелпом .Понимаю,что надоел,но больше не к кому.)))

Поздно тему увидел.
С такими вопросами, проще, к be_happy, он с Паскалем, по старой памяти, дружен. Поэтому, в личку ему надо было постучать, а то, он в 5 не бывает. Сейчас, к сожалению, не в сети.

Micola_mgn

мне кажется, что таки надо. тем паче, что склонность к точным наукам есть. вс. эту школьную информатику можно разделить на 2 части. Алгоритмизация и написание программы. Языки написания варьируются. К графическим алгоритмам школьнеги относятся несколько своеобразно - типо всё просто. Но с кодом исть проблемы.

По задаче - есть некое число XYZX. Строчные функции использовать низзя.
Т.е. определение цифры сводится к делению нацело на 10. Эта операция выполняется 4 раза (задача простая, число не переменной длинны, а чётко 4-х значное, т.е. массиывами можно не пользоваться).
XYZX / 10 = XYZ, остаток X - переменная_4
XYZ / 10 = XY, остаток Z - переменная_3
XY / 10 = X, остаток Y - переменная_2
X / 10 = 0, остаток X - переменная_1

Для первой подзадачи (сколько раз в этом числе повторяется первая цифра) - надо сравнить значение переменной_1 со всеми остальными. Сколько раз равняется - столько и повторяется.
Для второго условия - делим нацело переменную_1 на переменную_4. Если остаток равен 0 - значит кратно, иначе - не кратно.

DIZ

Первая задача:

Program p1;
Var
a,b,i,p : integer;
begin
write('Введите четырехзначное число: ');
readln(a);
p:=1; b:=a;
for i:=1 to 4 do
begin
if (b mod 10 >=2) and (b mod 10 «=6)
then
p:=p*(b mod 10);
b:=b div 10;
end;
writeln('а) Произведение цифр, принадлежащих промежутку 2..6: ',p);
write('b) Заменить на 0 первые две цифры, если они четные: ');
b:=a;
if ((b div 1000) mod 2) = 0
then write(0)
else write(b div 1000);
b:=b mod 1000;
if ((b div 100) mod 2) = 0
then write(0)
else write(b div 100);
b:=b mod 100;
writeln(b);
end.

семен

О,Дмитрий спасибо!Миколе тоже благодарность!

миха гаи

Сергеич,так глядишь,и институт закончите...на ганзе сидючи,сдаётся мне зятя надо искать в пятой палате...)))

DIZ

Вторая задача:

Program p2;
Var
a,i,s : integer;
b: array [1..5] of integer;
begin
for i:=1 to 5 do
begin
write('Введите ',i,'-e число: ');
readln(b[i]);
end;
write('Введите число A: ');
readln(a);
s:=0;
for i:=1 to 5 do
if (b[i] div 100 + b[i] mod 100 div 10 + b[i] mod 100 mod 10)=a
then s:=s+1;
writeln('Количество чисел, сумма цифр которых равна A: ',s);
end.

Обе работают, если что. Проверено. 😊

семен

Обе работают, если что. Проверено
Вот спасибо! Нужно проставляться.)))))))
на ганзе сидючи
Приходится,вон в выживании Майор распоясолся,кинжалами тычит,боем ножевым бьётся с врагами,цифрами сыпит,отбиваюся тама.))))))

DIZ

Не за что. 😊

миха гаи

семен
кинжалами тычит,боем ножевым бьётся с врагами,цифрами сыпит,отбиваюся тама.))))))
поржал...)))

growantr

семен
Дык она не по этому профилю,гуманитарий,как и все её близкие родственники.)))
Ларри Уолл тоже по образованию филолог, а самый хакерский язык создал - Perl!

Я б с учителем поговорил, почему они ТурбоПаскаль выбрали? имхо VBA вполне сгодился бы. Тем более в каждом MS office есть. И если осовоить его хотя бы на самом мимнимальном уровне, в жизни обязяательно пригодилось бы.
Ожидаю скоро увидеть задачи на рекурсию, работу c графической подсистемой, с файлами и тп=)))

DIZ

семен
гуманитарий,как и все её близкие родственники.)))
Видимо в отца. 😊

Zilraen

Ожидаю скоро увидеть задачи на рекурсию, работу c графической подсистемой, с файлами и тп=)))
это вряд ли 😊
на первом курсе инста - будет.
в школе - слабо верится.

ЗЫ по поводу паскаля - по-доброму завидую - у меня в школе был только, прости гспади, gw-basic, и то в весьма ограниченном объеме.
а алгоритмической подготовки не было вовсе.

семен

Видимо в отца.
Ага.)))Да,а твой вариант решения задач, с использованием массива?Сегодня ребёнок проскочил,задание не сдал,завтра будет отдавать,но узнала вводную,что нужно их решить без использования этого массива.

DIZ

Вариант Zilraen вместо массива функцию использует. Это будет еще более шикарный вариант "проскока". 😊
Хорошо, я еще подумаю. Не охота совсем уж глупостью заниматься.
Сергей, я тебе как на духу скажу, в задаче этой должен использоваться массив, что бы там препод не говорил. 😊

семен

что бы там препод не говорил.
Так вроде она пробила, на тех, кто сдавал с использованием массива,препод плотоядно скалился и требовал пояснений(массив то они не проходили),все и "поплыли" сразу,поэтому, как бы оформить эти задачи без этого массива?
))Блин,сам уже запутался,пора видимо к преподу, на беседу,на языке Паскаля ,папе подъезжать.)))

Zilraen

Вариант Zilraen вместо массива функцию использует. Это будет еще более шикарный вариант "проскока". Хорошо, я еще подумаю. Не охота совсем уж глупостью заниматься.
можно заняться работой компилятора и приинлайнить ее, для получения совсем уж китайского кода 😊
Сергей, я тебе как на духу скажу, в задаче этой должен использоваться массив, что бы там препод не говорил.
ага, согласен.

DIZ

Каждый раз ходить в школу по пустякам - калоши стопчешь.
Чего-нибудь сочиним. Понимаешь, как если б кому-то дали задание с помощью АКМ танк подорвать. Вроде и решаемая, но встает вопрос за каким ... 😊

Zilraen

{это лютый, леденящий душу п-ц. слабонервным не смотреть.}
{решение задачи без массивов и использования функций.}
{ЗЫ синтаксис паскаля помню хреновенько, если где есть ошибки - поправьте плиз}

var
{разбиваем по группам для пущего удобства}
a1, a2, a3, a4, a5: integer;
s1, s2, s3, s4, s5: integer;
A, count: integer;

begin

{считываем числа}
writeln('Введите 5 чисел:');
readln(a1);
readln(a2);
readln(a3);
readln(a4);
readln(a5);
writeln('Введите число для сравнения:');
readln(A);

{считаем суммы.}
{делаем это заранее, чтобы не громоздить дофига всего в условия}
s1 := (a1 mod 10) + (a1 mod 100) div 10 + (a1 mod 1000) div 100;
s2 := (a2 mod 10) + (a2 mod 100) div 10 + (a2 mod 1000) div 100;
s3 := (a3 mod 10) + (a3 mod 100) div 10 + (a3 mod 1000) div 100;
s4 := (a4 mod 10) + (a4 mod 100) div 10 + (a4 mod 1000) div 100;
s5 := (a5 mod 10) + (a5 mod 100) div 10 + (a5 mod 1000) div 100;

{сбрасываем счетчик}
count := 0;

{проверяем}
if s1 = A then count := count + 1;
if s2 = A then count := count + 1;
if s3 = A then count := count + 1;
if s4 = A then count := count + 1;
if s5 = A then count := count + 1;

{выводим результат подсчета}
writeln("Результат: ", count);

end;

семен

Понимаешь, как если б кому-то дали задание с помощью АКМ танк подорвать.
Дали бы такое,я бы справился.))))А препод сегодня ещё классу заявил-сдаёте мол эти задачи,до конца года никого не трогаю,на информатике просто в интернете сидите.Вот и пойми этих преподов.))))

DIZ

семен
Дали бы такое,я бы справился.))))
Почему-то даже не сомневаюсь. 😊
Ща вот комрада проверю, что он там написал. 😊

семен

леденящий душу п-ц.
Это точно))))))Взглянул и вздрогнул.То ли дело в моём интернате было,оттренировался утро-вечер и свободен,с учёбой не докучали особо, а такое граффити зашифрованное мне в самом страшном сне не приходило)))))))

DIZ

Последние две строки изменить на:

writeln('Результат: ', count);

end.

А так все правильно.

семен

А так все правильно
Это первая задача?

Zilraen

Это первая задача?
вторая 😊

DIZ

И там еще в процессе вычисления суммы цифр
(a? mod 10) + (a? mod 100) div 10 + (a? mod 1000) div 100;
выделенное действие лишнее. Но это мелочи. 😊

Zilraen

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

к слову, в идеале там должен был бы быть цикл, чтобы не зависеть от разрядности, ну да ладно 😊

DIZ

Согласен. 😊 В идеале там много еще каких проверок надо бы.

mr.igel

Zilraen
в идеале там должен был бы быть цикл, чтобы не зависеть от разрядности
s:=0;
while a<»0 do
tmp:=a mod 10;
s:=s+tmp;
a:=a div 10;
end;

Пжалста =) (если все правильно помню конечно)
Подпишусь на тему, а то я любил кодить на паскале такие простенькие задачки когда в универе учился =)
------------------
AB(IV) Rh+

Zilraen

s:=0;
while a«>0 do
tmp:=a mod 10;
s:=s+tmp;
a:=a div 10;
end;
ага, как вариант.

семен

=) (если все правильно помню конечно
Други,спасибо за поддержку,но я уже запутался,извините,ну не шарю в этом.
Как задачи то окончательно оформить с учётом всех поправок,без массива,
задача 1?
задача 2?

DIZ

Сергей, первую задачу я уже постил. Вторую вчера переписал Zilraen без использования массива (две последние строки только подкорректировать). Можно сдавать.

семен

Понял.Всем огромное спасибо!)))

миха гаи

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

семен

вам по академиям сидеть
Видишь,сколько здесь компетентных людей,академики в своих отраслях,в вискаре и сиськах с тёлками тоже специалисты.)))А мне сегодня сочинение походу корректировать придёться, по Достоевскому,образ Раскольникова.Я люблю литературу,но Фёдора Михайловича не понимаю,мне бы лучше сиськи обсудить,чем убийство старухи-процентщицы.)))))))

DIZ

В человеке должно быть все прекрасно: и лицо, и одежда, и душа, и мысли (от себя добавлю) и ноги, и сиськи. 😊

миха гаи

семен
мне бы лучше сиськи обсудить,чем убийство старухи-процентщицы.)))))))
по большому счету Раскольников то маладца,что грохнул бабушку...во всяком случае чувствуетсо революционный дух,и зарождение нового мышления у человека...

...всех убить,всё отнять...(с))))))))))))))

DIZ

семен
Я люблю литературу,но Фёдора Михайловича не понимаю
Зато ты много чего другого понимаешь. 😊

семен

во всяком случае чувствуетсо революционный дух,и зарождение нового мышления у человека...
Ты ещё "Бесов" прочти,про революционный дух,для полноты картины.)))

NeMaCer

но Фёдора Михайловича не понимаю

А я вчера, помогал найти "глубокий" смысл в "Куст сирени" Куприна. 😞

Я для себя, в детстве решил, все что в ходит в школьную программу, надо или раньше читать, до того как "преподавать" начали, или намного позже, через несколько лет, когда забудется весь тот бред которому учили.
Правда, всегда интересно было, если бы сегодня, "классические" писатели прочитали, от том какой смысл вкладывали они в произведения, под впечатлением чего, написали произведение, и прочие измышления критиков, которым учат в школе, они бы сильно ох...нели? Думаю, что да.

В человеке должно быть все прекрасно: и лицо, и одежда, и душа, и мысли (от себя добавлю) и ноги, и сиськи.

Поддерживаю! И еще, ножик, ножик должен быть! 😊

T-Rex

семен
Прошло нормально.Но снова вот задали,опять за хелпом .Понимаю,что надоел,но больше не к кому.)))Такая задача: Дано четырёхзначное целое число.
а) посчитать произведение цифр этого числа,принадлежащих промежутку от 2 до 6
б)заменить на НОЛЬ первые две цифры этого числа,если они чётные
И вторая задача:
Даны пять трёхзначных чисел.Посчитать кол-во тех чисел,у которых сумма цифр равна А(число А вводится с клавиатуры)
Задачи нужно опять на языке Турбо-Паскаль.Выручайте,камрады!

Какая интересная тема!
Ещё не поздно предложить свои решения?

В задании не сказано, использовать операции только с числами, или можно задействовать строки. Поэтому 1 и 3 прогу сделал с числами, а во 2-й использовал перевод в строки. Проги написаны и отлажены в Borland Pascal for Windows, поэтому подключен модуль WinCrt. В DOS-Pascal его можно вообще стереть, или использовать модуль Crt.

Кроме того, передайте преподу, что он мудак. Потому что НИКОГДА нельзя ограничивать пользователя вводом конкретного кол-ва цифр. Нормальная прога должна сама считать цифры. В 1 и 3 прогах кол-во цифр не важно. Хотите 1-2-3-4-5, лишь бы число было в диапазоне типа integer. Со строками я не стал заморачиваться и просто проверял на чётность первые 2 цифры любого числа.

Program A;
uses WinCrt;
var
Num,n,s,f: Integer;
begin
s:=1;
f:=0;
Write('vvedite chislo: ');
ReadLn(Num);
While Num»=1 do
begin
n:=Round(Frac(Num/10)*10);
if (n>=2) and (n«=6) then
begin
f:=1;
s:=s*n;
end;
Num:=Round((Num-n)/10);
end;
if f=0 then Writeln('net tsifr ot 0 do 6')
else Writeln('itog=',s);
end.


Program B;
uses WinCrt;
var
Num,c,f: Integer;
s:string;
begin
Write('vvedite chislo A: ');
ReadLn(Num);
Str(Num,s);
Val(s[1],c,f);
if c mod 2 = 0 then s[1]:='0';
Val(s[2],c,f);
if c mod 2 = 0 then s[2]:='0';
Writeln(s);
end.


Program C;
uses WinCrt;
var
Num,i,Tsh,s,n: Integer;
begin
Write('vvedite chislo A: ');
ReadLn(Num);
For i:=1 to 5 do
begin
Write('vvedite ',i,'-e 3-h znachnoye chislo: ');
ReadLn(Tsh);
s:=0;
while Tsh»=1 do
begin
n:=Round(Frac(Tsh/10)*10);
inc(s,n);
Tsh:=Round((Tsh-n)/10);
end;
if s=Num then Writeln('Ravno!')
else Writeln('Ne ravno!')
end;
end.

семен

Ещё не поздно предложить свои решения
Спасибо! Не поздно,препод заболел сегодня,в четверг теперь занятия по информатике.

T-Rex

семен
Спасибо! Не поздно,препод заболел сегодня,в четверг теперь занятия по информатике.

Уточните только, проги должны работать только с числами, или можно переводить в строки.

Кстати, я преподаю элементарный Паскаль программистам на 1-м курсе одно технического универа 😛. Далее мы переходим на Delphi и С++Builder. Так что школьный препод может не понять изящества моих алгоритмов 😀.

семен

Так что школьный препод может не понять изящества моих алгоритмов
Мне бы попроще,чтобы препод понял,а то обидится ещё,не нужно унижать его знаниями.))))

T-Rex

Кстати, если объединить задания А и В первой задачи в одну программу, то можно сделать так: АВ - только через мат.вычисления, ВА - с переводом числа в строку.

ВА работает строго с 4-х значным числом. АВ - любое число в пределах диапазона integer: от -32768 до 32767.
ВА выведет первые нули в строке, если они получатся. АВ не выведет левые нулевые разряды, т.к. Паскаль при выводе чисел первые нули не печатает.

Program AB;
uses WinCrt;
var
Num,n,s,f,k: Integer;
bez0:real;
begin
Write('vvedite chislo: ');
ReadLn(Num);
bez0:=0;
s:=1;
f:=0;
While Num>=1 do
begin
n:=Round(Frac(Num/10)*10);
if (n>=2) and (n«=6) then
begin
f:=1;
s:=s*n;
end;
if (Num»=1) and (Num«=99) and (n mod 2 = 0) then bez0:=bez0/10
else bez0:=(bez0+n)/10;
Num:=Round((Num-n)/10);
inc(k);
end;
for n:=k downto 1 do bez0:=bez0*10;
n:=Round(bez0);
if f=0 then Writeln('net tsifr ot 0 do 6')
else Writeln('proizvedenie= ',s);
Writeln('tshislo s zanenoi 0= ',n);
end.


Program BA;
uses WinCrt;
var
Num,c,f,h,sum,i,l: Integer;
s:string;
begin
Write('vvedite chislo A: ');
ReadLn(Num);
sum:=1;
Str(Num,s);
l:=Length(s);
if l<»4 then
begin
Writeln('Ne 4 tsifri!');
exit;
end;
for i:=1 to 4 do
begin
Val(s[i],c,h);
if (c>=2) and (c«=6) then
begin
f:=1;
sum:=sum*c;
end;
if (i<=2) and (c mod 2 = 0) then s[i]:='0';
end;
if f=0 then Writeln('net tsifr ot 0 do 6')
else Writeln('proizvedenie= ',sum);
Writeln('tshislo s zanenoi 0= ',s);
end.


Надо будет студентам дать такую задачу: чтобы сделали анализ цифр в числе 2-мя вариантами 😊.

DIZ

Zilraen
{это лютый, леденящий душу п-ц. слабонервным не смотреть.}
Слегка модифицированный вариант вашей проги. 😊
var
a1, a2, a3, a4, a5: integer;
A, count: integer;

begin

{считываем числа}
write('Введите 5 чисел: ');
readln(a1,a2,a3,a4,a5);
write('Введите число для сравнения: ');
readln(A);

count:=ord(a1 mod 10 + a1 mod 100 div 10 + a1 div 100=a)+
+ord(a2 mod 10 + a2 mod 100 div 10 + a2 div 100=a)+
+ord(a3 mod 10 + a3 mod 100 div 10 + a3 div 100=a)+
+ord(a4 mod 10 + a4 mod 100 div 10 + a4 div 100=a)+
+ord(a5 mod 10 + a5 mod 100 div 10 + a5 div 100=a);
{выводим результат подсчета}
writeln('Результат: ', count);
end.


Second Max

Народ а как вчера на ганзу зашли? У меня ни в какую.
вот мой отлаженный первый если что
PROGRAM SEMEN1;
VAR N,I,J,K,R,P,B,S: INTEGER;
BEGIN
WRITELN('VVETDITE 4 ZNACHNOE CHISLO');
READLN (N);
IF (N<1000) OR (N»9999) THEN
BEGIN
WRITELN('NEPRAVILNY VVOD CHISLA');
EXIT;
END
ELSE
BEGIN
P:=1;
FOR I:=0 TO 3 DO
BEGIN
K:=N MOD 10;
N:=N DIV 10;
B:=K MOD 2;

IF (K>2) AND (K«6) THEN
BEGIN
P:=P*K;
END;
IF (I»1) AND (B=0) THEN
BEGIN

K:=0;
END;

S:=1;
IF (I>0) THEN
BEGIN
FOR J:=1 TO I DO
BEGIN
S:=10*S;
END;
END;
R:=R+S*K;
S:=0;

END;
IF (P=1) THEN P:=0;
WRITELN('NOVOE CHISLO =',R);
WRITELN('PROIZVEDENIE ZNAKOV 2-6=',P);


END;
Поставил ХР второй системой на нее турбо паскаль. Тормозит ужасно. А кто чем пользуется?
Вторую решили как понял.

DIZ

Вот тут Free Pascal можно качнуть под разные оси.

Second Max

Не получилось отсюда в тот раз. Попробуем еще на всякий случай. А у Семена дочке еще долго в школе учиться?

семен

А у Семена дочке еще долго в школе учиться
В следующем году заканчивает.)))

DIZ

Сергей, похоже? 😊

семен

Сергей, похоже
Что тоже с Паскалем не дружит?)))Видно сразу.))))

DIZ

Думаю он и книжек не читает. 😊