Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
1

Как пользоваться отладчиком в Free Pascal?

17.01.2014, 17:09. Показов 2350. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите как им пользоваться, чтобы при проверке показывало значения переменных на даный шаг программы или напишите источник, где об этом написано. Уже 2 ищу и не могу найти о отладчике, чтобы проверить программу
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
program Task1;
Var n,j,code,z:integer;
    Chislo    :string;
    c,Res     :longint;
 Function Ch(l:char) :integer;
  var g,u:integer;
  Begin
         case l of
           'a','A':u:=10;
           'b','B':u:=11;
           'c','C':u:=12;
           'd','D':u:=13;
           'e','E':u:=14;
           'f','F':u:=15;
         else val(l,u,code);
         Ch:=u;
         end;
  End;
 Function St (x,y:integer):longint;
   var t:longint;
       i:byte;
   Begin
        T:=x; i:=1;
        if y=0 then St:=1
               else begin
                    while i<y do
                      begin
                        T:=T*x;
                        inc(i);
                      end;
               St:=T;
        end;
 End;
 
 
BEGIN
 
 Readln(chislo); Readln(n);
 Res:=0; j:=0;
 z:=length(chislo);
 while z>=1 do
   begin
    C=Ch(Chislo[z]);
    C:=C*St(n,j);
    Res:=Res+C;
    inc(j);
    dec(z);
   end;
 Writeln(Res); read;
 
END.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2014, 17:09
Ответы с готовыми решениями:

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC,...

Как работает Free Pascal в Windows 7
у меня стоит vista ,хочу поставить window 7 как в window 7 будет работать free pascal может...

Как можно добавить шрифты в Free Pascal?
Подскажите пожалуйста, как можно добавить шрифты в Free Pascal? А то там только три шрифта...

Как использовать Flat Assembler в Free Pascal?
Я недавно хотел разработать так ради прикола мини ОС с использованием в связке Free Pasal и Flat...

12
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
17.01.2014, 17:17 2
В меню Debug->Watches, появляется окно просмотра переменных/выражений. Чтобы добавить туда переменную - установи на нее курсор и нажми Ctrl+F7... И отслеживай изменения... Подробнее можно почитать в файле FPC\2.6.2\doc\user.pdf, раздел "6.9 Debugging programs"
1
Супер-модератор
6192 / 2938 / 1300
Регистрация: 04.03.2013
Сообщений: 5,780
Записей в блоге: 1
17.01.2014, 17:18 3
1. Синюю рабочую область уменьшаете в сторону верха (ну оставляете ее на 2/3 окна), взявшись за нижний правый угол.
2. Нажимаете в меню Debug-Watches. Откроется окно Watches в освобожденной от синего окошечка области.
3. Двойной щелчек в области этого окна позволяет добавить наблюдаемую переменную.
4. После этого c помощью клавиш Ctrl+F7, Ctrl+F8 построчно исполняете программу и смотрите изменение переменных.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
17.01.2014, 17:21 4
Цитата Сообщение от ildwine Посмотреть сообщение
После этого c помощью клавиш Ctrl+F7, Ctrl+F8 построчно исполняете программу
Построчное исполнение - без Ctrl, просто F7/F8, с контролом - это добавление Watch и установка Breakpoint-а.
1
ildwine
17.01.2014, 17:23
  #5

Не по теме:

Цитата Сообщение от UI Посмотреть сообщение
Построчное исполнение - без Ctrl
Ещё ведь написал сначала F7/F8, потом исправил... :-|

0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
17.01.2014, 17:38  [ТС] 6
Что за ошибка? Мне нужно в функцию брать последний символ строки, потом предпоследний і так далее до первого.
Программа переводит число с 16 системі счисления в 10.
Миниатюры
Как пользоваться отладчиком в Free Pascal?  
0
Супер-модератор
6192 / 2938 / 1300
Регистрация: 04.03.2013
Сообщений: 5,780
Записей в блоге: 1
17.01.2014, 17:40 7
Pascal
1
C:=Ch(Chislo[z]);
Добавлено через 32 секунды
В листинге с первого поста 43 строка
1
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
17.01.2014, 17:41  [ТС] 8
ildwine,
В первом сообщении видно, что у меня было точно так же, но ошибка идентичная.

Добавлено через 50 секунд
ildwine,
Да, в листинге первый пост, то я писал программу, но сегодня начала видавать эту ошибка, я уже потом начал переделывать как на фото.
0
Супер-модератор
6192 / 2938 / 1300
Регистрация: 04.03.2013
Сообщений: 5,780
Записей в блоге: 1
17.01.2014, 17:46 9
Вот без ошибок:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
program Task1;
Var n,j,code,z:integer;
    Chislo    :string;
    c,Res     :longint;
 Function Ch(l:char) :integer;
  var g,u:integer;
  Begin
         case l of
           'a','A':u:=10;
           'b','B':u:=11;
           'c','C':u:=12;
           'd','D':u:=13;
           'e','E':u:=14;
           'f','F':u:=15;
         else val(l,u,code);
         Ch:=u;
         end;
  End;
 Function St (x,y:integer):longint;
   var t:longint;
       i:byte;
   Begin
        T:=x; i:=1;
        if y=0 then St:=1
               else begin
                    while i<y do
                      begin
                        T:=T*x;
                        inc(i);
                      end;
               St:=T;
        end;
 End;
 
 
BEGIN
 
 Readln(chislo); Readln(n);
 Res:=0; j:=0;
 z:=length(chislo);
 while z>=1 do
   begin
    C:=Ch(Chislo[z]);
    C:=C*St(n,j);
    Res:=Res+C;
    inc(j);
    dec(z);
   end;
 Writeln(Res); read;
 
END.
Добавлено через 2 минуты
А то, что у вас на скрине, откуда знать... Единственное вижу, что тоже = вместо :=
1
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
17.01.2014, 17:48  [ТС] 10
ildwine,
Большое спасибо, паралельно изучаю С++ ) Никогда не заметил бы.
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
17.01.2014, 17:54  [ТС] 11
При отладке ввожу строку, потом пробел/энтер, а оно начинает писать с этой же строки по введённой мною строке и выходит лажа, ещё й ошибка в проверке переменных.
Миниатюры
Как пользоваться отладчиком в Free Pascal?  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
17.01.2014, 18:01 12
В каком режиме скомпилирована программа? В Normal, Debug или Release? Проверь, что выставлено в Options->Mode, и какие настройки стоят в Options->Debugger (генерируется ли отладочная информация вообще?)

Добавлено через 1 минуту
Цитата Сообщение от web-raised Посмотреть сообщение
а оно начинает писать с этой же строки по введённой мною строке
Pascal
1
2
3
program Task1;
Uses Crt; // добавление этого модуля решает эту проблему
Var n,j,code,z:integer;
1
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
17.01.2014, 18:45  [ТС] 13
Помогите , короче, исправить программу, чтобы она , когда вводишь число в системе счисления n<=16 виводила число в 10 системе. Например Ввод 101 2 Вывод 5 , Ввод 1bc 15 или 16 Вывод 444 (1ВС16=1*162 +11* 16і +12*16° =444 ).
И , если можно, и на C++ , пожалуйста. Буду очень благодарен.

Добавлено через 15 минут
Спасибо всем огромное, задача заработала. Осталось ещё перевести в С++.
0
17.01.2014, 18:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2014, 18:45
Помогаю со студенческими работами здесь

Как получить хотя бы базовые знания по Free Pascal
В школе не было информатики. Поступила в институт, а там Free Pascal... Ничего не понимаю, вылететь...

Как перевести программу с PascalABC.NET в Free Pascal
program post; uses crt; const nmax=100; var i,j,k,n,m,s,p,n1: integer; a: array of integer;...

Как избавиться от мерцания в графическом режиме на Free Pascal?
Пишу программу с графикой 1 раз, и столкнулся с такой проблемой, что при движении объектов они как...

Как считать целые и десятичные числа в Free Pascal?
как нужно правильно считать целые и десятичные числа в free pascal? так чтобы 0.3 + 0.2 = 0.5 , а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru