1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.

Уроки по Pascal

  1. И так. Если ты читаешь эту тему то скорее всего решился таки изучать этот язык. Если уже знаешь то можешь пропустить эту тему. Не чего нового ты тут не найдешь.

    Что нам нужно для программирования?
    1. Терпение и усидчивость :)
    2. Необходим инструментарий. Для начала программирования нужна сама программа Turbo Pascal (еще его называют компилятором).
    Взять его можно:
    а) http://slil.ru/25372505 (1,22 Мб) (лежит SFX архивом!!!)
    б) http://ifolder.ru/2190755 (1,22 Мб)
    Я думаю если ты даже сидишь на Dial-Up'е для тебя это приемлимый размер :)

    И так скачиваем.
    Скачали. Вот у нас есть архив BP71.RAR
    Распаковываем его. Советую распаковывать не в C:\Document and Settings\... , а в какую-нибудь папочку попроще например C:\BP71\.
    Объясню почему. Просто компилятор старый, и длиные имена иногда понимает не так как хотелось бы. Поэтому лучше не рисковать.

    И так предварительную подготовку сделали.
    Теперь ищем в папочке, куда распаковали архив, у меня меня это C:\BP71\ папочку BIN. Открываем ее. Полный путь теперь C:\BP71\BIN\ ищем там файл TPX.EXE и запускаем его. :)

    Видим следующее:

    http://img101.imageshack.us/my.php?image=mainwd0.jpg

    Это и есть сама среда разработки программ заботливо поставляемая компанией Borland :)

    Жмем кнопочку OK.

    Теперь не плохо бы попробовать написать самим какую нибудь первую программу :)
    (переключение на русский язык в W'98 ctrl+shift(правые, обратно левые), в W'00 не нашел не одного приемлемого способа, в W'XP тоже не нашел)

    Набираем там следующий текст:
    Код:
    Begin
       Write('This my first programm! (c) xaker.name'); {Так в Pascal'e оформляються комментарии. Другими словами текст который не влияет на работу программы но поясняет ее написание}
    End.
    
    Теперь не плохо было бы сохранить столько набранного труда. Нажимаем F2 (как вариант File->Save) (и вообще по чаще нажимайте это кнопку :) )
    Увидим такое окошко:
    http://img175.imageshack.us/my.php?image=saveey4.jpg

    В поле SAVE AS набираем название файла, например, First.PAS(.PAS дописывать не обязательно, среда сама сделает это :) ) Директория где будет сохраняться написана снизу окошка. У меня в данном случае это C:\BP71\BIN\. Нажимаем OK

    Все. Мы создали ИСХОДНЫЙ КОД программы. Это еще не программа. :)
    Что же делаем дальше?! Дальше нажимаем Alt+F9 (Compile -> Compile)
    Если мы сделали все правильно, и набрали код без ошибок то должно появиться вот такое вот окошко:
    http://img171.imageshack.us/my.php?image=compilehl5.jpg
    Соответственно нажимаем "Any key" :)

    Если нет, то смотрим где и что забыли набрать.

    На данном этапе мы сделали саму программу.

    Теперь не плохо было бы ее запустить и посмотреть на результаты :)
    Как запускать дело ваше, советую пока нажимать Ctrl+F9 (Run->Run)

    После этого не плохо посмотреть что сделала нам программа :) Нажимаем Ctrl+F5 и видим следующее
    http://img171.imageshack.us/my.php?image=compilehl5.jpg


    И так. Первый опыт работы со средой получили. Горячие клавиши те кто забыл записывайте. использовать их будете постоянно :)

    Теперь разберем сам код нашей программы.
    Текст который подсвечиваеться белыми буквами:
    Begin End.
    Эта парочка должна быть ВО ВСЕХ программах написаных на Pascal'e. Обращаю внимание End. Точка строго обязательна. Она показывает конец программы.
    Между этой парочкой и помещаеться непосредственно код наших программ.

    Дальше есть не известная строчка
    Write('This my first programm! (c) xaker.name');
    Функция Write(''); выводит на экран то что размещаеться между ' '. Все что вы там не напишите :)
    Еще после каждой строки НЕ пустой строки в Pascal'e ставиться ";" если это не обговариваеться отдельно. В данном случае после BEGIN ";" не ставиться НИ когда.
    Попробуйте поэксперементируйте ;)

    Ах да. Чуть совсем не забыл *.Exe файл вашей программы лежит в той же папочке где вы сохраняли, исходный файл (*.PAS).

    Кто усвоил данный материал и все стало понятно переходите ко 2 шагу.

    В случае возникновения каких то проблем или что то непонятно, просьба вопросы задавать здесь. :)


    // Обновил ссылки
     
    2 пользователям это понравилось.
  2. Pascal. Второй шаг.

    И так. Со средой работать научились. Теперь будем изучать сам язык. :)

    На заре развития вычислительной техники, вычислительные машины предназначались для выполнения простейших математических выражений. :)

    Вот и мы попробуем что нибудь посчитать. ;)

    Но для этого нам сначала надо узнать как можно задавать числа в Pascal'e.

    Для задания чисел в Pascal существует несколько типов данных. Как их использовать будет не много позже. :)
    1) Целочисленные:
    a) Shortint - позволяет хранить в переменной данного типа, ЦЕЛЫЕ числа от -128 до 127
    б) Integer - позволяет хранить в переменной данного типа, ЦЕЛЫЕ числа от -32768 до 32767
    в) Longint - позволяет хранить в переменной данного типа, ЦЕЛЫЕ числа от -2147483648 до 2147483647
    г) Byte - позволяет хранить в переменной данного типа, ЦЕЛЫЕ числа от 0 до 255.
    д) Word - позволяет хранить в переменной данного типа, ЦЕЛЫЕ числа от 0 до 65535.
    2) Дробные числа(еще их называют с плавающей точкой или вещественные):
    а) Real - позволяет хранить в переменной данного типа числа от 2,9e-39 до 1,7e+38(Здесь и далее e-39 - 10 в степени -39. e+38 - 10 в степени 38).
    б) Single - позволяет хранить в переменной данного типа числа от 1,5e-45 до 3,4e+38
    в) Double- позволяет хранить в переменной данного типа числа от 5e-324 до 1,7e+308
    г) Extended- позволяет хранить в переменной данного типа числа от 3,4e-4932 до 1,1e+4932

    Поговорим о типах.
    О том как его выбирать.
    Если вам надо посчитать количество яблок у Васи, которыми его угости Петя, то скорее всего надо использовать тип Byte. Потому что отрицательным количеством не кто не может угостить :) не угостить могут это 0. Максимальное значение 255, ну врят ли Вася родной брат Турчинского :) и он унесет более 255 яблок.
    А вот если надо посчитать сколько микробов умещаеться на квадратном сантиметре вашей клавиатуры, то конечно надо использовать тип с большим максимальным значением. Сюда скорее всего подойдет Longint. Хотя я не знаю не биолог. Но думаю хватит :)
    Если же вам надо складывать расстояние от Земли до Солнца и от Солнца до Альфа-Центавры, да еще и в метрах, тут явно наверное надо использовать Double. :)

    И так об использовании типов в Pascal'e.
    Чтобы использовать какой либо тип, надо сделать переменную этого типа. Зачем?!
    Во первых так удобнее. Например количество яблок удобнее же называть не Byte (хотя кому как :)) ), а AppleCount, например. Но чтобы компьютер нас понимал, мы должны ему сказать каким типом мы меряем это количество яблок.
    Делатеться это вот так:
    Код:
    AppleCount : Byte;
    Сразу обращаю внимание, между переменной и типом стоит разделитель ":"
    Еще пример. Расстояние от Земли до Солнца, назовем его Path, тогда
    Код:
    Path : Double;
    Я думаю основной принцип понятен.
    Еще деталь. Если вам нужно объявить 2 переменные ОДИНАКОВОГО типа, например количество яблок у Васи и у Пети, то можно объявлять их через запятую:
    Код:
    Vasya_AppleCount, Petya_AppleCount : Byte;
    Но можно и отдельно:
    Код:
    Vasya_AppleCount : Byte; 
    Petya_AppleCount : Byte;
    Теперь где это можно и нужно делать в программе.
    Специального для объявления переменных в Pascal'e сделали раздел которые называеться VAR (от англ - VARIABLE)
    Находиться он ОБЯЗАТЕЛЬНО, до Begin.
    Т.е.
    Код:
    Var
      Vasya_AppleCount, Petya_AppleCount : Byte;
    Begin
       Write('Программа в которой объявлены переменные для количества яблок Пети и Васи');
    End.
    
    А теперь простенький пример.
    Задача стоит такая. Сколько осталось контактов аси в списке после того как из группы "кидалы" было удалено 30 штук, из списка "Девки" 10, и в список "Программеры" добавлено 100. Вначале было 362 контакта.
    Код:
    Var
      AllContacts : Word; {Word потому что в Byte 362 не получиться запихнуть}
      Liars, Girls, Programmers: Byte;
    Begin
      AllContacts := 362; {Все контакты вначале}
      Liars := 30; {Кидалы}
      Girls := 10; 
      Programmers := 100;
      
      AllContacts := AllContacts - Liars - Girls + Programmers;
    
      Write('После удалений и прибавлений в асе стало ', AllContacts, 'контактов');
    End.
    
    Тут следует пояснить строку: Write('После удалений и прибавлений в асе стало ', AllContacts, 'контактов');
    Функция Pascal'я умеет выводить числовые данные на экран, при этом их не надо обрамлять в ' ' просто пишем имя переменной. Еще одна деталь список выводимых параметров указываеться через ",". Т.е. можно написать вот так:
    Write('После',' удалений',' и',' прибавлений',' в',' асе стало ', AllContacts, 'контактов');

    На этом шаге все.
    Все вопросы задаем в теме.
     
    1 человеку нравится это.
  3. Pascal. Шаг третий

    Этот урок очень короткий.

    Посмотрим как Pascal работает с математическими функциями.

    В Pascal объявлены следующие математические функции:

    Abs(X) - модуль X (абсолютное значение)
    Pi - Число Пи
    Sqr(X) - Х в квадрате
    Sqrt(X) - Квадратный корень из Х
    Exp(X) - e в степени Х
    Ln(X) - Натуральный логарифм Х

    Функции округления
    Trunc(X) - Целая часть значения Х
    Round(X) - Округление Х до ближайшего целого
    Int(X) - Целая часть значения Х
    Frac(X) - Дробная часть значения Х

    Тригонометрические функции
    Sin(X) - Синус Х в радианах
    Cos(X) - Косинус Х в радианах
    ArcTan(X) - Арктангенс Х в радианах

    Изменение значения аргумента(счетчики)
    Inc(X) - Увеличивает Х на 1
    Dec(X) - Уменьшает Х на 1
    Inc(X, N) - Увеличивает Х на N
    Dec(X, N) - Уменьшает Х на N

    Еще сюда наверное стоит только добавить от себя, метод возведения в степень(например A в степень S: Exp(S*exp(A));
    Т.е. 2 в степени 3 будет Exp(3*Ln(2));
    Если вдруг основание отрицательное(а как мы помним :)) из курса алгебры, натурального логарифма от отрицательного числа быть не может), то знак определяем отдельно. Об этом узнаем не много позже.

    Использование их проще показать на примере.
    Код:
    Var
      X : Real; {Вещественное число}
      Y : Real;
      Result: Real;
    Begin 
      X := -3.867; 
      X := Abs(X); {Теперь Х = 3.867}
      X := X*Pi; {X = 12.14238}
      X := Sqr(X); {X = 147.4373920644}
      X := Sqrt(X);{X = 12.14238}
      X := 3;
      X := Exp(X); {X = 19.902511}
      X := Ln(X);  {X = 2.99....}
      Y := Trunc(X); {Y = 2}
      {И так далее можно продолжать}
    
      {А теперь попробуем совместить функции}
      {sin(α ± β) = sinα·cosβ ± cosα·sinβ - посчитаем и сравним результаты}
       Result := sin(x+y);
       Write('  Результаты 1 = ',Result);
       Result := sin(x)*cos(y) + cos(x)*sin(y);
       Write('  Результаты 2 = ',Result);
    End;
    

    Вот и все в данном шаге :)
    Все вопросы и не понятные места уточняем в теме ;)
     
    1 человеку нравится это.
  4. Уроки Pascal. Шаг 4

    Тут мы научимся вводить данные в программу и выводить оные :)

    Начнем с того что мы уже знаем) Конечно же это процедура Write.
    Теперь о ней поподробнее.
    Обобщенный вид данная процедура имеет следующий
    Write(A1, A2, ..., An);
    Что это значит?
    Это значит что мы можем выводить на экран сколько угодно много букововок, циферок, фраз, предложений, которые в процедуре разделяються запятой.
    Например:

    Код:
    Write('Маша', 'сегодня', 'на уроке математики получила оценку -', 5);
    Можно тоже самое написать только в один параметр:
    Код:
    Write('Маша сегодня на уроке математики получила оценку - 5');
    На экране это будет выглядеть одинаково.

    Зачем тогда вообще разделять параметры?! Вопрос резонный сейчас объясню.
    Допустим у нас в переменной FirstLesson типа Byte храниться оценка которую Маши получила на первом уроке. SecondLesson соотвественно, как не трудно догадаться на 2.
    У нас Стоит задача вывести оценки Маши за 1 и 2 урок. Но так как эти значения храняться в переменных, мы не можем их написать сразу. Потому что нее знаем, может Маша получит 4, а может и 5. Вот тут как раз и приxодят на помощь параметры :)
    Выглядит это так
    Код:
    Write('На первом уроке Маша получила оценку -', FirstLesson,', а на втором - ', SecondLesson);
    Следующая процедура, которая очень похожа, на Write это процедура WriteLn.
    Она работает едентично Write за тем лишь отличием что она переводит курсор на экране на новую строку.

    Посмотрим это на примере.
    Код:
    Write('У Коли 8 яблок');
    Write ('У Васи 4 яблока');
    Результат на экране будет выглядеть следующим образом:
    Код:
    У Коли 8 яблокУ Васи 4 яблока
    Правда не красиво?
    Вот для этого и служит процедура WriteLn
    Код:
    Writeln('У Коли 8 яблок');
    Write ('У Васи 4 яблока');
    В этоге результат работы программы примет вид:
    Код:
    У Коли 8 яблок
    У Васи 4 яблока
    :)

    C выводом данных так или иначе разобрались.


    Теперь посмотрим как дела обстоят с вводом данных.
    Для ввода данных с клавиатуры в Pascal предусмотрена процедура которая называеться Read
    Общий вид процедура имеет такой:
    Read(A1,A2,...,An);

    Тут уже в параметрах процедуры, необходимо указывать ИМЕНА ПЕРЕМЕННЫХ обязательно.
    Как правило процедура используеться с одгим параметром в которое вводиться очередное значение.
    Например. Введем с клавиатуры оценкикоторые получила Маша на 1 и 2 уроках. Тогда код будет выглядеть так:
    Код:
    Read(FirstLesson);
    Read(SecondLesson);
    
    Но не что нам не мешает написать следующим образом
    Код:
    Read(FirstLesson, SecondLesson);
    
    Только вот одна особенность процедуры Read и ввода многих параметров сразу.
    Данные придеться вводить следующим образом:
    Код:
    5 4 <Enter>
    Это опять же не удобно. Поэтому была создана процедура которая форматировала бы ввод данных :) Ну конечно вы уже догадались это ReadLn
    Теперь код
    Код:
    ReadLn(FirstLesson);
    ReadLn(SecondLesson);
    
    Будет на экране монитора выглядеть следующим образом:
    Код:
    5 <Enter>
    4 <Enter>
    
    Что гораздо более удобнее и позволяет нам делать более удобный и приятный ввод данных.

    Рассмотрим пример)

    Код:
    var
      FirstLesson, SecondLesson: Byte;
    Begin
      Write('Какую оценку получила Маша за первый урок =');
      ReadLn(FirstLesson);
      Write('Какую оценку получила Маша за второй урок =');
      ReadLn(SecondLesson); 
    
    {Вот мы и ввели данные в программу. Теперь можем выполнять над ними любые операции}
    
      Writeln('Оценка Маши за первый урок =', FirstLesson);
      Writeln('Оценка Маши за второй урок =', SecondLesson);
    End.
    
    Код:
    Экран будет выглядеть
    Какую оценку получила Маша за первый урок = 3
    Какую оценку получила Маша за второй урок = 5
    
    Оценка Маши за первый урок = 3
    Оценка Маши за второй урок = 5
    
    Вот и все в данном шаге :)
    Все вопросы и не понятные места уточняем в теме ;)
     
    2 пользователям это понравилось.
  5. Уроки Pascal. Шаг 5

    Сегодня будем учиться работать с логическими выражениями.

    В логические выражения входят:
    1. Операции сравнения
    2. Логические операции

    Теперь о каждом пункте по подробнее.
    Операции сравнения
    Применяються в различных ситуациях. Примером может служить ситуация знакомая из курса математики. Всего операций сравнения 6:
    a) Равенство. В Pascal задаеться одним знаком =.
    б) Неравенство. В Pascal задаеться 2-ным знаком <>.
    в) Больше. В Pascal задаеться одним знаком > направленным влево если предположительное большее число стоит в левой части выражения, и < если в правой.
    г) Меньше. Так же как и больше задаеться одним знаком < или > если меньшее число стоит слева или справа соответственно
    д) Больше или равно. Имеет вид 2-ного символа >= или <= в зависимости от того в какой части стоит большее число
    е) Меньше или равно. Так же как и больше или равно имеет вид <= или >=.

    Логические операции
    В Pascal существует 4 логические операции.
    Not, AND, OR, XOR
    Тут рассмотрим поподробнее.
    Все логические операции проводяться так или иначе над логическими переменными тип которых Boolean.
    Объявление переменных данного типа производиться как и переменных всех остальных:
    Код:
    [B]var[/B]
    Variable: Boolean;
    Данных тип переменных может хранить только 2 значения: TRUE(истина) или FALSE(ложь).
    Соотвественно и присвоение значения переменной можно производить только этими значениями. Например:
    Код:
    ...
    Variable1 := True;
    Variable2 := False;
    ...
    Теперь вернемся к логическим операциям. Рассмотрим каждое отдельно.
    - NOT. Операция отрицание. Производиться над ОДНИМ операндом.
    Таблица истинности такой операции имеет вид:
    Т.е. другими словами получение обратного значения.

    Синтаксис в Pascal имеет вид:
    Код:
    Variable := Not Variable;
    Variable1 := Not Variable2;
    - AND. Логическое умножение или операция И. Производиться надо 2 операндами.
    Таблица истинности такой операции имеет вид:
    Другими словами ответ будет правдой тогда и только тогда, когда ОБА операнда ИСТИНА.
    Синтаксис имеет вид:
    Код:
    Variable3 := Variable1 AND Variable2;
    Variable1 := Variable2 AND Variable1;
    Пример:
    У Саши И у Маши есть машина?
    ДА - если И у Саши И у Маши есть машина
    НЕТ- если у Саши есть машина, а у Маши нет
    НЕТ - если у Саши нет машины, а у Маши есть
    НЕТ - если у Саши нет машины и у Маши нет Машины

    - OR. Логическое сложение или операция ИЛИ. Производиться надо 2 операндами.
    Таблица истинности такой операции имеет вид:
    Другими словами ответ будет правдой тогда, хотя бы ОДИН из операндов ИСТИНА.
    Синтаксис имеет вид:
    Код:
    Variable3 := Variable1 OR Variable2
    Пример:
    У Саши ИЛИ у Маши есть машина?
    ДА - если у Саши и у Маши есть машина
    ДА - если у Саши есть машина, а у Маши нет
    ДА - если у Саши нет машины, а у Маши есть
    НЕТ - если у Саши нет машины и у Маши нет Машины

    - XOR. Сложение по мудулю 2 или операция исключающее ИЛИ. Производиться надо 2 операндами.
    Таблица истинности такой операции имеет вид:
    Другими словами ответ будет правдой тогда, хотя бы ОДИН из операндов ИСТИНА, но не оба сразу!
    Синтаксис имеет вид:
    Код:
    Variable3 := Variable1 XOR Variable2
    Мы рассмотрели логические операции и операции сравнения.
    Далее этот материал нам очень понадобиться. :)
     
    1 человеку нравится это.
  6. Уроки Pascal. Шаг 5

    Теперь мы знаем и умеем что такое логические операции и операции сравнения. Теперь стоит посмотреть что для этого нам предлогает Pascal. :cool_guy:

    До этого мы учились создавать линейные программы, т.е. программы которые работают всегда одинаково, или другими словами не было логики выбора определенной части программы в зависимости от некоторого условия.

    Для того чтобы реализовать ветвеление в Pascal существуют 2 оператора: IF и CASE.

    Синтаксис оператора IF:
    Код:
    IF (<условие>)
    Then <выполняем если условие верно (TRUE)>
    Else <выполняем если условие не верно (FALSE)>
    Рассмотрим по частям каждую строчку оператора.
    1. Условие. Это любое выражение написанное на языке Pascal которое результатом своего вычисления являет логическое значение, или это логическая операция.
    Пример.
    if (2 > 3),
    if (x < 8),
    if ((x+7) < y+1),
    if (x1 AND x2) и т.д.

    Если условие являетья верным, т.е. для наших примеров: 2 больше 3, ч меньше 8, x+7 меньше чем y+1, x1 AND x2 lf.n в результате TRUE; то выполнение программы пойдет по ветке THEN, если же условие не верно то по ветке FALSE.

    Каждая из ветвей THEN и ELSE может состоять из нескольких операторов, то тогда используються операторная связка BEGIN-END. Причем ; перед ELSE НЕ СТАВИТЬСЯ

    Пример.
    Определить в какой четверти координатных осей лежит точка с координатами (x,y).

    Код:
    var
      x, y: Integer;
    Begin
     {Тут вводим координаты точки}
       Write('Введите x='); Readln(x);
       Write('Введите y='); Readln(y);
     {Тут вводим координаты точки}
    
     if (x > 0) {если х больше 0 }
     then begin {то точка в 1 или 4 четверти}
               {Теперь нужно определить в какой именно в 1 или 4}
               if (y > 0) {x больше 0 и y больше 0}
               then begin{то точка лежит в 1 честверти}
                          Writeln('Точка с координатами (',x,',',y,') лежит в I четверти);
                      end
               else begin {если же х больше 0, а y меньше 0, то}
                          Writeln('Точка с координатами (',x,',',y,') лежит в IV четверти);
                     end 
            end
      else begin {если же х меньше 0}
               if (y > 0) {если y больше 0}
               then begin {то}
                          Writeln('Точка с координатами (',x,',',y,') лежит во II четверти);
                      end
               else begin {если же x меньше 0 и y меньше 0, то}
                          Writeln('Точка с координатами (',x,',',y,') лежит в III четверти);
                     end;
            end;
    End.

    2. Теперь оператор CASE
    Оператор case так же называют оператором множественного выбора. По своей сути оператор CASE представляет в себя множество вложенных друг в друга операторов IF.
    Синтаксис:
    Код:
    Case N of 
    M1,...,Mn: <операторы>; 
    K1,...,Kp: <операторы>; 
    ...
    D1,...,Dr: <операторы> 
    else <операторы>
    end;
    N это любое перечисляемое значение.

    M1,...Mn; K1..Kp; D1...Dr - это значения которое может принимать N

    Рассмотрим на примере как работает:
    Код:
    ...
    N := 4;
    case N of
    1,2,3: Writeln('Значение N равно 1, 2 или 3');
    5: Writeln('Значение N равно 5');
    7,8,9: begin
                Write('Значение N =');
                Writeln(N);
             end;
    else Write('Не известное значение N');
    ...
    Теперь разберемся как тут что будет работать.
    Если N будет равно 1,2 или 3 то на экран нам выведеться: Значение N равно 1, 2 или 3
    Если N будет равно 5 то выведеться: Значение N равно 5
    Если N равно 7, 8,9 то выведеться: Значение N=<значение>
    Если же N не задано не в одной из строк, то срабатывает ветка ELSE, как раз необходимая для таких случаев. В нашем примере она как раз и отработает и выведет нам на экран сообщение: Не известное значение N
     
    1 человеку нравится это.
  7. Использование Watch'есов

    И так, ты пишешь более-менее приличную задачку(строк хотя бы 50 исходного к0да). И всё думаешь: как бы пr0сматривать значения переменных "на лету", учитывать изменение их значений и подобное. Разработчики Borland сделали это за тебя:
    Для того чтобы устновить watch(глазик, смотрелка) на переменную нужно:
    1. Выбрать переменные, которые нужно "проконтролировать"
    2. Подвести курсор к переменной(как на рисунке)

    3. На клавиатуре ищем Ctrl+F7 и давим их одновременно.
    4. Видим окошко, как на первой части следующего рисунка, жмем "ОК"
    5. Видим новое окошко, как на второй части рисунка, в котором будет отображаться значение переменной в ходе выполнения программы.
    6. Добавляем все нужные переменные таким образом.
    7. Давим F7, тем самым начиная выполнения программы.
     
    1 человеку нравится это.
  8. Планируется ли написание еще обучающих статей?
    Читаю "Turbo Pascal наиболее полное руководство. В.В. Фаронов" из чего мало что понятно.
    Или посоветуйте источники, где написано более доступным языком.
     
  9. FrenCH, планируется. Проблема в недостатке времени.
    Но Фаронов считается лучшим, в этом отношении.
     
  10. Можно посоветовать Немнюгина - читал когдато, ничё так мужик пишет.
     
  11. ребята ,проблема,ставлю на висту х64 , отказуется работать требует систему х 32 или 64 , стоит ж 64
    без понятия что делать(( помогите
     
  12. mackito, боюсь, что помочь уже наверное ничем нельзя.
    Сами подумайте, программа написана еще в 1993 году. И требовать от нее через 17 лет чего-то... Тем более с политикой MS...
    Есть вариант, ставьте виртуальную машину с Win98 и на нее уже TP накатывайте. Работать будет 100%.

    Хотя может специалисты по Vist'e и подскажут с каким бубном нужно попрыгать, чтобы запустить ее...

    Как отдельный вариант посмотреть в сторону FreePascal. Он должен работать на x64. И поддерживает синтаксис паскаля.
    _http://www.freepascal.org/download.var
     
  13. как вариант попроще установить досбокс ....

    когда это сделаешь
    запусти досбокс введи сначало
    Код:
    MOUNT C "C:\Tp\BIN
    а потом для запуска паскаля введи
    Код:
    C:\TPX.exe
    как я понял тебе нельзя будет использовать клавиши быстрого запуска...
     
  14. Ну прям очень очень классные уроки! Молодец! Ещё бы таких.
     
  15. Ребят, на 8 Windows не запускается эта программа :(