Remkomplekty.ru

IT Новости из мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Неизвестное имя паскаль

BestProg

Элементарные конструкции языка Паскаль

Содержание
  1. Что включают в себя элементарные конструкции языка Паскаль?
  2. Что образует алфавит языка Паскаль?
  3. Какие основные символы входят в набор языка Паскаль?
  4. Что такое имя? Какие требования ставятся к определению имен в языке Паскаль? Примеры имен.
  5. Какие слова не разрешается использовать в качестве имен в языке Паскаль?
  6. Что называется элементами языка?
  7. Примеры записи целых чисел в десятичной и шестнадцатеричной системах исчисления.
  8. Как представляются символьные значения в языке Паскаль?
1. Что включают в себя элементарные конструкции языка Паскаль?

Ответ: элементарные конструкции языка Паскаль содержат в себе имена, числа и строки.

2. Что образует алфавит языка Паскаль?

Алфавит языка Паскаль образуют основные символы. Основные символы языка это: буквы, цифры и специальные символы.

3. Какие основные символы входят в набор языка Паскаль?

Классический Паскаль включает следующий набор основных символов:

1. 26 латинских строчных (a — z) и 26 латинских прописных букв (A — Z).

2. Символ ‘_’ подчеркивание.

3. 10 цифр от ‘0’ к ‘9’.

4. Знаки операций:

7. Служебные (зарезервированные) слова:

Кроме перечисленных, в набор основных символов входит пробел. Пробел нельзя использовать внутри сдвоенных символов и зарезервированных слов.

4. Что такое имя? Какие требования ставятся к определению имен в языке Паскаль? Примеры имен.

Имя – это последовательность букв и цифр, которая начинается из буквы. В именах может использоваться также символ подчеркивания.

Имя может содержать произвольное количество символов, но значащими есть первые 63 символы.

Примеры имен в языке Паскаль:

В программе не может быть двух одинаковых имен.

5. Какие слова не разрешается использовать в качестве имен в языке Паскаль?

Ответ. В качестве имен не разрешается использовать служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и файлы.

Например: begin , and , label , for , repeat , integer , real , implementation и прочие (см. п. 3).

6. Что называется элементами языка?

Ответ: это константы, метки, типы, переменные, процедуры, функции, модули, объекты и т.п..

7. Примеры записи целых чисел в десятичной и шестнадцатеричной системах исчисления.

Числа в языке Паскаль чаще всего записываются в десятичной системе исчисления.

Однако целые числа можно записывать и в шестнадцатеричной системе исчисления. Для записи числа в шестнадцатеричной системе исчисления перед числом ставится символ ‘ $ ‘ (бакс).

Примеры чисел в десятичной системе исчисления:

Примеры чисел в шестнадцатеричной системе исчисления:

8. Как представляются символьные значения в языке Паскаль?

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

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

  1. Как один символ, размещенный между апострофами, например:

2. С помощью конструкции вида #K , где K – код соответствующего символа, при этом значение K должно находиться в границах 0..255 . Например, символьную константу ‘ R ‘ можно записать как #82 .

Pascal. Ссылочный тип данных

Все изученные ранее типы данных относятся к так называемым статическим типам. Это значит, что место в памяти под переменные компилятор отводит до запуска программы(во время компиляции).

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

В языке Паскаль нет прямого доступа к динамическому объекту. Поэтому для обращения к ним используют указатели, которые по другому называются ссылочными именами (ссылками).

Ссылочный тип — это неограниченный набор переменных одного типа. Переменные ссылочного типа можно описать двумя способами:

1. В разделе описания типов.

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

Результатом ссылки является ячейка. Существует пустая ссылка — NIL -, в которой ничего нет, она возможна для указателя любого типа данных. Пустая ссылка обычно указывает конец переменных ссыльного типа.

Существует стандартная функция, которая уничтожает динамический объект при этом освобождая память машины, которую он занимал: DISPOSE(A).

Существует такое понятие, как переменная с указателем. Например: А^ — переменная с указателем, с ней можно обращаться также как с переменной указанного типа.

Между указателями одного типа возможны операции сравнения: <> ,=

Динамические переменные обычно используют в связанных структурах данных. Простейшим способом описания связанных объектов является однонаправленный список(как очередь).

Существует 5 основных операций над списками:

  1. Формирование списка.
  2. Просмотр элементов списка.
  3. Поиск элементов в списке.
  4. Удаление элементов звена в списке.
  5. Вставка элементов звена в списке.

Примеры операций над списками:

1. Формирование списка.

2. Просмотр элементов списка.

Опишем в виде процедуры

3. Поиск элементов в списке.

Функция poisk=true, если элемент С принадлежит списку и false, если элемент С не принадлежит списку. Ещё функция ищет AD — адрес ссылки звена элемента С.

4. Удаление элементов звена в списке.

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

Читать еще:  Вывод массива паскаль

5. Вставка элементов звена в списке.

Будем вставлять новое звено q с элементом M, на которое указывает ссылка p.

Имеется файл целых положительных чисел, состоящий из нескольких последовательностей чисел, каждая из которых заканчивается целым отрицательным числом -1. Вывести в выходной файл эти последовательности чисел, но внутри каждой последовательности числа должны идти в обратном порядке.

137 123 2067 -1 входной файл

731 321 7602 -1 выходной файл

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

Неизвестное имя паскаль

Уважаемые эксперты! У меня к Вам такой вопрос! Не получается в Паскале задействовать графический режим. Беру даже стандартные программы-примеры из Help, запускаю, и все. Сообщений об ошибках не выдает, просто выбрасывает из Паскаля, и так каждый раз. Модуль Graph, есть и в папке где я компилирую программу, потом EGAVGA.BGI тоже найден. Уже пробовал указывать директорию на него (‘C:BPBGI’), директорию проверял. Вот например запускал программу из приложения, выбрасывает меня постоянно. В чем может быть причина.

Состояние: Консультация закрыта

Здравствуйте, Камынин Владислав Дмитриевич.

Код рабочий. Ошибки в нем нет.
Единственное замечание по коду:
err:=GraphResult;
if err=grOk then
begin
. . .
end
else
writeln(‘graphError’,err);
ReadKey;
После этого Вы будете знать номер самой ошибки, а не просто выбрасывает из Паскаля .
Не все компиляторы поставляются с корректными графическими модулями, нормальный модуль Вы найдете URL >> или URL >>
Удачи!

+1

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

В стандартном примере показано как не просто завершить работу при ошибке, а прочитать ее причину. Полностью скопируйте.
А ошибка, скорее всего, в том, что третьим параметром в InitGraph должен быть полный путь (в DOS-овском формате) к файлу egavga.bgi или он должен находиться в той папке, откуда запускаете программу
Есть, конечно, еще способ . но он чуть посложнее и все равно создании EXE должен быть известен путь к этому файлу

Boriss, в том и дело, что я скопировал файл egavga.bgi в папку, откуда я запускаю программу. Не вышло. Потом пытался сослаться на папку BGI, в которой находится этот файл ( InitGraph(GraphDriver, GraphMode,’C:BPBGI’); Тоже не вышло.

Зенченко Константин Николаевич
Старший модератор

ID: 31795

Камынин Владислав Дмитриевич:
У меня и egavga.bgi и GRAPH.TPU находились в папке с программой, а сам компилятор в другом месте.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас — Вы начали думать.

Пример нужно было взять из InitGraph. Там советуется вот так:

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас — Вы начали думать.

Второй вариант — «битый» egavga.bgi (тфу! на ночь такое выговаривать . ). Какой размер Вашего файла в байтах? У меня 5 527 байт.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас — Вы начали думать.

Хот и неполучилось(( Все равно спасибо за Ваш Труд, никогда не оставите без внимания )))))))

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас — Вы начали думать.

Вадим Исаев ака sir Henry
Мастер-Эксперт

ID: 425

Камынин Владислав Дмитриевич:
Надо посмотреть, после какой строки кода выблетает программа.
Во-первых, уберите из строки Uses модуль Crt, чтобы точно знать, что дело не в нём.
Во-вторых, сделайте как Вам посоветовал Константин Николаевич, т.е. поместите egavga.bgi и GRAPH.TPU в папку со своей программой. Тогда можно не указывать путь, который идёт третьим параметром в процедуре InitGraph.
В третьих, если ошибка после этого осталась, то оставьте в своей программе только строку GraphDriver:=Detect;, добавьте второй строкой WriteLn(‘Работает. Тра-ля-ля. ‘); и посмотрите, что будет.
Если «Тра-ля-ля» появилось на экране, то прибавляем каждый раз по одной следующей строке и опять смотрим, что будет.

=====
Я только в одном глубоко убеждён — не надо иметь убеждений! 🙂

Проще пошаговое выполнение сделать — F8

=====
Я только в одном глубоко убеждён — не надо иметь убеждений! 🙂

Вадим Исаев ака sir Henry
Мастер-Эксперт

ID: 425

Boriss:
Проще, конечно. Только не известно будет ли оно работать в принципе. Я от ТР в своё время отказался именно из-за непредсказуемости поведения на ОСях типа NT.

=====
Я только в одном глубоко убеждён — не надо иметь убеждений! 🙂

Текстовые файлы в Pascal

Все предыдущие примеры программ на этом сайте выводили данные непосредственно на экран компьютера. Но данные можно выводить в файлы на внешние носители.

Рассмотрим пример программы на PascalABC, которая считывает исходные данные из внешнего файла. Считает сумму и произведение. Записывает результат тоже во внешний файл.

Читать еще:  Как открыть паскаль

Но прежде немного справочной информации.

Текстовые файлы Паскаль

Файл — это упорядоченная последовательность однотипных компонентов, расположенных на внешнем носителе. Файлы предназначены только для хранения информации, а обработка этой информации осуществляется программами.

В Паскале для связи программы с файлом служит файловая переменная, которая обязательно должна быть указана в разделе описаний VAR.

Текстовый файл в PascalABC — это совокупность строк произвольной длины, разделенных между собой маркерами конца строки, а весь файл заканчивается маркером — конец файла.

Текстовые файлы являются файлами с последовательным доступом. В любой момент времени доступна только одна запись файла. Другие записи становятся доступными лишь в результате последовательного продвижения по файлу.

Чтобы программа смогла различать записи данных в текстовом файле, их разделяют пробелами. Например, 20 30 45 озеро.

Перед использованием файловой переменной она должна быть связана с внешним файлом с помощью вызова процедуры Аssign.

Имя внешнего файла при необходимости должно содержать абсолютный путь доступа к этому файлу, включая имя дисковода. При этом имя внешнего файла – строковая величина, т.е. должна быть заключена в апострофы. В нашем примере путь к файлу относительный.

Наши файлы расположены в рабочем каталоге PascalABC (C:PABCWork).

Когда связь с внешним файлом установлена, для подготовки ее к операции ввода или вывода файловая переменная должна быть “открыта”. Существующий файл можно открыть с помощью процедуры Reset, а новый файл можно создать и открыть с помощью процедуры Rewrite. Текстовые файлы, открытые с помощью процедуры Reset доступны только по чтению, а текстовые файлы, открытые с помощью процедуры Rewrite, доступны только по записи.

Для текстовых файлов существует специальный вид операций чтения и записи (read и write), который позволяют вам считывать и записывать значения, тип которых отличается от символьного типа. Такие значения автоматически переводятся в символьное представление и обратно. Например, Read(f,i), где i — переменная целого типа, приведет к считыванию последовательности цифр, интерпретации этой последовательности, как десятичного числа, и сохранению его в i.

В нашей программе это строка ниже:

Далее идут команды обработки данных:

Выводим найденные результаты во внешний текстовый файл

Перед тем как закончить работу, необходимо закрыть все файлы, которые были использованы программой. Вызов процедуры Close необходим при завершении работы с файлом. Если по какой-то причине процедура Close не будет выполнена, файл все-же будет создан на внешнем устройстве, но содержимое последнего буфера в него не будет перенесено.

Итак, запишем код программы целиком.

Задача 1. Даны три целых числа. Найдите их сумму и произведение. Исходные данные находятся в файле Input.txt. Результаты вывести в файл Output.txt.

Перед запуском программы не забудьте сохранить её в рабочем каталоге (C:PABCWork). Иначе относительный путь к файлу с данными не будет найден.

Для создания исходного файла с данными в PascalABC, создайте новый документ. Запишите числа через пробел и сохраните в нужное место, указав после имени файла расширение txt. В диалоге сохранения Тип файла укажите Все файлы. Также можно воспользоваться программой Блокнот.

Дополнительные функции работы с текстовыми файлами

  • Процедура Аppеnd

Процедура Аppеnd открывает существующий внешний файл с именем, назначенным переменной f. Если внешнего файла с указанным именем не существует, то это является ошибкой. Если файл f уже открыт, то он сначала закрывается, а затем открывается заново. Текущая позиция устанавливается на конец файла.

Параметр f представляет собой файловую переменную, определяющую текстовый файл. Если этот параметр опущен, то используется стандартная файловая переменная Input. Если текущая позиция в файле находится за последним элементом файла или если файл не содержит никаких элементов, то функция Еоf(f) возвращает значение Тruе. В противном случае она возвращает значение False.

Eoln(f) возвращает True, если текущая позиция в файле совпадает с маркером конца строки или если истинна функция Eof(f); в противном случае Eoln(f) возвращает False.

Почему в паскале пишет » Неизвестное имя Den»?Пробовал с переменными типа integer и всё работало.

Другие интересные вопросы и ответы

Возможно ли изучить программирование за лето?

Смотря что ты хочешь изучить и что имеешь ввиду под программированием.

Если html+css — да, вполне возможно. Но это верстка а не программирование. SQL — так же возможно, но и работу с БД я так же не могу назвать настоящим программированием.

Если же брать серьезное программирование — однозначное нет. Минимум год самообучения по 8-12 часов в день. Минимум — если у тебя уже есть некая база и неплохо поставленная логика. Значительно больше если нет.
У меня была очень сильная база (я несколько лет работал в IT конторе мирового масштаба(входит в первую десятку по размеру) международной тех.поддержкой высшего уровня[там было 5 таких] а так же QA[тестировщиком], а так же некую базу программирования уже имел), но у меня пошло пол года по 8-12 часов в день что бы достичь некоего более-менее неплохого уровня на C#. По факту недостаточного что бы работать полноценным программистом. Но все же достаточного для автоматизации.

Читать еще:  Знак доллара в си шарп

Реальное программирование — это не просто синтаксис языка. Программирование — это умение решать задачи. Как математические так и логические. Логические — в первую очередь! А так же знание ряда алгоритмов. А так же знание инструментов которыми пользуешься(например нужно понимать как внутри устроен List/LinkedList и Array для того,что бы их правильно оптимально использовать, просто знать что длинна аррея не меняется — НЕ ДОСТАТОЧНО). Синтаксиса языка НЕ ДОСТАТОЧНО кто бы тебе не говорил обратного.

Что бы не быть баснословным, я наведу простой пример использования алгоритмов:

Алгоритм среднего между 2мя целыми числами нормального человека:
(a+b)/2
алгоритм среднего из 2х целых чисел программиста(умного, а не в кавычках):
a/2+b/2+(a%2+b%2)/2
где % — вычисление остачи от деления.

потому как первый алгоритм даст ровно в половине из возможных случаев неправильный ответет из-за переполнения памяти + еще в четверти случаях просто на одиницу меньше нужного. Заметьте! Не ошибку! А неправильный ответ в трех случаях из 4х! А «программист»(именно в кавычках) еще и не будет в курсе почему так

Для нецелочисленного типа данных(double, float) проще:
a/2+b/2

Как видишь, проблема не в синтаксисе как таковом Выучить синтаксис — как раз наименьшая из проблем. Хотя, замечу, что, даже, это для многих будет непосильной задачей.

С другой стороны — я за то что бы не грузить человека «паттернами» и излишними алгоритмами. На новичков это подействует, скорее всего, негативно, чем позитивно. Типа…. «я слышал про паттерн ____________, вот задача на которую КАЖЕТСЯ подойдет он.» А потом решение задачи усложняется в разы. Ну или затягивается. Паттерны нужно не только знать, но и применять с умом. К алгоритмам так же нужны знания как и когда их лучше применять. Поэтому — БЕЗ ФАНАТИЗМА.

PS: человек снизу, который меня активно критикует(Jone Done), даже путает среду разработки и язык… Delphi — это не язык, а IDE, а язык там это Object Pascal.
Так же там в коментариях у нее я проверил ее «нормальные знания джавы»… Желающие посмотреть на «номально выучившую язык за 2,5 месяца» смотреть туда. И это при том что Я ДЖАВУ НЕ ЗНАЮ, а, так, посмотрел инфу не более чем 3 дня где-то пол года назад просто для общего развития и что бы лично сложить свое собственное мнение по языку.

Валерій Пістольний 49

Какие имена переменных допустимы в Pascal?

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

Имя переменной в Pascal называют идентификатором. Для именования идентификаторов служат следующие правила:

  • идентификатор может содержать символы английского алфавита, цифры и знак подчёркивания;
  • первым символом в идентификатора может стоять или буква или знак подчёркивания. Использовать цифры в качестве первого символа недопустимо;
  • запрещено использовать в качестве имен идентификаторов служебные слова: имена встроенных процедур и функций, операций и т.д.

Идентификаторы в Pascal не чувствительны к регистру, то есть нет разницы, строчные или заглавные буквы будет использовать программист. Например, следующие идентификаторы будут считаться одинаковыми:

deltastr, DeltaStr, DeltaSTR.

Ошибка Sortirovki.pas(17):Невозможно явно преобразовать тип integer к типу System.Random. Подскажите как написать

Uses
System;
var
massiv: array [1..10000] of integer;
i, j, k, n,range, pos, tmp, min, max: integer;
d1, d2: DateTime;

begin
n := 10000;
write(Исходный массив: );
for i := 1 to n do
begin
massiv[i] := random(256);
write(massiv[i]:4);
end;
d1 := DateTime.Now;
for i := 1 to n — 1 do
begin
for j := i + 1 to n do
begin
if massiv[i] > massiv[j] then
begin
k := massiv[i];
massiv[i] := massiv[j];
massiv[j] := k;
end;
end;
end;
writeln();
writeln(after sort);
for i := 1 to n do
write( massiv[i]:4 );
d2 := DateTime.Now;
a:=d2.Minute-d1.Minute; b:=d2.Second-d1.Second; b:=d2.Millisecond-d1.Millisecond;
Writeln(Программа выполнилась за:,a,минут,b,секунд (ы),c,миллисекнд (ы));
writeln(─────────────────────────────────────────────);
begin
max := 10000;
min := 1;
range := max — min + 1;
Randomize;
for i := min to max — 1 do
begin
pos := min + random(range);
tmp := massiv[pos];
massiv[pos] := massiv[i];
massiv[i] := tmp;
write( massiv[i]:4 );
end;
end;
end.

Pascal ABC.Net. Если поменять random на PABCSystem.random выдает, что random неизвестная переменная.
Может кто знает как написать? Подсчет времени выполнения нужен непременно. Guest 4

Чую я, здесь попытка скрестить старый добрый Паскаль с .NET-платформой. Неудивительно, что ничего не работает.

Заполните массив случайными числами в диапазоне 1000.2000 и подсчитайте число элементов, у которых вторая с конца цифра – чётная. Язык C#

Random rnd = new Random(); //создание объекта для генерации псевдослучайных чисел

int [] randommas = new int [100]; //пустой массив для заполнения

Ссылка на основную публикацию
Adblock
detector