Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Тип данных String в Pascal.

Со строковыми переменными можно производить различные операции. Операция сцепления строк позволяет соеденить 2 строки между собой.

Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

Циклы и массивы

Многомерные массивы.

Индексы имеют еще одно свойство — чем больше объем массива, тем менее эффективна с ним работа, поэтому часто используют массивы массивов, то есть с двумя, тремя и более индексами для идентификации ...

Вложенные итерационные циклы.

Под вложенным итерационным циклом понимают такую алгоритмическую структуру, при которой в тело одного итерационного цикла включен другой итерационный цикл. Другими словами, любая составная ...

Уроки Паскаль

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

program number7;
uses crt;
var A,B,C: integer;
begin
clrscr;
A:=17;
B:=3;
C:=A div B;
writeln ('17 div 3 = ',C);
C:=A mod B;
writeln ('17 mod 3 = ',C);
C:=A-B;
writeln ('17-3 =',C);
readln
end.

В строке №8 используется операция Div. Это операция деления нацело, т. е. в результате получится целое число без остатка. Если 17 разделить на 3, то получится 5,66666… Здесь - целое число 5, оно и будет результатом операции div.
Строка №10. Операция Mod вычисляет остаток от целочисленного деления. Если мы разделим 17 на 3, то получится 5 – целое число и 2 – остаток. Таким образом, результатом операции Mod будет число 2
Теперь запишем нашу программу в Паскале и и запустим ее.

div mod

div mod.



Дополнение к материалу.

Правила приоритета при выполнении операций в Паскале.

  • Сначала выполняются действия над переменными, которые стоят в скобках.
  • Затем вычисляются функции.
  • Затем умножение и деление.
  • Затем сложение и вычитание.

Операции, которые имеют одинаковый приоритет (сложение и вычитание, деление и умножение) выполняются слева направо, т.е. в порядке очереди.

Комментарии  

 
+9 # Irzorg 04.04.2012 17:46
помогите решить задачу 1811 mod 32 = 19! Как получается этот ответ, все испробывал, не могу получить!
 
 
+2 # Евгений 09.01.2015 18:56
Достаточно в выше показанной программе переменную А определить как 1811,а переменную В как 32 то переменная С (C:=A mod B) и определит искомые 19.
 
 
+68 # Administrator 05.04.2012 08:29
Делишь 1811 на 32, получается 56,59375. Из этого числа берем целое число, т.е. 56 и умножаем его на 32. Получится 1792. 1811-1792=19 Это и есть остаток от целочисленного деления.
 
 
+9 # Евгений 09.01.2015 13:08
Этому можно придать и иной смысл...Достато чно вспомнить мультфильм "тридцать восемь попугаев...Числ о,которым делят,становить ся мерой числа которое делят...И остаток 0.59375 выражает часть числа 32!...Так что достаточно умножить 32 на 0.59375 что бы получилось искомые 19.
 
 
-182 # яю 23.04.2012 12:14
Забудь про паскаль.
И задачу тебе не нужно решать.
А если хочешь научиться, то начинай с Ассемблера.
 
 
+40 # Нео 02.12.2012 13:08
-27 оценка...
вижу никому не нравиться Ассамблер :lol:
 
 
+31 # Антон 23.02.2013 14:00
Ну просто обсуждается именно паскаль, а не ассемблер, поэтому и минусуют, что не по теме
 
 
+6 # alex 30.06.2012 14:04
:)
8 строка: C := trunc(A/B);
10 cстрока: C := A - B * trunc(A/B);
 
 
-10 # помогите 28.01.2013 19:21
помогите решить задачу:дано 2 значное число,переверни те его справа налево.Допучсти м 32 ответ должен быть 23. или дано 78 ответ 87 заранее спосибо!!!!:)
 
 
+4 # Антон 23.02.2013 14:35
Program pr1;
var
x, y1, y2, y: integer;
begin
write ('Введите двухзначное число: ');
readln (x);
y1:=(x mod 10)*10;
y2:=x div 10;
y:=y1+y2;
write ('Число-перевёр тыш: ', y);
readln;
end.
 
 
-6 # Вадим 22.11.2015 06:30
А не легче в 7,8 и 9 строках сделать так: y1:=x div 10; y2:=x mod 10; writeln (y2,y1); 8) :lol:
 
 
+3 # VladiMir 08.04.2015 19:38
program Project4;

{$APPTYPE CONSOLE}

uses
SysUtils;
var a,b: integer;
n: word;

begin
readln(n);
a:=n mod 10;
n:= n div 10;
b:=n mod 10;
n:= n div 10;
n:=a*10+b;
writeln(n);
readln;

end.
 
 
-14 # dim 16.02.2013 12:43
program prog1;
uses crt;

var x,c,z,y:integer;

begin
write ('введите двухзначное число. ');
read(x);
z:=10;
:-*

y:=x div z;
c:=x mod z;
writeln (c,y);
readln
end.
 
 
0 # иришка* 18.02.2013 12:38
ребяята подскажите пожалуйста !очень надо как из числа 5264 получить число 2 типа третье от конца число помогите пожалуйста :cry:
 
 
-5 # Антон 23.02.2013 12:18
Program pr1;
var
x, y: integer;
begin
write ('Введите число: ');
readln (x); //вводим 5264
y:=(x div 100)-(((x div 100) div 10)*10);
write ('Третья цифра справа ', y);
end.

Программа всегда будет говорить, какая цифра стоит третьей
 
 
-5 # Антон 23.02.2013 13:58
Кстати, перед "end." надо добавить "readln;", а то после вывода результата программа тут же закроется
 
 
0 # Виталий 16.11.2017 13:31
var

a,b,i:integer;

begin

readln(a);

a:=a div 10;
b:=a div 10;
a:=a div 10;
b:=a mod 10;
writeln(b);

end.
 
 
0 # Alexandr 19.02.2013 11:27
# Irzorg
Вот тебе схема как это делать в дальнейшем:
Допустим,что нам даны два числа x и y;
1)X mod Y=F;-Нам нужно узнать,что же за число получится при вычислении остатка от целочисленного деления;
2)X div Y=Z;Z-это результат целочисленного деления;
3)Z*Y=G;G-число,которое получилось в результате умножения результата целочисленного деления на число Y(Y дан нам в исходном выражении);
4)X-G=F;Где F конечный результат.
Надеюсь,что помог тебе.
 
 
-4 # ivan 20.03.2013 16:32
подсчитал все значения,на экран нужно вывести каждое двадцатое число,подскажит е пожалуйста
 
 
+1 # katya 21.03.2013 17:25
помогите решить задачу.
дано два цэлых числа: A, B. проверить истинное ли выражение " Каждое ис чисел А,В - непарное"
 
 
+2 # Casil 16.03.2018 10:40
Boolean4. Даны два целых числа: A, B. Проверить истинность высказывания: «Справедливы неравенства A > 2 и B ≤ 3».

var
A, B: integer;

begin
write('Введите A и B: ');
read(A,B);
writeln('Справе дливы неравенства A > 2 и B ≤ 3 - ',(A > 2) and (B = 0) or (B < -2));
end.
Boolean6. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Справедливо двойное неравенство A < B < C».

var
A, B, C: integer;

begin
write('Введите A, B и C: ');
read(A,B,C);
writeln('Справе дливо двойное неравенство A < B < C - ',(A < B) and (B < C));
end.
Boolean7°. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Число B находится между числами A и C».

var
A, B, C: integer;

begin
write('Введите A, B и C: ');
read(A,B,C);
writeln('Число B находится между числами A и C - ',((A < B) and (B < C)) or ((A > B) and (B > C)));
end.
Boolean8. Даны два целых числа: A, B. Проверить истинность высказывания: «Каждое из чисел A и B нечетное».

var
A, B: integer;

begin
write('Введите A, B: ');
read(A,B);
writeln('Каждое из чисел A и B нечетное - ', (A mod 2 0) and (B mod 2 0));
end.
Boolean9. Даны два целых числа: A, B. Проверить истинность высказывания: «Хотя бы одно из чисел A и B нечетное».

var
A, B: integer;

begin
write('Введите A, B: ');
read(A,B);
writeln('Хотя бы одно из чисел A и B нечетное - ', (A mod 2 0) or (B mod 2 0));
end.
Boolean10°. Даны два целых числа: A, B. Проверить истинность высказывания: «Ровно одно из чисел A и B нечетное».

var
A, B: integer;

begin
write('Введите A, B: ');
read(A,B);
writeln('Хотя бы одно из чисел A и B нечетное - ', (A mod 2 0) xor (B mod 2 0));
end.
Boolean11. Даны два целых числа: A, B. Проверить истинность высказывания: «Числа A и B имеют одинаковую четность».

var
A, B: integer;
C: boolean;
begin
write('Введите A, B: ');
read(A,B);
C := ((A mod 2 0) and (B mod 2 0)) or ((A mod 2 = 0) and (B mod 2 = 0));
writeln('Числа A и B имеют одинаковую четность - ', C);
end.
Boolean12. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Каждое из чисел A, B, C положительное».

var
A, B, C: integer;
begin
write('Введите A, B и C: ');
read(A,B,C);
writeln('Каждое из чисел A, B, C положительное - ',(A > 0) and (B > 0) and (C > 0));
end.
 
 
-7 # katya 21.03.2013 20:02
спасибо,но я уже разобралась сама)
 
 
-3 # graffiti 29.03.2013 13:23
Помогите решить задачу!
Заданы три различных числа k,l,m/Сколько нечётных чисел среди них,если таких чисел нет-выдать сообщение на экран
 
 
+1 # Прог 19.03.2014 07:25
program che;
const k=10; // Количество чисел сколько надо
var d: array [1..k] of integer;
l, m: integer;
begin
writeln('Введит е k чисел');
for i:= 1 to k do
read (d[l]);

for l:= 1 to k do
write(d[l]:3); writeln;

s1:=0;
for l:=1 to k do
if d[l] mod 2=1 then
begin
s1:=s1+d[l];
end;
writeln('Cumma:=',s1);
end.
 
 
-4 # Гульмира 15.04.2014 15:28
сколько сушествует 2013 значных чисел таких, что любое двузначное число, образованное парами соседних цифр, делиться на 17 или на 23?? помогоите составит программу!!!!!! :oops:
 
 
+2 # Casil 16.03.2018 13:44
НАчнем считать
Сначала выпишем все двух значные числа, которые делятся на 17 и на 23.
На 17: 17, 34, 51, 68, 85.
На 23: 23, 46, 69, 92.
Начнем составлять возможные концовки чисел:
6
68
685
6851
68517 - дальше никакую цифру всунуть нельзя.
6 - такое уже было.
69
692
6923
69234
692346 - но это то же самое, что просто 6, т. к., если двигаться влево, то мы получим последовательно сть из цифр ...692346923469 234... до нужного нам кол-ва.
И того получается, что у нас выйдут такие числа.
...69234692346
...692346923468
...692346923468 5
...692346923468 51
...692346923468 517
...692346923469
...692346923469 2
...692346923469 23
...692346923469 234
9 чисел. Кстати, тут неважно 2013-значное оно или какое-то другое. Одинаковое кол-во получится и с пятизначным и с 1000000-значным . Удачи.
 
 
+1 # илья 20.11.2014 18:05
помогите написать программу на вывод чётных и нечётных чисел массива
 
 
0 # Casil 16.03.2018 13:45
for i := 1 to n do
if not(odd(x)) then writeln(x);
for i := n downto 1 do
if odd(x) then writeln(x);


еше один вариант :
for i := 1 to n do
if (x mod 2 = 0) then writeln(x);
for i := n downto 1 do
if not(x mod 2 = 0) then writeln(x);
 
 
-4 # nuri 21.11.2014 12:58
Укажите основание системы счисления, в которой число 126 с осн 10 оканчивается на 40
 
 
0 # Casil 16.03.2018 13:47
Основания систем счисления д. б. больше З-ной, т. к. запись числа оканчивается на 3.Для перевода числа в другую систему счисления надо это число последовательно делить на основание, причем в нашем случае первый остаток д. б. равен 3-м. Этому условию удовлетворяет 4-ная (4*9=36),6-ная (6*6=36).9-ная (9*4=36),12-ная (12*3=36),и 36-ная (36*1=36). Число 22 (3)=8(10) и 222(3)=26(10)


- Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 39 оканчиваются на 3.

- Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 26, запись которых в троичной системе счисления оканчивается на 22.
 
 
0 # nuri 21.11.2014 12:59
Помогите пожалуйста решить задачу
 
 
+1 # Tom 02.12.2014 15:17
Как выразить сумму делителей какого-то числа?
 
 
+2 # Tom 02.12.2014 15:21
Точнее, как найти делители x-числа? Подскажите, пожалуйста :sad:
 
 
+2 # лажа 03.12.2014 07:11
Помогите пожалуйста: нужно вывести на экран количество двухзначных нечетных чисел!!! Оченб прошу, помоите!
 
 
+1 # SovietChekist 18.12.2014 09:48
Pascal ABC ругается, когда пишу
c:=a div b;
c:=a mod b;
В чем проблема
 
 
+4 # Каролина 10.02.2016 19:11
Нельзя чтоб повторялись переменные присвой a mod b например к переменной f и твоя проблема решена
 
 
+3 # Marina 22.12.2014 16:42
как решить 35-17div4
 
 
0 # ира 04.02.2015 18:16
Х MOD 5 = Х DIV5

С какими значениями Х следующие равенства будут верны?
 
 
0 # михаил 11.02.2015 17:13
a:=125; b:=25; c:=12; if a div 25=0 then if a mod 12=0 then c:=b div (a mod c) esle c:=a div (b mod c) ;-)
 
 
+2 # Denis 15.03.2015 14:12
Как составить программу, чтобы оно делилось на 5 и было 4х значное, при этом выводилось удача, а если не проходило неудача?
 
 
+2 # Евгений 25.04.2015 14:02
Помогите решить задачу. Дано число a. Если число а делится на 2 без остатка вывести 'делится на 2', если нет - 'не делитcя'.
 
 
+3 # Casil 16.03.2018 13:48
var a,b:integer;
begin
writeln('Введит е два числа для проверки');
readln(a,b);
if a mod b=0 then writeln('Делитс я')
else writeln('Не делится');
end.
 
 
+2 # Помогите решить. 04.10.2015 08:40
a b ab-c
- * - - ____
b d cd
 
 
+2 # Помогите решить. 04.10.2015 08:41
a/b * b/d - ab-c/cd
 
 
+2 # Casil 16.03.2018 13:49
var
f, a, b, c, d: real;

begin
Write('A='); Readln(a);
Write('B='); Readln(b);
Write('C='); Readln(c);
Write('D='); Readln(d);
f := a / b * b / d - (a * b - c) / c * d;
Writeln('F=', f:0:5);
Readln
end.
 
 
+2 # Аяс 13.10.2015 15:48
4. Переставить в исходном четырёхзначном числе первые две цифры и последние две цифры местами. Например: Входное число 1234, выходное 3412.
 
 
+2 # Casil 16.03.2018 13:50
var
s: string;

begin
read(s);
if length(s) >= 4 then
writeln(s[3] + s[4] + s[1] + s[2]);
end.
 
 
+3 # Марина 05.11.2015 07:58
Помогите решить 56 div 3 =
 
 
+2 # Каролина 10.02.2016 19:06
Марина равно 18
 
 
+3 # Casil 16.03.2018 13:57
z := 55 div 6

z будет равно 9. Запомните ! При использовании оператора div дробная часть будет отброшена!
 
 
-1 # Дмитрий 14.11.2015 07:53
Натуральное число N Маша поделила с остатком на все натуральные числа от 1 до M. Какой самый большой остаток у нее получился?
вводится:5 4
выводится:2
помогите срочно!!!!!!
 
 
+1 # Casil 16.03.2018 13:58
Число 2015 Маша поделила с остатком на все числа от 1 до 1000. Какой самый большой остаток у неё получился?
Пусть q -- неполное частное, а r -- остаток от деления 2015 на n, где 1≤n≤1000. Ясно, что q≥2, так как 2015/1000>2. Про остаток мы знаем, что r≤n−1, то есть 2015=nq+r≥q(r+1 )+r≥2(r+1)+r=3r +2. Следовательно, r≤671. Равенство достигается при делении на n=r+1=672. Поэтому самый большой остаток равен 671.
 
 
+3 # Олеся 07.12.2015 19:32
помогите решить задачку плиииз) дано целое двухзначное число определить можно ли цифру 10 разделить на цифру 1 без остатка
 
 
+4 # Casil 16.03.2018 13:59
var a,n:integer;
begin
readln(n);
a:=(n mod 100) div 10;
writeln(a);
end.
 
 
+2 # ХуЛаЛа 13.01.2016 19:52
y= x mod 5 + x div 3
z= y*y mod 2
Как решить? :o
 
 
+5 # Каролина 10.02.2016 19:03
Можно ли производить операции mod и div
над переменными,кот орые описаны как real.
 
 
+4 # Нуб 11.04.2016 15:57
a и b - рандомные числа. Как сделать чтобы для b присваивалось такое значение, которое делится на a без остатка? :sigh:
 
 
+2 # Нуб 11.04.2016 15:58
Помогите пожалуйста! :o
 
 
+3 # Casil 16.03.2018 14:05
if n mod 2=0 then.. {число делится на 2}
if (n mod 2=0)and(n mod 3=0)and(n mod 5=0) then.. {число делится и на 2, и на 3 и на 5}
{или}
if n mod(2*3*5)=0 then..
 
 
+3 # ислам 19.05.2016 14:01
program islam;
uses crt;
var x,c,y:integer;
begin;
clrscr;
writeln('введите число');
readln(x);
writeln('умножить на...');
readln(y);
c:=x * y;
writeln('=',c);
end.
 
 
+4 # Zizy 18.11.2016 20:59
А для чого записувати (uses crt;)
 
 
-1 # Настяни энаси 23.11.2016 05:24
энайни ами
 
 
+3 # лена 06.12.2016 09:46
помогите сделать задачу.
тип что б с числа выкидало цифру 2
 
 
-2 # Булат 19.12.2016 15:58
:dream
 
 
+3 # semion57829@gmail.co 10.10.2017 17:33
Сколько чисел от N до C делятся на 3
 
 
+2 # Casil 16.03.2018 10:44
begin
WriteLn(100 div 3,' чисел кратных 3');
ReadLn;
end.
 
 
+4 # Анатолий 25.10.2017 22:20
Ну и получается, что фактически мы выполняем одну и ту же операцию дважды. Паскаль не годится! У него нет операции деления нацело с остатком. А у всех процессоров есть... На Си есть функция div ldiv но она не работает с беззнаковыми типами.
Получается я должен писать либо на ассемблере, либо на Pyton. Там есть. Но на Pyton не имеет беззнаковых типов. Однако Pyton не имеет фиксированной размерности. Там выполняются вычисление с неограниченной точностью. Через библиотеку конечно ибо процессор так не умеет.
Однако для пользователя это выглядит так, как буддто вы непосредственно работатете с автоматически увеличивающими размер числами и повышающими точность если надо. Но если вы хотите такую операцию не на Pyton, то вам придётся писать ан ассемблере.
 
 
+1 # Семен 09.03.2018 10:29
Здорово
 
 
+3 # Casil 16.03.2018 10:42
program m1;
uses crt;
var x,del:integer;
begin
write('Введите x: '); readln(x);
write('Делители: ');
for del:=1 to x do
if (x mod del)=0 then
write(del,' ');
writeln;
end.
 
 
+1 # Василий 29.09.2021 06:20
надо написать программу без div
типо вычитание использовать а я не могу, понимаю но не могу
 
 
+4 # Друзья 29.09.2021 06:21
Можно не церемониться и написать так: Read(a,b); {c:=0;}
if a*bb do begin
Dec(a,b); Inc(c);
end;
WriteLn('частно е: ',s*c,', остаток: ',s*a);
 
 
+1 # человек 21.12.2021 11:20
написать программу суммы чисел второй стони, вот пример но немного другой, помогите пж

program summa;
var x,y:integer;
begin
writeln ('Суммы чисел первой сотни,которые делятся на 3');
y:=0;
for x:=1 to 99 do
Begin
if (x)mod(3)=0 then y:=y+x;
end;
writeln ('Сумма y=',y);
end.
:sad:
 
 
+5 # EVG 09.02.2022 14:56
//1
Var
n,i,s:integer;
begin
n:=0;
for i:=1 to 100 do
begin
n:=n+3;
s:=s+n;
end;
writeln(s);
end.

//2
Var
i:integer;
r:integer;
begin
for i:=500 to 700 do
r:=r+i;
writeln(r);
end.
 
 
+3 # ксения 16.03.2022 15:43
var a c: integer;
begin
a:= 2154; c:= a div 100; a:= a mod 100; c:= a-c;
writeln (c)
end.
 
 
+2 # Ivan 13.02.2023 07:41
Хороший пример
 
   ГлавнаяПаскальУроки ПаскальDiv, Mod, сложение, вычитание в Pascal.