Персональная страничка
| ||
Предыдущий раздел:
Следующий раздел:
1. Напишите программу, которая запрашивает два числа и, а затем выводит их в порядке возрастания, сначала меньшее затем большее.
2. Создайте программу, которая запрашивает у пользователя три числа, а затем сообщает ему, какое из этих чисел наибольшее.
3. Создайте программу, которая запрашивает у пользователя число и сообщает, является ли это число четным.
4. Даны три числа a, b, c. Если среди них есть отрицательные, возведите их в квадрат. Если после возведения в квадрат число стало больше 20, умножьте его на 2.
5. Напишите программу, которая запрашивает значение , а затем выводит значение следующей функции от :
6. Напишите программу, которая запрашивает значения , а затем выводит значение следующих функций: и .
7. Модифицируйте вашу программу расчета корней квадратного уравнения, добавив к ней проверку неотрицательности дискриминанта. Если дискриминант отрицательный, сообщайте пользователю, что уравнение не имеет корней.
8. Модифицируйте вашу программу расчета корней квадратного уравнения, добавив к ней проверку того, что первый коэффициент не равен нулю. В противном случае сообщайте пользователю, что уравнение не квадратное, а линейное и вычислите его единственный корень. Если первые два коэффициента оба равны нулю, а третье не равно, сообщите пользователю, что корней нет. А если все коэффициенты равны нулю, сообщите, что любое число является корнем.
9. Пользователь вводит три числа. Сообщите ему, упорядочены ли введенные числа по возрастанию.
10. Пользователь вводит три числа – длины сторон треугольника. Программа должна сообщить пользователю:
является ли треугольник равносторонним;
является ли треугольник равнобедренным;
является ли треугольник разносторонним;
является ли треугольник прямоугольным;
существует ли вообще такой треугольник (такого треугольника не может быть, если сумма любых двух сторон окажется меньше третьей стороны).
11. «Узник замка Иф»
За многие годы заточения узник замка Иф проделал вилкой в стене прямоугольное отверстие размером d x e. Замок Иф сложен из кирпичей размером a x b x c. Узник хочет узнать, сможет ли он выбрасывать кирпичи в море из этого отверстия, чтобы сделать подкоп. Снабдите его необходимым для решения задачи софтом. На вход программе подаются 5 чисел (a, b, c, d, e), программа должна давать ответ YES или NO.
12. Напишите программу, которая в зависимости от введенного возраста добавляет слова «год», «года» или «лет». Например, при вводе возраста 1, программа сообщает «1 год», при числе 2 – «2 года», при числе 125 – «125 лет».
Следующий раздел:
Предыдущий раздел:
№5 Подскажите, правильно ?
x ты считаешь правильно, но sin(x) это синус от x. А он тебе не нужен. В общем, выводи либо x без затей, либо пиши что-то вроде:
Понравилась задача № 12
Выложу ка своё решение (со второго раза). Первый раз запутался в условных операторах, да и сам алгоритм неправильно составил
var
age : integer;
begin
writeln(‘Введи возраст ‘);
readln(age);
if (((age mod 100)mod 10) = 1) or ((age mod 10) = 1) then
begin
writeln(‘Возвраст ‘ , age, ‘ год’);
end
else if ((age mod 100)mod 10 = 2) or ((age mod 100)mod 10 = 3) or ((age mod 100)mod 10 = 4) then
begin
writeln(‘Возвраст ‘ , age, ‘ года’);
end
else
begin
writeln(‘Возвраст ‘ , age, ‘ лет’);
end;
end.
Пара замечаний:
1) "(age mod 100)mod 10" это то же самое, что "age mod 10".
2) Программа соврет для 11 лет.
Точно, спасибо.
Тогда дописываем ветку If age = 11 then
writeln(‘Возвраст ‘ , age, ‘ лет’)
Еще не будет работать для 12, 13, 14, 111, 112 и т.д.
Ух ты, прикольно, я еще когда решал задачи из первого пункта мне пришлось решить подобную задачу, чтобы к ответам дать правильные окончания, и чтобы придумать код, я думал именно на примере лет и годов. Счас просматриваю задачки и смотрю тут такая задачка))))))
Аноним и володя(или вы один и тот же персонаж), вычисли сначала последнюю одну цифру и последние две(напр.125 эт 25, 2463 эт 63) и привяжи их к переменным, двузначную к своей и однозначную к своей. . . ну а потом составляй логические условия. В первую очередь ставь условие на двузначное число. не разберешься, спрашивай
Здравствуйте, Тарас Викторович, проверьте, пожалуйста, 12 задание.
program age;
var
x: integer;
begin
readln(x);
if ((x-1) mod 10=0) and (not (x mod 10=1)) then
begin
write(x, ‘ god’);
end;
if ((x-2) mod 10=0) or ((x-3) mod 10=0) or ((x-4) mod 10=0) then
begin
write(x, ‘ goda’);
end;
if (x mod 10=1) or ((x-5) mod 10=0) or ((x-6) mod 10=0) or ((x-7) mod 10=0) or ((x-8) mod 10=0) or ((x-9) mod 10=0) or (x mod 10=0) then
begin
write(x, ‘ let’);
end;
end.
ой, после исправления перестало работать для 1, 21 и т.д.
12 задача
program vozrast;
var
n,d,b : real ;
begin
readln(n);
b:= ((n/100) — trunc(n/100))*100;
d:= ((b/10)-trunc(b/10))*10;
if ((b>4)and( b5) or (d=0)then
begin
writeln( n , ‘ лет’);
end else
begin
if (d>=2) then
writeln(n , ‘года ‘)
else
writeln(‘год’);
end;
end.
Задача №1
program zadacha_1;
var
x, y: integer;
begin
writeln (‘Введите два числа’);
readln (x, y);
write (‘Ваши числа в порядке возростания: ‘);
if x<y then
write (x, ', ',y) else
write (y,', ', x)
end.
Задачп №2
program zadacha_2;
var
x, y, z: integer;
begin
writeln (‘Введите три числа’);
readln (x, y, z);
write (‘Наибольшее из этих чисел: ‘);
if (x>y) and (x>z) then
write (x);
if (y>x) and (y>z) then
write (y);
if (z>x) and (z>y) then
write (z)
end.
Задача №3
program zadacha_3;
var
x, y: integer;
begin
writeln (‘Введите число’);
readln (x);
y:= x mod 2;
if (y>0) then
write (x, ‘ — число непарное’)
else
write (x, ‘ — число парное’)
end.
Задача №4
program zadacha_3;
var
a, b, c: integer;
begin
writeln (‘Введите три числа’);
readln (a, b, c);
if (a<0) then
a:= sqr(a);
if (b<0) then
b:= sqr(b);
if (c20) then
a:=a*2;
if (b>20) then
b:=b*2;
if (c>20) then
c:=c*2;
write (‘a = ‘, a, ‘, b = ‘, b, ‘, c = ‘, c);
end.
Задача №5
program zadacha_5;
var
x: real;
begin
write (‘x = ‘);
readln (x);
if (x>0) then
x:=1;
if (x=0) then
x:=0;
if (x<0) then
x:=-1;
write ('sign(x) = ', x);
end.
Задача №6
program zadacha_6;
var
a, b, x, y, z: real;
begin
writeln (‘Введите x, y, z’);
readln (x, y, z);
begin
write (‘max(x,min(y,z)) = ‘);
if (yx) then a:= y;
if (x>y) and (x>z) then a:= x;
if (zx)then a:=z;
writeln (a);
end;
begin
write (‘min(min(x,y),z) = ‘);
if (y<x)and (y<z) then b:= y;
if (x<y) and (x<z) then b:= x;
if (z<y) and (z<x)then b:=z;
writeln (b);
end;
end.
Опять «съедает» комментарий элементы с решения задачи
помогите пожалуйста с 7
а с 11 можете помочь?
program zadacha_11;
var
a, b, c, d, e: integer;
begin
writeln(‘размер отверстия ‘);
readln(d, e);
writeln(‘размер кирпича ‘);
readln(a, b, c);
if (a<=d) and (b<=e) or (a<=e) and (b<=d)
or (c<=d) and (b<=e) or (c<=e) and (b<=d)
or (c<=d) and (a<=e) or (c<=e) and (a<=d)
then
begin
writeln('YES')
end else
begin
writeln('NO')
end;
end.
В задаче №5 написано sign(x) это тоже, что и sin(x) или я что-то путаю?
Алена, в задаче №6, в первой части, если ввести значения х=5, у=8, z=9 ответ выдает 9, а должен быть 8.
правильна ли задача №8?
var
D,a,b,c:real;
begin
writeln(‘введите три числа ‘);
readln(a);
readln(b);
readln(c);
D:=sqr(b)-4*a*c;
if (a=0)and(b0)then
begin
writeln(‘это уравнение линейное с корнем ‘,(sqr(b)-c)/b);
end else
if (a=0)and(b=0)and(c0)then
begin
writeln(‘квадратное уравнение корней не имеет’);
end else
if (a=0)and(b=0)and(c=0)then
begin
writeln(‘корнем является любое число’);
end else
if (a0)and(D<0)then
begin
writeln('квадратное уравнение корней не имеет');
end else
if (a0)and(D>0)then
begin
writeln(‘первый корень ‘,(-b-D)/2*a,’ второй корень ‘,(-b+D)/2*a);
end else
if (a0)and(D=0)then
begin
writeln(‘корень уравнения ‘,-b/2*a);
end;
end.
Алена в задаче 11, если размер отверстия будет совпадать с размером кирпича, то кирпич в такое отверстие вряд ли пройдет.
задача 12
var
x:integer;
begin
writeln(‘введите возраст ‘);
readln(x);
if ((x mod 10)=1)and((x mod 100)11) then
begin
writeln(‘введенный возраст ‘,x,’ год.’)
end else
if((x mod 10)1)then
begin
writeln(‘введенный возраст ‘,x,’ года.’)
end else
begin
writeln(‘введенный возраст ‘,x,’ лет.’);
end;
end.
Опять скушало кусочек.:-)
Роман, по поводу №6 при х=5, у=8, z=9 , правильный ответ 8 и 5, читайте условие. Нужно найти в первом случае max(x,min(y,z)) — максимум из двух чисел
1-е: x =5
2-е: min(y,z) = 8 (минимум от 8 и 9 = 8),
а значит максимум из 5 и 8 = 8.
Понятно написала?
А что касается кирпича равного по размеру отверстия, то на мой взгляд он пройдет.
Ой, Роман, вы так и написали 8 , проверила моей программой тоже 8. Тогда в чем был вопрос?
Напишите Решение Задачи №11
Задача 11. если сделать так, правильно?
program Program9;
var
a, b, c, d, e: real;
begin
writeln(‘введите размер отверстия, числа «d» и «e»‘);
readln(d, e);
writeln(‘введите размер кирпеча, из которого сложен замок, числа «a», «b», «c»‘);
readln(a, b, c);
if (d > a) and (d > b) and (d > c) and (e > a) and (e > b) and (e > c) then
writeln(‘YES’)
else
writeln(‘NO’);
end.
12 задача. Решила поделиться своим решением )
program Program12;
var
b, c, s: integer;
begin
writeln(‘сколько вам лет?’);
readln(b);
c := b mod 100;
s := b mod 10;
if (c = 11) or (c = 12) or (c = 13) or (c = 14) or (c = 15) or (c = 16) or (c = 17) or (c = 18) or (c = 19) then
begin
writeln(‘вам ‘, b, ‘ лет’);
end else
begin
if s = 1 then
writeln(‘вам ‘, b, ‘ год’);
if (s = 2) or (s = 3) or (s = 4) then
writeln(‘вам ‘, b, ‘ года’);
if (s = 5) or (s = 0) then
writeln(‘вам ‘, b, ‘ лет’);
end;
end.
//12. Напишите программу, которая в зависимости от введенного возраста добавляет слова «год», «года» или «лет».
//Например, при вводе возраста 1, программа сообщает «1 год», при числе 2 – «2 года», при числе 125 – «125 лет».
program два_двенадцать;
var
x, y: integer;
begin
writeln (‘Введите возраст’);
read (x);
if x<1 then
begin
write ('Ошибка, возраст должен быть больше нуля')
end else
if x=1 then
begin
write (x, ' год')
end else
if x=5 then
begin
write (x, ‘ лет’)
end;
end.
program vozrast;
var
x,y:integer;
begin
writeln(‘vvedite vozrast’);
readln(x);
if x10) and (y=5) and (y=2) and (y<=4) then
writeln(x,' goda');
end.
n6
Думаю так))
var
a:integer;
begin
Writeln(‘Введите ваш возраст:’);
readln(a);
if a1) and (a<=4) then
Writeln('Вам ',a,'года')
else
Writeln('Вам ',a,'лет');
end.
12-й номер.
Хоть и сделан способом вырезания чисел и не оди из самы простых,но программа работает для всех чисел и цель ее работы достигнута.
Var
x,z:integer;
y:real;
begin;
write(‘Введите число:’);
readln(x);
if (x=3) or (x=4)or (x=2) then begin
writeln(x,’ ‘,’года’);
end;
if (x=6)or (x=5)then begin
writeln(x,’ ‘,’лет’);
end;
if (x=1) then begin
writeln(x,’ ‘,’год’);
end;
if x>6 then begin
y:=(x mod 5)-1;
if (y0) then begin
writeln(x,’ ‘,’лет’);
end;
if (y=0) then begin
writeln(x,’ ‘,’год’);
end;
end;
end.
А какое правильное решение на 11 задачу?