Персональная страничка
Диканева Тараса
Викторовича

Главная \ Преподавательское \ Программирование для начинающих

1. Линейные программы: арифметические операторы, стандартные функции и ввод/вывод в текстовом режиме

Предыдущий раздел:

Следующий раздел:

1.7. Задачи на составление арифметических выражений

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

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

В данном случае мы имеем дело с простейшей ситуацией – по сути, требуется придумать программу, состоящую из одной строки. Набор операций дан, требуется их скомбинировать так, чтобы получился требуемый результат. Решение данных задач позволит выработать правильный подход и настрой для работы в ситуации когда «неизвестно что делать».

Задания:

Используя арифметические операторы (+, -, *, /, div, mod), а также функции round(), trunc() и abs(), составьте арифметические выражения для вычисления следующих величин:

1. n-е четное число (первым считается 2, вторым 4 и т.д.)

2. n-е нечетное число (первое равно 1, второе 3 и т.д.)

3. В очереди стоят n людей, сколько человек находится между i-м и k-м в очереди.

4. Сколько нечетных чисел на отрезке (a, b), если a и b – четные? Если a и b – нечетные? a –четное, b – нечетное?

5. Сколько полных минут и часов содержится в x секундах?

6. В доме 9 этажей, на каждом этаже одного подъезда по 4 квартиры. В каком подъезде, и на каком этаже находится n-я квартира.

7. Старинными русскими денежными единицами являются: 1 рубль – 100 копеек, 1 гривна — 10 копеек, 1 алтын — 3 копейки, 1 полушка — 0,25 копейки. Имеется А копеек. Запишите выражения для представления имеющейся суммы в рублях, гривнах, алтынах и полушках.

8. Стрелка прибора вращается с постоянной скоростью, совершая w оборотов в секунду (не обязательно стрелка прибора, может быть это волчок в игре «Что? Где? Когда?» и т.п.) Угол поворота стрелки в нулевой момент времени примем за 0. Каков будет угол поворота через t секунд?

9. Вы стоите на краю дороги и от вас до ближайшего фонарного столба x метров. Расстояние между столбами y метров. На каком расстоянии от вас находится n-й столб?

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

11. x – вещественное число. Запишите выражение, позволяющее выделить его дробную часть.

12. x – вещественное число. Запишите выражение, которое округлит его до сотых долей (останется только два знака после запятой).

13. n – целое число. Запишите выражение, позволяющее узнать его последнюю цифру.

14. n – четырехзначное целое число. Запишите выражение, позволяющее узнать его первую цифру.

15. Оператор div в Паскале работает только для целых чисел. Составьте выражение, позволяющее получать целую часть от деления вещественных чисел.

16. Выразите операцию mod через другие арифметические операции.

17. x – вещественное число. Запишите выражение, которое даст +1, если x>0 и -1, если x<0 (при x=0 выражение будет неопределено).

18. n и m – целые числа. Запишите выражение, которое давало бы 0, если n кратно m и 1, если не кратно.

19. От бревна длиной L отпиливают куски длиной x. Сколько кусков максимально удастся отпилить.

20. Бревно длиной L распилили в n местах. Какова средняя длина получившихся кусков?

21. Резиновое кольцо диаметром d разрезали в n местах. Какова средняя длина получившихся кусков?

22. На прямой через равные промежутки располагается n точек. Расстояние от первой до последней равно L. Чему равно расстояние от первой точки до i-й? А от k-й до последней? А от i-й до k-й?

23. Известно, что приближенные формулы для вычисления синуса и косинуса работают тем точнее, чем меньше значение аргумента. Поскольку синус и косинус 2π-периодические функции (sin(x) = sin(x+2πn) , где n – любое целое число), то можно вычисление синуса от любого аргумента привести к вычислению синуса от аргумента, лежащего в диапазоне от 0 до 2π. Запишите формулы, позволяющие:
(а) привести положительный угол x в диапазон от 0 до 2π.
(б) аналогично для отрицательного угла.

24. Пусть дано трехзначное число x (например, 123). Составьте выражения, которые позволят вычислить первую, вторую и третью цифру этого числа (числа 1, 2 и 3 в примере). Для облегчения поиска решения имейте в виду, что для двузначного числа первая цифра дается выражением

  d1:=x div 10;

а вторая выражением

  d2:=x mod 10;

Следующий раздел:

Предыдущий раздел:

327 комментариев

  1. Макс

    Блин! Всё равно не со всем работает.((( Не домучил…

  2. Сергей

    Задача № 6

    //В доме 9 этажей, на каждом этаже одного подъезда по 4 квартиры.
    // В каком подъезде, и на каком этаже находится n-я квартира. ;
    program a1;
    var
    n:integer; //№ квартиры,этажей, квартир на этаже
    x:=9;
    y:=4;
    begin
    write(‘введите номер квартиры =’);
    readln(n);
    writeln(‘подъезд =’,(n-1) div (x*y) + 1);
    writeln(‘этаж =’,(n mod (x*y)-1) div y +1);
    end.

  3. Сергей

    Добрый день, Тарас! Проверьте пожалуйста на правильность:
    program Kopeyki;

    var
    n: integer;
    begin
    writeln(‘Введите кол-во копеек’);
    readln(n);
    writeln(n div 100,’ рублей ‘,n mod 100,’ копеек’);
    writeln(n div 10,’ гривен ‘,n mod 10,’ копеек остается’);
    writeln(n div 3,’ алтына ‘,n mod 3,’ копеек остается’);
    writeln(n*4,’ полушек’);

    end.

  4. Сергей

    Добрый день, Тарас! Посмотрите пожалуйста задачу 8, я правда слегка изменил условие (кол-во оборотов вводится за минуту, а время в секундах). Вроде все работает за исключением случаев когда число вводимых оборотов кратное минуте, тогда все время будет ноль, подскажите пожалуйста, как можно это исправить, а то голова уже не варит. Спасибо
    program zadanie_8;
    var a,y,x,w,t:real;
    begin
    writeln(‘введите частоту вращения w в минуту’);
    readln(w);
    writeln(‘время вращения t в секундах’);
    readln(t);
    a:=360*((w/60)-(trunc(w/60)));//Узнаем кол-во градусов за секунду
    y:=360/a; //Узнаем за какое время делается полный оборот
    x:=360*(t/y-(trunc(t/y))); // Узнаем градус в определенное время
    writeln(x);
    end.

  5. Сергей

    к задаче 9, если не ошибаюсь решение будет:
    z:=x+y*(n-1)

  6. Сергей

    Проверьте пожалуйста решение задачи 10:

    x:=z*n div y;
    на сколько понимаю, что даже если начинаем идти от столба, то его не берем зачет? Если считать то к у добавляем +1.

  7. Сергей

    Проверьте 13ую. Вроде все правильно показывает.

    program zadanie_13;
    var
    a:real;
    begin
    write(‘введите целое число’);
    readln(a);
    a:=(a/10-trunc(a/10))*10;
    writeln(a:0:0);
    end.

  8. Раис

    Предлагаю такое решение 8 задачи:
    //Стрелка прибора вращается с постоянной скоростью,
    //совершая w оборотов в секунду
    //(не обязательно стрелка прибора,
    //может быть это волчок в игре «Что? Где? Когда?» и т.п.)
    //Угол поворота стрелки в нулевой момент времени
    //примем за 0. Каков будет угол поворота через t секунд?
    program strelka;
    var
    w, ugol, t, a: real;
    b: integer;

    begin
    write (‘w = ‘); readln (w);
    write (‘t = ‘); readln (t);
    a:=(t*w*360)/360;
    b:=trunc (a);
    ugol:=(a-b)*360;
    writeln (‘ угол поворота через Т секунд будет равен ‘, ugol);
    end.

  9. Раис

    7 задача
    //(+, -, *, /, div, mod),round(), trunc() и abs()
    //Старинными русскими денежными единицами являются:
    //1 рубль – 100 копеек,
    //1 гривна — 10 копеек,
    //1 алтын — 3 копейки,
    //1 полушка — 0,25 копейки.
    //Имеется А копеек.
    //Запишите выражения для представления имеющейся суммы:
    //в рублях, гривнах, алтынах и полушках.
    program money;
    var
    rub, gr, kop, alt:integer;
    pol:real;
    begin
    write (‘Введите количество копеек ‘);
    readln (kop);
    rub:= kop div 100;
    gr:= (kop-rub*100) div 10;
    alt:= (kop-rub*100-gr*10) div 3;
    pol:= (kop-rub*100-gr*10-alt*3)/0.25;
    Writeln (kop, ‘ коп. равно ‘, rub,’ руб. ‘,gr,’ грив. ‘,alt,’ алтынам и ‘,pol,’ полушкам ‘);
    end.

  10. Раис

    Предлагаю решение для 9 задачи (надеюсь, правильное)
    //9. Вы стоите на краю дороги
    //от вас до ближайшего фонарного столба x метров.
    //Расстояние между столбами y метров.
    //На каком расстоянии от вас находится n-й столб?
    //Длина вашего шага z метров.
    //Мимо скольких столбов вы пройдете, сделав n шагов.
    program stolbi;
    var
    x,y,r,z:real;
    n: integer;
    begin
    write (‘введите расстояние до ближайшего столба: ‘);
    readln (x);
    write (‘введите расстояние между столбами: ‘);
    readln (y);
    write (‘введите длину Вашего шага: ‘);
    readln (z);
    write (‘введите количество шагов: ‘);
    readln (n);
    r:=n*z;
    write (‘сделав n шагов Вы пройдете мимо стольки столбов: ‘, trunc ((r-x)/y+1));
    end.

  11. Раис

    Ошибся, последний вариант для 10 задачи написал

  12. Сая

    Долго думала над решением 10-й задачи, вроде все получилось )

    var
    x, y, z, n, s: real;

    begin
    writeln(‘расстояние от вас до столба’);
    readln(x);
    writeln(‘расстояние между столбами’);
    readln(y);
    writeln(‘длина вашего шага в метрах’);
    readln(z);
    writeln(‘сколько шагов вы сделаете’);
    readln(n);
    s := (((n*z)-(y+x))/y)+1+1;
    writeln(‘вы пройдете ‘, s, ‘ столбов’);
    end.

  13. Егор

    хоть кто-то есть на сайте ?

  14. Егор

    вот ответ 10

    program Столбы;
    var
    x , y , d , n : Integer;
    begin
    writeln(‘Вы стоите на краю дороги и от вас до ближайшего фонарного столба x метров. Расстояние между столбами y метров. Длина вашего шага z метров. Мимо скольких столбов вы пройдете, сделав n шагов’);
    writeln(‘Расстояние до ближайшего столба(м) ‘);
    writeln(‘x = ‘); {Вывод текста ‘n = ‘}
    readln(x); {Ввод значения переменной x пользователем программы}
    writeln(‘Расстояние между столбами (м)’);
    writeln(‘y = ‘); {Вывод текста ‘n = ‘}
    readln(y); {Ввод значения переменной x пользователем программы}
    writeln(‘Длинна вашего шага (м)’);
    writeln(‘d = ‘); {Вывод текста ‘n = ‘}
    readln(d); {Ввод значения переменной x пользователем программы}
    writeln(‘Кол-во шагов’);
    writeln(‘n = ‘); {Вывод текста ‘n = ‘}
    readln(n); {Ввод значения переменной x пользователем программы}
    writeln (‘через ‘,n,’ шагов вы пройдете ‘,trunc((((d*n)-x)/y)+1),’ столбов’)
    end.

  15. Sainet

    Привет всем! Помогите, пожалуйста, с решением 1-3 задачи..вообще не могу…заранее спасибо)

  16. Артем

    Сайнет, давай пиши, что не понимаешь в первых трех — помогу.

  17. АртемФ

    А так по ходу никого тут, без Тараса Викторовича трудно.

  18. shae

    Подскажите формулу 18 задачи или лучше намекните!

  19. АртемФ

    shae , вы решили 18-ю задачу?

  20. АртемФ

    Все, кто здесь бывает, пишите, вместе позанимаемся.

  21. DeadMilk

    задача 6. как-то мудрено, кто по-другому решил ?
    вот мое решение:
    var
    n,p,f:real;
    begin
    writeln(‘Введите номер квартиры’);
    read(n);
    p:=trunc((n+36)/36);
    f:=((1+trunc(n/4))-(p-1)*9);
    writeln(p,’ н подъезда ‘,f,’ н этажа’);
    end.

  22. АртемФ

    Я проще решил. У меня вообще одна переменная.

  23. DeadMilk

    Задание 10.

    var
    m,ns,n,s,z,x,y:real;
    begin
    writeln(‘Введите по очереди: 1.расстояние до ближайшего столба, 2. расстояние между столбами,3. номер столба,4.длину вашего шага, 5. кол-во шагов’);
    read(x,y,ns,z,n);
    s:=x+y*ns;// узнаем пройденное расстояние
    writeln(‘Расстояние до ‘,n,’ столба = ‘,s,’ метр(а)ов’);
    m:=trunc(z*n/y-x);// узнаем сколько столбов прошли
    writeln(‘ за ‘,n,’ шагов, вы пройдете ‘,m,’ столбов’);
    end.

  24. DeadMilk

    13 задание.

    var
    a:integer;
    begin
    writeln(‘vvedite chislo’);
    read(a);
    writeln(‘posledn99 cifra ‘,a mod 10);
    end.

  25. DeadMilk

    АртемФ, можно одной, но там больно много получится, если по моему решению. Но так вроде тоже неплохо работает.

  26. DeadMilk

    задание 24.

    var d1,d2,d3,a:integer;
    begin
    read(a);
    d1:=trunc(a/100);
    d2:=trunc(a/10) mod 10;
    d3:=a mod 10;
    writeln(‘1ое число(‘,d1,’) 2ое число(‘,d2,’) 3е число(‘,d3,’)’);
    end.

  27. АртемФ

    В 10-м усложняете, столько лишних переменных, DeadMilk . Во второй строке. Зачем вам столько? У меня там 4-е переменных и все!

  28. АртемФ

    DeadMilk, а в 13 если любое число???

  29. DeadMilk

    АртемФ, в 13 да. В 10 просто + 9 задание, все параметры вводятся из-за этого. Можно было выкинуть пару переменных, и вместо них выводить просто действие, но тогда не понятнее становится и путанее.

  30. Ruslan

    Задание 6.
    program six; {6. В доме 9 этажей, на каждом этаже одного подъезда по 4 квартиры. В каком подъезде, и на каком этаже находится n-я квартира.}
    var n, x, a, b: integer;
    begin
    write (‘Введите номер квартиры n=’);
    read (n);
    x:=(n+3) div 4;
    writeln (‘Общий номер этажа x=’, x);
    a:=trunc (x/9 +0.9);
    writeln (‘Номер подъезда a=’, a);
    b:=x-(9*(a-1));
    writeln (‘Номер этажа b=’, b);
    end.

  31. Ruslan

    Задание 8.
    //8. Стрелка прибора вращается с постоянной скоростью,
    //совершая w оборотов в секунду.
    //Угол поворота стрелки в нулевой момент времени примем за 0.
    //Каков будет угол поворота через t секунд?
    program восемь;
    var w,x,t: real;
    begin
    write (‘Введите количество оборотов в секунду w ‘); read (w);
    write (‘Введите количество секунд t ‘); read (t);
    x:=(t/w)*360;
    write (‘Угол поворота через ‘, t, ‘ секунд ‘, x);
    end.

  32. Ruslan

    //9. Вы стоите на краю дороги и от вас до ближайшего фонарного столба x метров.
    //Расстояние между столбами y метров.
    //На каком расстоянии от вас находится n-й столб?
    Program девять;
    var x,y,n,a: real;
    begin
    write (‘Введите расстояние до ближайшего фонарного столба от вас x ‘);
    read (x);
    write (‘Введите расстояние между столбами y ‘);
    read (y);
    write (‘Введите количество столбов n ‘);
    read (n);
    a:=n*y-x;
    write (‘Расстояние от вас до ‘, n, ‘-го столба ‘, a, ‘ метров’);
    end.

  33. Ruslan

    //10. Вы стоите на краю дороги и от вас до ближайшего фонарного столба x метров.
    //Расстояние между столбами y метров.
    //Длина вашего шага z метров. Мимо скольких столбов вы пройдете, сделав n шагов.
    program десять;
    var x,y,z,n,a: real;
    begin
    write (‘Введите расстояние до ближайшего фонарного столба от вас x ‘);
    read (x);
    write (‘Введите расстояние между столбами y ‘);
    read (y);
    write (‘Введите длину вашего шага z ‘);
    read (z);
    write (‘Введите количество шагов n ‘);
    read (n);
    a:=(n*z)/y;
    write (‘Вы прошли мимо ‘, a, ‘ столбов’);
    end.

  34. Ruslan

    //11. x – вещественное число. Запишите выражение, позволяющее выделить его дробную часть.
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program одиннадцать;
    var x,a: real;
    begin
    write (‘Введите вещественное число x ‘);
    read (x);
    a:= round (x);
    a:= x-a;
    write (‘Дробная часть ‘, a);
    end.

  35. Ruslan

    //12. x – вещественное число. Запишите выражение, которое округлит его до сотых долей
    //(останется только два знака после запятой).
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program двенадцать;
    var x,a: real;
    begin
    write (‘Введите вещественное число x ‘);
    read (x);
    a:=(trunc (x*100))/100;
    write (‘Решение ‘, a);
    end.

  36. Ruslan

    //13. n – целое число. Запишите выражение, позволяющее узнать его последнюю цифру.
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program тринадцать;
    var n,a: integer;
    begin
    write (‘Введите целое число ‘);
    read (n);
    a:= n mod 10;
    write (‘Последняя цифра ‘, a);
    end.

  37. Ruslan

    //14. n – четырехзначное целое число. Запишите выражение, позволяющее узнать его первую цифру.
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program четырнадцать;
    var n,a: integer;
    begin
    write (‘Введите четырехзначное целое число ‘);
    read (n);
    a:= trunc (n/1000);
    write (‘Первая цифра ‘, a);
    end.

  38. Ruslan

    //15. Оператор div в Паскале работает только для целых чисел.
    //Составьте выражение, позволяющее получать целую часть от деления вещественных чисел.
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program пятнадцать;
    var x,y,z: real;
    begin
    write (‘Введите вещественное число x ‘);
    read (x);
    write (‘Введите вещественное число y ‘);
    read (y);
    z:= trunc (x/y);
    write (‘Целая часть от деления вещественных чисел ‘, z);
    end.

  39. Ruslan

    //16. Выразите операцию mod через другие арифметические операции.
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program пятнадцать;
    var x,y,z,a: integer;
    begin
    write (‘Введите число x ‘);
    read (x);
    write (‘Введите число y ‘);
    read (y);
    z:= x — (x div y)*y;
    write (‘Взятие остатка от деления ‘, z);
    end.

    Для а>0 и b>0 справедливо:
    a mod b = a – (a div b)*b
    (a div b)*b + (a mod b) = a
    http://informatics.mccme.ru/mod/book/view.php?id=5115

  40. Ruslan

    //17. x – вещественное число. Запишите выражение, которое даст +1,
    //если x>0 и -1, если x<0 (при x=0 выражение будет неопределено).
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program семнадцать;
    var x,y,z,s: real;
    begin
    write ('Введите число x ');
    read (x);
    y:= abs (x) / x;
    z:= x/x;
    s:=y/z;
    write ('Выражение равно ', s);
    end.

  41. Ruslan

    //18. n и m – целые числа. Запишите выражение, которое давало бы 0,
    //если n кратно m, и 1, если не кратно.
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program восемнадцать;
    var n,m,x: integer;
    begin
    write (‘Введите целое число n ‘);
    read (n);
    write (‘Введите целое число m ‘);
    read (m);
    x:=trunc (((n/m)-(n div m))+0.9);
    write (x);
    end.

  42. Ruslan

    //19. От бревна длиной L отпиливают куски длиной x.
    //Сколько кусков максимально удастся отпилить.
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program девятнадцать;
    var L,x,z: integer;
    begin
    write (‘Введите длину бревна L ‘);
    read (L);
    write (‘Введите длину кусков x ‘);
    read (x);
    z:=L div x;
    write (‘Максимально удастся отпилить ‘, z, ‘ кусков.’);
    end.

  43. Ruslan

    //20. Бревно длиной L распилили в n местах.
    //Какова средняя длина получившихся кусков?
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program двадцать;
    var L,n,x: integer;
    begin
    write (‘Введите длину бревна L ‘);
    read (L);
    write (‘Введите количество распилов n ‘);
    read (n);
    x:=round (L/n);
    write (‘Средняя длина получившихся кусков ‘,x);
    end.

  44. Ruslan

    //21. Резиновое кольцо диаметром d разрезали в n местах.
    //Какова средняя длина получившихся кусков?
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program двадцать_один;
    var d,n,x: integer;
    begin
    write (‘Введите диаметр резинового кольца d ‘);
    read (d);
    write (‘Введите количество разрезов n ‘);
    read (n);
    x:= round (pi*d/2/n);
    write (‘Средняя длина получившихся кусков ‘, x);
    end.

  45. Ruslan

    //22. На прямой через равные промежутки располагается n точек.
    //Расстояние от первой до последней равно L.
    //Чему равно расстояние от первой точки до i-й?
    //А от k-й до последней? А от i-й до k-й?

    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program двадцать_два;
    var n,L,i,k,x,y,z,a: real;
    begin
    write (‘Введите количество точек на прямой n ‘);
    read (n);
    write (‘Введите расстояние от первой точки до последней L ‘);
    read (L);
    write (‘Введите номер точки i ‘);
    read (i);
    write (‘Введите номер точки k ‘);
    read (k);

    x:=L/(n-1);
    writeln (‘Длина каждого отрезка ‘, x);
    y:=x*(i-1);
    writeln (‘Расстояние от первой точки до ‘, i, ‘-й ‘, y);
    z:=(n-k)*x;
    writeln (‘Расстояние от ‘, k, ‘-й до последней ‘, z);
    a:=(k-i)*x;
    writeln (‘Расстояние от ‘, i, ‘-й до ‘, k, ‘-й ‘, a);
    end.

  46. Ruslan

    //24. Пусть дано трехзначное число x (например, 123).
    //Составьте выражения, которые позволят вычислить первую, вторую и третью цифру этого числа (числа 1, 2 и 3 в примере).
    //Для облегчения поиска решения имейте в виду, что для двузначного числа первая цифра дается выражением
    //d1:=x div 10;
    //а вторая выражением
    //d2:=x mod 10;
    //(+, -, *, /, div, mod), а также функции round(), trunc() и abs()
    program двадцать_четыре;
    var x,y,z,a: integer;
    begin
    write (‘Введите трехзначное число x ‘);
    read (x);
    y:=x div 100;
    writeln (‘Первая цифра ‘,y);
    z:=(x div 10) mod 10;
    writeln (‘Вторая цифра ‘,z);
    a:=x mod 10;
    writeln (‘Третья цифра ‘,a);
    end.

  47. Сергей

    //предлагаю вариант решения задачи №6
    program house;
    var
    a: integer;
    begin
    write(‘введите номер квартиры, чтобы узнать, на каком она этаже: ‘);
    readln(a);
    writeln(‘квартира №’,a,’ на ‘,round(a mod 36/4+0.4),’ этаже ‘,round(a/36+0.4),’ подъезда.’);
    end.

  48. Сергей

    //вариант для 7 задачи
    program sdaf;
    var
    r,g,a,k: integer;
    p: real;
    begin
    writeln(‘сколько копеек нужно перевести?’);
    readln(k);
    r:=k div 100;
    g:=(k mod 100) div 10;
    a:=(k mod 10) div 3;
    p:=(k mod 3)/0.25;
    writeln(r,’ рублей ‘,g,’ гривен ‘,a,’ алтын ‘,p,’ полушек’);
    end.

  49. Сергей

    //вариант для 8 задачи
    program волчок;
    var
    w: real;
    t: integer;
    begin
    write(‘введите время — ‘);readln(t);
    write(‘введите количество оборотов — ‘);readln(w);
    writeln(‘угол поворота составит ‘,(t*w-trunc(t*w))*360,’ градусов, через ‘,t,’ секунд’);
    end.

  50. Сергей

    //вариант для 9 задачи
    program столб;
    var
    x,y:real;
    n:integer;
    begin
    write(‘метров до ближайшего столба — ‘);readln(x);
    write(‘расстояние между столбами (в метрах) — ‘);readln(y);
    write(‘узнать расстояния до столба номер — ‘);readln(n);
    writeln(‘до ‘,n,’ столба номер ‘,n*y-(y-x),’ метров’);
    end.

Добавить комментарий