Урок 3. Паскаль с нуля. Операции trunc div mod

Поделиться
HTML-код
  • Опубликовано: 4 фев 2025

Комментарии • 57

  • @sckrides
    @sckrides 8 лет назад +14

    Круто. Мне 12 лет, мы в школе ещё не проходим Pascal. Но я для себя учу. Спасибо тебе большое, за твои уроки!!!!

    • @feudal5672
      @feudal5672 6 лет назад +5

      Нахуя ты это написал? -_-

  • @Air-su7gh
    @Air-su7gh 6 лет назад +3

    Не муд, а мод
    C удвоеной "оо" то есть ( mood) Читалось бы муд
    А с одной "о" читается ( mod) Читается мод.
    Автору на заметку. А так сам учусь по его урокам. Спасибо тебе.
    Подписочка, лайк.

  • @vldkv
    @vldkv 5 лет назад +5

    Спасибо,хороший урок)

  • @seryylanevuch4370
    @seryylanevuch4370 5 лет назад +2

    Вот как у меня получилось, можно было окоротить к двум строкам, но оставил так,что бы было понятно --
    Program test;
    begin
    var number := ReadInteger('Введите чесло, которое нужно розбить :');
    var hundreds := number div 100;
    var dozens := (number mod 100) div 10;
    var units := (number mod 100) mod 10 ;
    var summ := hundreds + dozens + units;
    WriteFormat('Вы ввели число {0} , оно розбилось на {1} сотню(тни), {2} десятка, {3} единицы. Их сумма равна = {4}.', number, hundreds, dozens, units, summ);
    end.

  • @Айбат-х6ф
    @Айбат-х6ф 7 лет назад +4

    program time;
    var a,b,c,sum,x:integer;
    begin
    write('Введите любое трехзначное число:');
    read(x);
    a:=x div 100;
    b:=(x div 10) mod 10;
    c:=x mod 10;
    sum:=a+b+c;
    writeln('Сотен:',a);
    writeln('Десятков:',b);
    writeln('Единиц:',c);
    write('Сумма цифр этого числа:',sum);
    end.

  • @dez1ess
    @dez1ess 5 лет назад +4

    Program david15;
    Var
    s1,s2,s3,n,sum:integer;
    begin
    Write(' Введите число от 100 до 999 = ');
    Read(n);
    s1:=n div 100;
    s2:=(n mod 100) div 10 ;
    s3:=n mod 10;
    sum:=s1+s2+s3;
    Writeln(' Сотни ',s1);
    Writeln(' Десятки ',s2);
    Writeln(' Единицы ',s3);
    Writeln(' Сума этих чисел ',sum);
    end.

    • @сашокнапасашок-х1р
      @сашокнапасашок-х1р 5 лет назад

      Writeln(' Сума этих чисел ',sum);
      -тут на конце ln можно не писать ,так как прошлые значения уже округлились )

  • @warrior-aristocrat
    @warrior-aristocrat 5 лет назад +8

    Крч если быть точнее как работает mod. В этом случае как в задаче: количество минут 150= это 2час 30 мин. Но если проверить на калькуляторе то 150/60=2,5 . Вопрос как 2,5 превратил в 2 часа 30 минут? Ответ: 150/60=2,5 после того как mod отбросил 2 осталось 0,5 по идеи тогда он должен был написать 2 часа 50 минут но 0,5*60=30 минут.
    В случае как вы объясняли в начале 155/10=15,5. Забыли указать(может не знали) 15 убрали осталось 0,5 эти 0,5 были умножены на 10 и получилось 5.(155/10=15,5=0,5(15 убрал mod и осталось 0,5)=0,5*10=5).
    Если в этой программе поставить вместо 60 например число 4. То будет так 150/4=37,5. div=37, а mode=0.5*4=2. Так получится 37 часов и 2 минуты. (Это если вместо 60 вставить 4). Т е Div выводит целое число а modвыводит то что после запятой и умножает на то число на которое изначально было разделено.155/10=15,5 div=15 mod=0,5*10=5.
    Как смог объяснил!

    • @amanduedyilamanow1636
      @amanduedyilamanow1636 5 лет назад +1

      150/60=2,5 ; 0,5= 30 ; 0,5+0.5=1.00 =60

    • @karimchas3785
      @karimchas3785 4 года назад

      150 МИНУТ ЭТО 2 ЧАСА 30 МИН САМ ПОСЧИТАЙ 150 - 60 =90 90 -60 =30 2 ЧАСА 30 МИН

  • @ВиталийРожков-л5е
    @ВиталийРожков-л5е 3 года назад

    Program Razbienie;
    var
    a,b,c,d,s: integer;
    begin
    write(' Введите любое число от 100-999 ');
    read(a);
    b:= a div 100;
    c:= a div 10 mod 10;
    d:= a mod 10;
    s:= b+c+d;
    writeln('Разрядность: сотня = ', b);
    writeln(' десяток = ', c);
    writeln(' единиц = ', d);
    readln();
    writeln('Сумма трех чисел = ', s);

    end.

  • @timurkhamitov6303
    @timurkhamitov6303 5 лет назад

    Моя программа:
    Program six;
    Var N,A,B,C,D,E,Sum:integer;
    begin
    write('vvedite trehznachnoe chislo');
    read (N);
    A:= N div 100;
    B:= N div 10;
    C:= B mod 10;
    D:= N mod 100;
    E:= D mod 10;
    Sum:= A+C+E;
    writeln('sotni=',A);
    writeln('desyatki=',C);
    writeln('edinici=',E);
    write ('summa cifr trehznachnogo chisla=',Sum);
    end.

  • @ЕвгенияНайда-ь7я
    @ЕвгенияНайда-ь7я 4 года назад

    Спасибо

  • @attila451
    @attila451 4 года назад

    Решение с одной переменной.
    program ellechka;
    var a:integer;
    begin
    writeln('Введите трехзначное число от 100 до 999:');
    read(a);
    writeln(a div 100 , ' -сотни ', a div 10 mod 10, ' -десятки ' , a mod 10,' -единицы' );
    write('Сумма чисел = ',a div 100 + a div 10 mod 10 + a mod 10);
    end.

  • @user-nc2qu4ld2g
    @user-nc2qu4ld2g 4 года назад

    спасибо.

  • @Витольд-ю5ь
    @Витольд-ю5ь 6 лет назад +1

    program z69;
    var
    sum, a,a1,a2,a22,a3,a33:integer;
    begin
    writeln('введите число от 100 до 999');
    readln(a);
    a1:=a div 100;
    a2:=a mod 100;
    a22:=a2 div 10;
    a3:=a mod 100;
    a33:=a3 mod 10;
    sum:=a1+a22+a33;
    writeln('ответ: ', a1,' сотен ',a22,' десятков ',a33,' единиц');
    writeln('сумма этих чисел = ', sum);
    end.
    Вот мое домашнее задание :) не замудренно написал или можно было намного проще записать

  • @ГригорийДукач
    @ГригорийДукач 4 года назад

    Ты топ

  • @ВадимЛеванович-х7я
    @ВадимЛеванович-х7я 6 лет назад +5

    Не могу сделать задачу 6.6. Помогите пожалуйста

    • @emptyzero
      @emptyzero 5 лет назад +2

      program qwerty ;
      var t1,t2,q , c ,m : real;
      begin
      write('введите начальную темп. - ' );
      read(t1);
      write('введите конечную темп. - ');
      read(t2);
      write('затраченное тепло в КДж - ');
      read(q);

      c:= 400;
      q:=q*1000; //переводим из КДж в Дж
      m:= q/(c*(t2-t1));
      write('масса меди - ',m:6:2 )
      end.
      двойной слеш (//) это комментарии , таким образом можно делать заметки для себя , чтобы не запутаться

  • @helenmaksimova3696
    @helenmaksimova3696 7 лет назад

    скажите, где в формулах ошибка?, вычисляет неверно объем и площадь. Это задание предыдущего урока.
    program my4;
    var r2,R1,h,L,S,V:real;
    begin
    writeln('ввeдите радиус большого основания');
    read(r1);
    writeln('ввeдите радиус малого основания');
    read(R1);
    writeln('ввeдите высоту');
    read(h);
    L:=sqrt(sqr(R1-r2)+sqr(h));
    writeln('находим образующую =',L:6:2);
    V:=(r2*R1+sqr(r2)+sqr(R1))*pi*h*1/3;
    S:=(r2+R1)*pi*L;
    writeln('ответ объем =',V:6:2);
    writeln('ответ площадь =',S:6:2);
    end.

    • @ДмитрийЛапко-л1н
      @ДмитрийЛапко-л1н  7 лет назад

      ошибка тут
      writeln('ввeдите радиус большого основания');
      read(r1);
      writeln('ввeдите радиус малого основания');
      read(R1);

    • @helenmaksimova3696
      @helenmaksimova3696 7 лет назад +1

      спасибо огромное! не догадалась вверх посмотреть

    • @Air-su7gh
      @Air-su7gh 6 лет назад

      У тебя два раза одна и таже переменная используется . R1 и r1
      writeln('ввeдите радиус большого основания');
      read(r1);
      writeln('ввeдите радиус малого основания');
      read(R1);
      А должно быть:
      writeln('ввeдите радиус большого основания');
      read(r2);
      writeln('ввeдите радиус малого основания');
      read(R1);

  • @Programmistik13
    @Programmistik13 8 лет назад +1

    Домашнее задание № 6.9)
    Условие: Напишите программу, разбивающую любое трёхзначное число на разряды, и вычисляющую сумму цифр в трёхзначном числе. для того чтобы разбивать число на разряды, используйте операции DIV и MOD.
    Моя программа:
    program SliVka;
    var x,S,y,z,c:integer;
    begin
    writeln('Введите любое трёхзначное число');
    read(x);
    S:=0;
    y:= x div 100;
    writeln('Сотен: ',y);
    z:= x div 10;
    z:= z mod 10;
    writeln('Десятков: ',z);
    c:=x mod 10;
    writeln('Единиц: ',c);
    S:=y+z+c;
    writeln('Сумма всех цифр этого числа: ',S);
    end.

  • @shr9057
    @shr9057 5 лет назад

    ЗАДАЧА 6.9:
    program n_23;
    var
    n, c, d, e, s, x: integer;
    begin
    writeln('ВВЕДИТЕ ЛЮБОЕ ТРЁХЗНАЧНОЕ ЧИСЛО:');
    readln(n);
    c := n div 100;
    x := n mod 100;
    d := x div 10;
    e := x mod 10;
    s := c + d + e;
    writeln('СОТНИ = ', c, ', ДЕСЯТКИ = ', d, ', ЕДИНИЦЫ = ', e);
    writeln('СУММА = ', s);
    end.

  • @НикитаФурманов-д1т

    Первую задачу/можно решить вспомошью функции div

  • @ВасилийБыков-щ5ы
    @ВасилийБыков-щ5ы 6 лет назад

    program razryad;
    var
    a,b,c,d:integer;
    begin
    writeln('введите число');
    readln(a);
    b:=a div 100;
    c:=a-b*100;
    c:=c div 10;
    d:=a div 10;
    d:=a-d*10;
    writeln(b,' сот ',c,' десят ',d,' ед ');
    end.

    • @ДмитрийЛапко-л1н
      @ДмитрийЛапко-л1н  6 лет назад

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

  • @qw-ym5xe
    @qw-ym5xe 4 года назад

    почему у меня выдает в конечном ответе 2.000000Е=001??

  • @АгентСмит-ч6ш
    @АгентСмит-ч6ш 5 лет назад +1

    Тип реал. Ну да. Можно же пол попугая на крайняк положить на удава то.

  • @nosferatu6464
    @nosferatu6464 6 лет назад +1

    program a5;
    uses crt;
    var a,b,c,cc,d,z:integer;
    begin
    writeln('Введите число от 100 до 999');
    readln(a);
    b:=a div 100;
    c:=a div 10;
    cc:=c mod 10;
    d:=a mod 10;
    z:=b+cc+d;
    writeln('Сот - ',b,',Дес - ',cc,',Ед - ',d);
    writeln('Сумма цифр - ',z);
    end.

  • @nishihi
    @nishihi 6 лет назад +12

    Program vmesto1000slov;
    var
    i:integer;
    begin
    for i:=1 to 99999999999999999 do
    begin
    write ('взрыв компуктера ');
    end;
    end.

    • @OsipovychAndrii
      @OsipovychAndrii 4 года назад

      Тип INTEGER не видасть таке число😉

  • @ivankaftulin5857
    @ivankaftulin5857 6 лет назад +2

    Program Ivan3;
    var v,s,d,e,su,dd,ee: integer;
    begin
    writeln('Введите число от 100 до 999');
    readln(v);
    s:=v div 100;
    d:=v div 10;
    dd:= d mod 10;
    ee:= v mod 10;
    su:= s+dd+ee;
    writeln('Сотни - ',s,', десятки - ',dd,', еденицы - ',ee);
    writeln('Сумма цифр числа - ',su);
    end.

    • @vitalian100
      @vitalian100 4 года назад

      вроде так проще:
      program razbiv;
      var x,d,s,e:integer;
      begin
      writeln('введите число');
      write('x=');
      read(x);
      s:=x div 100;
      d:=x div 10;
      d:=d mod 10;
      e:=x mod 10;
      writeln('сотни ',s);
      writeln('десятки ',d);
      writeln('единицы ',e);
      end.

  • @darkerxc
    @darkerxc 3 года назад

    Задача 6.9
    program qq;
    var q,s1,s2,s3,sum:Integer;
    begin
    WriteLn('введите трехзначное число');
    ReadLn(q);
    s1:=q div 100;
    s2:= (q mod 100) div 10;
    s3:= q mod 10;
    WriteLn('сотни ',s1);
    WriteLn('десятки ',s2);
    WriteLn('единицы ',s3);
    sum:=s1+s2+s3;
    WriteLn('сумма:',sum);
    end.

  • @goodfreelancer2250
    @goodfreelancer2250 4 года назад

    Привет, у меня Trunc не работает и приходиться в конце писать 6:0

  • @sewenweys7385
    @sewenweys7385 4 года назад

    program path;
    var zna,sot,ostd,des,osted,ed,rez:integer;
    begin
    write('введите любое трехзначное число от 100 до 999.. ');
    read(zna);
    sot:=zna div 100;
    ostd:=zna mod 100;
    des:=ostd div 10;
    osted:=ostd mod 10;
    ed:=osted div 1;
    writeln('Разряды: сотни-' ,sot,', десятки-', des, ', единицы- ' ,ed);
    rez:=sot+des+ed;
    write('Сумма всех этих цифр этого числа - ',rez);
    end.

  • @Вадимс-я2у
    @Вадимс-я2у 7 лет назад +2

    КАК ЗДЕЛАТЬ КВАДРАТ В ПАСКАЛЬ НУ ТАМ 2 В КВАДРАТЕ

    • @ДмитрийЛапко-л1н
      @ДмитрийЛапко-л1н  7 лет назад +3

      Или число умноженное само на себя, или Sqr - функция языка Паcкаль, которая возводит число в квадрат.

    • @HypeReeIs
      @HypeReeIs 5 лет назад

      2*2

  • @ЛегендарныйБумашка

    uses crt;
    var
    s,ch,a,b,c,z:integer;
    begin
    writeln('введите число');
    read(ch);
    a:=ch div 100;
    z:=ch mod 100;
    b:=z div 10;
    c:=z mod 10;
    s:=(a+b+c);
    writeln(s);
    end.

  • @tolikkrauchanka9865
    @tolikkrauchanka9865 3 года назад

    var
    ch,s,d,e:integer;
    begin
    writeln('введите трехзначное число от 100 до 999 ');
    read(ch);
    s:=ch div 100;
    e:=ch mod 10;
    d:=ch mod 100;
    d:=d div 10;
    writeln('разряды: сотни- ',s,' десятки- ',d,' единицы- ',e);
    write('сумма всех цифр этого числа = ',s+e+d);
    end.

  • @АгентСмит-ч6ш
    @АгентСмит-ч6ш 5 лет назад

    var
    des,ed,sum:real;
    sot,chislo:integer;
    begin
    write('Итак, ваше любое трёхзначное числооо: ');
    read(chislo);
    sot:=chislo div 100;
    des:=(chislo mod 100) div 10;
    ed:=chislo-sot*100-des*10;
    sum:=sot+des+ed;
    write(sot,' сотней, ',des,' десятков и ',ed,' едениц. Сумма этих 3-х чисел=',sum,'.');
    end.

  • @sweetfox7466
    @sweetfox7466 6 лет назад

    PROGRAM Z22;
    VAR N,C,D,E,S:INTEGER;
    BEGIN
    WRITELN('ВВЕДИТЕ ЧИСЛО ОТ 100 ДО 999 ');
    READ(N);
    C:= N DIV 100;
    D:= N DIV 10 MOD 10;
    E:= N MOD 10;
    S:= C+D+E;
    WRITELN('РАЗРЯДЫ: СОТНИ - ', C ,' ДЕСЯТКИ - ', D ,' ЕДИНИЦЫ - ', E );
    WRITELN('СУММА ВСЕХ ЧИСЛ ЭТОГО ЧИСЛА = ', S );
    END.

  • @Ksenolit
    @Ksenolit 2 года назад

    Кто может помочь в Pascale?, с помощью Trunc, чтобы вещественное число было целым.

    • @Ksenolit
      @Ksenolit 2 года назад

      Program SqEq_1_1;
      Var D, x1, x2,a, b, c:real; s, wrd1:string;
      f,i:integer;
      Label M1;
      Begin
      Writeln ('Данная программа решает уравнение вида a*x^2+b*x+c=0 по значениям; коэффициентов a, b и с, определяемых поьзователем.');
      writeln ('Введи целое число.');
      writeln ('Введи значение коэффицента a, не равное нулю.');
      readln (wrd1);
      readln (a);
      Begin
      For a:=1 to Length(wrd1) do
      s := copy (wrd1, i, 1);
      if (s'0') and (s'1') and (s'2') and (s'3') and (s'4') and (s'5') and (s'6') and (s'7') and (s'8') and (s'9') then f:= 1;
      if f=0 then writeln ('Данная запись является целым числом.') else writeln ('Данная запись не является целым числом.');
      end;
      writeln ('Введи значение коэффицента b.');
      readln (b);
      writeln ('Введи значение коэффицента c.');
      readln (c);
      D := b*b-4*a*c;
      if D0 then
      begin
      x1 := (-b+sqrt(D))/(2*a);
      x2 := (-b-sqrt(D))/(2*a);
      writeln ('Данное уравнение имеет 2 корня. x1=',x1,' и x2=',x2);
      end;
      end.

  • @lonewanderer39
    @lonewanderer39 6 лет назад

    var
    xxx, x, y, z, sum: integer;
    begin
    writeln('Введите трёхзначное число от 100 до 999');
    read(xxx);
    x := xxx div 100;
    y := xxx mod 100;
    y := y div 10;
    z := xxx mod 10;
    writeln('Разряды: Сотни - ', x, ' Десятки - ', y, ' Единицы - ', z);
    sum := x + y + z;
    write('Сумма всех цифр этого числа - ', sum);
    end.

  • @BarsGoblin73830
    @BarsGoblin73830 5 лет назад

    Program chisla;
    Var V, S, E, D, P, SUM:INTEGER;
    BEGIN
    WRITE('ВВЕДИТЕ ЧИСЛО') ;
    S:= V DIV 100;
    P:= V DIV 10;
    D:= P MOD 10;
    E:= V MOD 10;
    SUM:=S+D+E;
    WRITELN('СОТНИ-', S , 'ДЕСЯТКИ-', D, 'ЕДЕНИЦЫ', Е) ;
    WRITE ('СУММА ВСЕХ ЦИФР', SUM) ;
    END.

    • @BarsGoblin73830
      @BarsGoblin73830 5 лет назад

      Где V число которое вводим, S сотни, E единицы, D десятки, P переменная для получение десятков в виде одной цифры, SUM сума получивших я цифр

  • @МаркМурашко-р9ц
    @МаркМурашко-р9ц 7 лет назад +4

    не муд а мод

  • @toolpi7409
    @toolpi7409 7 лет назад

    всего две ошибки сделал )