Помощь - Поиск - Пользователи - Календарь
Полная версия: помогите умоляю
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Tema
помогите кто знает я в отчаяньи
Всего 4 задачи: (Операция целочисленного деления)
Цитата(Задача 1)
Написать программу которая по номеру дня недели выдаёт количество уроков в этот день.

Цитата(Задача 2)
Определить равен ли квадрат заданного трёхзначного числа,кубу суммы цифр этого числа.

Цитата(Задача 3)
Написать программу нахождении суммы большего и меньшего из 3 чисел(а,в,с)

Цитата(Задача 4)
Подсчитать количество положительных чисел среди чисел(а,в,с)

Вот прошу помоги просто неккому обратиться больше 8-)
AlaRic
Пока держи 4:

Код
program new1;
var a,b,c:real;
begin
writeln('введите 3 числа');
readln(a,b,c);
if a=>0 then
if b=>0 then
if c=>0 then
writeln('3 числа положительны');
else writeln('2 числа положительны');
else writeln('1 число положительно');
end.
AlaRic
Number 3:
Заранее прошу прощение за кривое написание но я пишу это в 2 ночи так что......
Код
program new2;
var s,a,b,c:real;
begin
writeln('введите a,b,c');
readln(a,b,c);
if a<b and b<c then do
begin
s:=a+c;
write('сумма равна', s:5:3);
end;
else
if b<a and a<c then do
begin
s:=b+c;
write(сумма равна', s:5:3);
end;
else
if a<c and c<b then do
begin
s:a+b;
write('сумма равна', s:5:3);
end;
end.


Кстати MJ ты щас в онлайне вроде бы....может заодно проверишь???
mj
Цитата
Пока держи 4:

program new1;
var a,b,c:real;
begin
writeln('введите 3 числа');
readln(a,b,c);
if a=>0 then
if b=>0 then
if c=>0 then
writeln('3 числа положительны');
else writeln('2 числа положительны');
else writeln('1 число положительно');
end.

Это неверное решение задачи...
И ещё: перед else нельзя ставить точку с запятой.
mj
1.
Код
program P1;
var
 d, u :Byte;
begin
 writeln('введите день недели (1..7)');
 readln(d);
 case d of
   1: u := 4;
   2: u := 2;
   3: u := 3;
   4: u := 3;
   5: u := 4;
   6: u := 2;
   7: u := 0;
   else u := 255;
 end;
 if u=255 then writeln('День недели введён неверно')
 else writeln('Сегодня уроков: ', u);
end.
mj
2.
Код
program P2;
var
 d, u: Word;
begin
 writeln('введите трёхзначное число');  
 readln(d);
 if (d<100) or (d>999) then
   writeln('Число введено неверно')
 else begin
   u := (d div 100)+(d div 10 mod 10)+(d mod 10);
   if (d*d)=(u*u*u) then writeln('Да');
   else writeln('Нет');
 end;
end.
mj
3.
Код
program P3;
var  
 d1, d2, d3, d: Integer;
begin  
 writeln('введите три числа');  
 readln(d1);
 readln(d2);
 readln(d3);
 if d2<d1 then
 begin
   d := d1;
   d1 := d2;
   d2 := d;
 end;
 if d3<d1 then
 begin
   d := d1;
   d1 := d3;
   d3 := d;
 end;
 if d3<d2 then
 begin
   d := d2;
   d2 := d3;
   d3 := d;
 end;
 d := d1+d3;
 writeln('Ответ ', d);
end.

----- -----
3. способ сложнее
Код
program P3;
var  
 a, b, c, p, m, u: Integer;
begin  
 writeln('введите три числа');  
 readln( a );
 readln( B );
 readln( c );
 p := (a+b+abs( a-B )) div 2;
 m := (a+b-abs( a-B )) div 2;
 u := (c*2+p+abs(p-c)+m-abs(m-c)) div 2;
 writeln('Ответ ', u);
end.
mj
4.
Код
program P4;
var  
 d1, d2, d3, d: Integer;
begin  
 writeln('введите три числа');    
 readln(d1);
 readln(d2);
 readln(d3);
 d := byte(d1>=0)+byte(d2>=0)+byte(d3>=0);
 writeln('Ответ ', d);
end.


PS: Во всех задачах можно использовать любые типы числовых данных (вместо предложенных мною)...
Clane
Вчера ночью сидел решал эти задачи и хотел как приду после унивситета, их размещу... А тут уже все решено... Остались ли у тебя какие-либо вопросы, Tema ?
AlaRic
Цитата
Это неверное решение задачи...
И ещё: перед else нельзя ставить точку с запятой.

Я уже понял....вот сижу разбираю!Вчера просто загрузочный день был! 8)
AlaRic
Вот правильное решение:

Код
program new1;
uses wincrt;(у меня виндовый пас)
var a,b,c:real;
begin
writeln('введите 3 числа');
readln(a,b,c);
if a>=0  then
if b>=0  then
if c>=0  then
writeln('3 числа положительны')
else writeln('2 числа положительны')
else writeln('1 число положительно')
end.
AlaRic
Цитата
program P2;
var  
 d, u: Word;  
begin  
 writeln('введите трёхзначное число');  
 readln(d);
 if (d<100) or (d>999) then
   writeln('Число введено неверно')  
 else begin
   u := (d div 100)+(d div 10 mod 10)+(d mod 10);
   if (d*d)=(u*u*u) then writeln('Да');
   else writeln('Нет');
 end;
end.

У тебя тоже такая же ошибка - перед else точку с запятой поставил!
mj
Цитата
У тебя тоже такая же ошибка - перед else точку с запятой поставил!

Верно...
Я эти задачи не проверял...
mj
Цитата
Вот правильное решение:

program new1;
uses wincrt;(у меня виндовый пас)
var a,b,c:real;
begin
writeln('введите 3 числа');
readln(a,b,c);
if a>=0  then
if b>=0  then
if c>=0  then
writeln('3 числа положительны')
else writeln('2 числа положительны')
else writeln('1 число положительно')
end.

Ну это полная чушь...
Если a и с положительные, а b отридцательное, то ответ будет 1.
AlaRic
Точно....прогоняю по-страшному!
borlpasc.narod.ru
А вообще задачи, что то не трудные.
НАдо больше вопросов админам оставлять пусь работают, работают. А так молодцы, что помогаете. Ведь не Всем надо знать этот Паскаль. Напрягают в универе напрягают, и  что. Вот у нас в универе есть кто учится на специальности прикладная ифномратика, а понимать и решать, делать программы на языках программирования не хотят. Вот, что с ними делать, нафиг учаться?????
Alex
На какой фиг тогда они пошли на такую специальность!!!!
Ivs
Да птому что папа так захотел и усё..............
AlaRic
У меня в группе 30 человек...7 уверено идут на отчисление....после этого семестра останется не больше 20!В математике и компьютерах - ни бум-бум!
AlaRic
А теперь вопрос: на какой черт они сунулись на эту специальность?...да группа то у нас к тому же платная!
Clane
Кстати, Tema, предлагаю вам подписаться на рассылку "Задача в неделю", где будут разбираться задачи с самых легких и до сложных.. Может, это расыслка вам чуть-чуть поможет.
Alex
Цитата
У меня в группе 30 человек...7 уверено идут на отчисление....после этого семестра останется не больше 20!В математике и компьютерах - ни бум-бум!

Я думаю они просто не знали куда им больше пойти!!
AlaRic
Цитата
Я думаю они просто не знали куда им больше пойти!!

И я о том же....
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.