Версия для печати темы
Форум «Всё о Паскале» _ Теоретические вопросы _ помогите умоляю
Автор: Tema 14.11.2002 22:44
помогите кто знает я в отчаяньи
Всего 4 задачи: (Операция целочисленного деления)
Цитата(Задача 1)
Написать программу которая по номеру дня недели выдаёт количество уроков в этот день.
Цитата(Задача 2)
Определить равен ли квадрат заданного трёхзначного числа,кубу суммы цифр этого числа.
Цитата(Задача 3)
Написать программу нахождении суммы большего и меньшего из 3 чисел(а,в,с)
Цитата(Задача 4)
Подсчитать количество положительных чисел среди чисел(а,в,с)
Вот прошу помоги просто неккому обратиться больше 8-)
Автор: AlaRic 15.11.2002 2:50
Пока держи 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 15.11.2002 3:14
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 15.11.2002 4:44
Цитата
Пока держи 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 15.11.2002 4:55
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 15.11.2002 5:04
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 15.11.2002 5:26
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 15.11.2002 5:31
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 15.11.2002 15:52
Вчера ночью сидел решал эти задачи и хотел как приду после унивситета, их размещу... А тут уже все решено... Остались ли у тебя какие-либо вопросы, Tema ?
Автор: AlaRic 15.11.2002 20:32
Цитата
Это неверное решение задачи...
И ещё: перед else нельзя ставить точку с запятой.
Я уже понял....вот сижу разбираю!Вчера просто загрузочный день был! 8)
Автор: AlaRic 15.11.2002 20:35
Вот правильное решение:
Код
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 15.11.2002 20:53
Цитата
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 15.11.2002 22:28
Цитата
У тебя тоже такая же ошибка - перед else точку с запятой поставил!
Верно...
Я эти задачи не проверял...
Автор: mj 15.11.2002 22:33
Цитата
Вот правильное решение:
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 15.11.2002 22:57
Точно....прогоняю по-страшному!
Автор: borlpasc.narod.ru 16.11.2002 0:08
А вообще задачи, что то не трудные.
НАдо больше вопросов админам оставлять пусь работают, работают. А так молодцы, что помогаете. Ведь не Всем надо знать этот Паскаль. Напрягают в универе напрягают, и что. Вот у нас в универе есть кто учится на специальности прикладная ифномратика, а понимать и решать, делать программы на языках программирования не хотят. Вот, что с ними делать, нафиг учаться?????
Автор: Alex 16.11.2002 14:53
На какой фиг тогда они пошли на такую специальность!!!!
Автор: Ivs 16.11.2002 14:56
Да птому что папа так захотел и усё..............
Автор: AlaRic 16.11.2002 20:19
У меня в группе 30 человек...7 уверено идут на отчисление....после этого семестра останется не больше 20!В математике и компьютерах - ни бум-бум!
Автор: AlaRic 16.11.2002 20:21
А теперь вопрос: на какой черт они сунулись на эту специальность?...да группа то у нас к тому же платная!
Автор: Clane 17.11.2002 0:15
Кстати, Tema, предлагаю вам подписаться на рассылку "Задача в неделю", где будут разбираться задачи с самых легких и до сложных.. Может, это расыслка вам чуть-чуть поможет.
Автор: Alex 19.11.2002 17:59
Цитата
У меня в группе 30 человек...7 уверено идут на отчисление....после этого семестра останется не больше 20!В математике и компьютерах - ни бум-бум!
Я думаю они просто не знали куда им больше пойти!!
Автор: AlaRic 19.11.2002 21:02
Цитата
Я думаю они просто не знали куда им больше пойти!!
И я о том же....