ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #5061  
Старый 26.11.2009, 22:03
SHAXID
Познающий
Регистрация: 13.12.2007
Сообщений: 56
Провел на форуме:
469345

Репутация: 51
Отправить сообщение для SHAXID с помощью ICQ
По умолчанию

Помогите плз сделать это задание..
Имеется 4 вида фигуры: точка, круг, квадрат и правильный треугольник. Требуется создать программу, которая содержала бы список из выше приведенных фигур и рисовала бы их на экране. Каждый экземпляр какого-либо вида фигуры обладает координатами центра, относительно которого экземпляр будет рисоваться. Если список не пуст, то один элемент списка обязательно должен быть активным, то есть:
1. при отображении он должен каким-либо образом выделяться
2. с данным элементом пользователь может проводить различные операции:
а. удалить
b. подвинуть на экране (влево, вправо, вверх, вниз)
с. повернуть на какой-либо угол (для квадрата и треугольника)
d. изменить размер
e. изменить цвет
Программа должна позволять пользователю выбирать вид фигуры и создавать фигуру текущего вида, которая будет добавляться в список.
 

  #5062  
Старый 26.11.2009, 23:08
Fireblade
Познающий
Регистрация: 31.03.2009
Сообщений: 53
Провел на форуме:
654008

Репутация: 11
По умолчанию

решил вернуться и повторить пройденое в паскале. Хотел написать элементарный калькулятор, да вылазиет ошибка: "Error in expression"
вот код
Код:
program calc;  
uses crt;  
var a,s,b:integer; c:char;  
begin       
     writeln('введите 1 число');       
     readln(a);       
     writeln('введите знак дейчтвия');       
     readln(c);       
     writeln('введите 2 число');       
     readln(b);      
     case c of            
         + : s:=a+b;           
          - : s:=a-b;           
         * : s:=a*b;           
          / : s:=a/b;       
     end;       
     writeln('ответ=',s);       
     repeat until keypressed;  
end.
 

  #5063  
Старый 26.11.2009, 23:19
total90
Участник форума
Регистрация: 30.09.2009
Сообщений: 148
Провел на форуме:
11581319

Репутация: 241
Отправить сообщение для total90 с помощью ICQ
По умолчанию

не пробывал весь русский заменить на английский?
 

  #5064  
Старый 26.11.2009, 23:20
h(f)ucker
Участник форума
Регистрация: 11.07.2009
Сообщений: 175
Провел на форуме:
2835808

Репутация: 185
По умолчанию

ну символ поидее вот так должен быть '+' '-' '*' '/'
И к чему тут uses crt?

Да И S формат REAL потому что деление

Последний раз редактировалось h(f)ucker; 26.11.2009 в 23:23..
 

  #5065  
Старый 26.11.2009, 23:22
total90
Участник форума
Регистрация: 30.09.2009
Сообщений: 148
Провел на форуме:
11581319

Репутация: 241
Отправить сообщение для total90 с помощью ICQ
По умолчанию

Цитата:
И к чему тут uses crt?
каг бэ стандартный модуль иль нет?
 

  #5066  
Старый 26.11.2009, 23:30
alexey-m
Познающий
Регистрация: 15.07.2009
Сообщений: 71
Провел на форуме:
520157

Репутация: 35
Отправить сообщение для alexey-m с помощью ICQ
По умолчанию

Цитата:
Сообщение от Fireblade  
решил вернуться и повторить пройденое в паскале. Хотел написать элементарный калькулятор, да вылазиет ошибка: "Error in expression"
вот код
Код:
program calc;  
uses crt;  
var a,s,b:integer; c:char;  
begin       
     writeln('введите 1 число');       
     readln(a);       
     writeln('введите знак дейчтвия');       
     readln(c);       
     writeln('введите 2 число');       
     readln(b);      
     case c of            
         + : s:=a+b;           
          - : s:=a-b;           
         * : s:=a*b;           
          / : s:=a/b;       
     end;       
     writeln('ответ=',s);       
     repeat until keypressed;  
end.
Вообще то символы в ковычки брать надо
Код:
program calc;  
uses crt;  
var
  a,s,b: integer;
  c: char;  
begin       
     writeln('введите 1 число');       
     readln(a);       
     writeln('введите знак действия');       
     readln(c);       
     writeln('введите 2 число');       
     readln(b);      
     case c of            
         '+' : s:=a+b;           
          '-' : s:=a-b;           
         '*' : s:=a*b;           
          '/' : s:=a div b;       //s - integer!
     end;       
     writeln('ответ=',s);       
     repeat until keypressed;  
end.
 

  #5067  
Старый 26.11.2009, 23:32
h(f)ucker
Участник форума
Регистрация: 11.07.2009
Сообщений: 175
Провел на форуме:
2835808

Репутация: 185
По умолчанию

Цитата:
Сообщение от alexey-m  
'/' : s:=a div b; //s - integer!

Это уже не калькулятор получается, точный расчет главное, ну ты понел...
 

  #5068  
Старый 26.11.2009, 23:51
root_sashok
Познавший АНТИЧАТ
Регистрация: 04.08.2008
Сообщений: 1,359
Провел на форуме:
8220635

Репутация: 1593


Отправить сообщение для root_sashok с помощью ICQ
По умолчанию

Цитата:
repeat until keypressed;
Между repeat и until должно идти тело цикла.

Вот правильный код калькулятора:

Код:
program calc; {кстати, program можно и не писать}
uses crt; {это нам для очищения экрана}
label 1;  {для перехода к началу}
var a,b:integer; {числа} c:char; {проверка повтора, знака счета}
s:real; {real, т.к присутствует деление} 
begin   
1: clrscr;    {очистка экрана}
     writeln('введите 1 число');       
     readln(a);       
     writeln('введите 2 число');       
     readln(b);      
     writeln('введите знак действия');       
     readln(c); 
     case c of {проверка введенного}           
         '+' : s:=a+b;           
          '-' : s:=a-b;           
         '*' : s:=a*b;           
          '/' : s:=a/b;       
     end;       
     writeln('ответ с точностью до двух цифр: ',s:4:2); 
     {:2 - кол-во цифр после запятой, используется для деления}       
     writeln ('хотите сосчитать еще раз? Y/N'); 
	 readln (c); 
	 if c='Y' then goto 1 {переходим к началу} else 
	 if c='N' then writeln ('для выхода нажмите любую клавишу...'); 
{просто продолжение}
readln; {ожидание пустого ввода}
end.
 

  #5069  
Старый 27.11.2009, 00:06
alexey-m
Познающий
Регистрация: 15.07.2009
Сообщений: 71
Провел на форуме:
520157

Репутация: 35
Отправить сообщение для alexey-m с помощью ICQ
По умолчанию

Цитата:
Сообщение от h(f)ucker  
Это уже не калькулятор получается, точный расчет главное, ну ты понел...
Это не я integer указывал, а лишь показал, где ошибка и как правильней делить будет с integer
 

  #5070  
Старый 27.11.2009, 00:31
2kill
Познающий
Регистрация: 04.05.2008
Сообщений: 36
Провел на форуме:
450557

Репутация: 19
По умолчанию

Delphi/Pascal
-----------------------------
на DIV и MOD
Присвоить переменной z первую цифру из дробной части действительного числа r.

я чутка не трезвый и сообразить не могу =(
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ