![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
nitro |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Реальное имя: Илюха Репутация: ![]() ![]() ![]() |
1) Вводишь 6-значное число, программа графически рисует эти цифры в том же порядке. Цифры должны быть того же формата, как и почтовый индекс на конверте.
2) Среди натуральных чисел, не превосходящих заданного числа N, найти такие, цифры которых образуют возрастающую арифметическую прогрессию. Например, для N=25 выводятся числа 12 13 14 15 16 17 18 19 23 24 25 3) Составить программу проверки знаний первоклассника по математике. В выражениях используются числа от 0 до 100 и одна из операций: сложение, вычитание, умножение, целочисленное деление. Для ввода арифметических выражений использовать латинскую раскладку клавиатуры. Например: С клавиатуры вводится выражение 2x2=4, на экран выводится сообщение «Правильно». Вводится выражение 5:2=2 - сообщение «Неправильно». Если выражение вводится не строкой, а отдельными элементами, задачу считать нерешенной. p.s к 3) задача я все сделал, но немогу сделать это со строкой. |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Наверное все эти задачи или очень похожие уже решались, вот например первая : Калькулятор
только у меня там дурацкое решение возми другое там несколько помойму Цитата Например, для N=25 выводятся числа 12 13 14 15 16 17 18 19 23 24 25 А куда делись 20 21 22 ? или 1 2 3 4 5 .... ? Какое-то странное задание ![]() по 3-му заданию ищи интерпритатор выражений или консольный калкулятор, поймешь как делать. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
qwer |
![]()
Сообщение
#3
|
Гость ![]() |
Во втором задании ариф. прогрессия должна быть: 1,2,3,4,...,24,25 как это сделать?
А что такое интерпритатор выражений или консольный калкулятор? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата А что такое интерпритатор выражений или консольный калкулятор? А что такое "Поиск по форуму"? |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
консольный калькулятор
строчный калькулятор простых функций... FAQ - > простейший калькулятор на основе посфиксной записи. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
nitro,
Цитата Вводишь 6-значное число, программа графически рисует эти цифры в том же порядке. Цифры должны быть того же формата, как и почтовый индекс на конверте. Uses Graph;
Type
TDigit = Array[0 .. 9, 1 .. 9] Of Byte;
Const
DX = 20;
DY = 30;
Digits: TDigit =
(
(1, 1, 1, 1, 1, 1, 0, 0, 0),
(0, 0, 1, 1, 0, 0, 0, 0, 0),
(0, 1, 1, 0, 1, 1, 0, 1, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 1),
(1, 0, 1, 1, 0, 0, 0, 1, 0),
(1, 1, 0, 1, 1, 0, 0, 1, 0),
(0, 0, 0, 1, 1, 1, 1, 1, 0),
(0, 1, 0, 0, 0, 1, 1, 0, 0),
(1, 1, 1, 1, 1, 1, 0, 1, 0),
(1, 1, 1, 0, 0, 0, 0, 1, 1));
var
n: string[6];
Procedure ShowDigit(xStart, yStart: Word; Digit: Byte);
var i: integer;
Begin
for i := 1 to 9 do begin
{
Цвета можешь поменять по желанию.
Сейчас LightRed - цвет линии, Red - как бы "фоновый"
}
if Digits[Digit, i] = 1 then setcolor(LightRed)
Else SetColor(Red);
Case i of
1: Line(xStart, yStart, xStart, yStart+DY);
2: Line(xStart, yStart, XStart+DX, yStart);
3: Line(xStart+DX, yStart, xStart+DX, yStart+DY);
4: Line(xStart+DX, yStart+DY, xStart+DX, yStart+2*DY);
5: Line(xStart+DX, yStart+2*DY, xStart, yStart+2*DY);
6: Line(xStart, yStart+2*DY, xStart, yStart+DY);
7: Line(xStart+DX, yStart, xStart, yStart+DY);
8: Line(xStart, yStart+DY, xStart+DX, yStart+DY);
9: Line(xStart+DX, yStart+DY, xStart, yStart+2*DY);
end;
end;
End;
var
gdriver, gmode, ErrCode: Integer;
i: byte;
xs, ys: word;
begin
write('Введите индекс: '); ReadLn(n);
{
n := '123456'; (* Тест *)
}
xs := 100; ys := 100;
initgraph(gdriver, gmode, '');
if graphresult <> grOk then begin
writeln('Graph error: ', grapherrormsg(ErrCode));
ReadLn; Halt(100);
end;
for i := 1 to length(n) do begin
ShowDigit(xs, ys, Ord(n[i])-Ord('0'));
inc(xs, DX+10);
end;
readln;
closegraph;
end.
|
nitro |
![]()
Сообщение
#7
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Реальное имя: Илюха Репутация: ![]() ![]() ![]() |
Ну это ужу более менее хорошо, спасибо. А можно это сделать через процедуры. Т.е 1процедура рисует 1, другая-2 и т.д.
|
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата Ну это ужу более менее хорошо, спасибо. Ну, а это уже не более-менее, а просто глупость. Зачем бить программу на ненужные процедуры? Что, ты думаешь, если у тебя будет десяток процедур, от этого улучшится читаемость? Да у тебя же просто программа в 10 раз увеличится и все!!!Подумай сам, по-любому, в КАЖДОЙ процедуре надо проверять, какие линии рисовать, а какие - нет (только не говори, что ты хочешь жестко задать цифры только Line-ами, этого я делать не буду, и тебе не советую. Ибо если нужно будет чуть-чуть подправить формат цифр, то в моей программе достаточно исправить ОДНУ процедуру, а так как ты хочешь - придется исправлять 10 (!!!)) Единственное, что может быть можно сделать (если ты уж так сильно хочешь разбить на несколько процедур) - вот это: Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 26.07.2025 3:57 |