Abc — Помогите найти ошибку. Pascal


Abc — Помогите найти ошибку. Pascal

Открыта запись на вторую часть курса по анонимности и безопасности в сети интернет » Paranoid II » от команды codeby . Анонимные роутеры, Подъём, настройка и администрирование Tor-ноды, Работа с железом ПК, Удаление аппаратных закладок, Минимизация рисков, Авторские разработки и многое другое. Подробнее .

Напоминаем, что 1 декабря стартует курс » Тестирование Веб-Приложений на проникновение с нуля » от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. Подробнее .

Abc — Помогите найти ошибку. Pascal

1. Заголовок темы должен быть информативным. В противном случае тема удаляется .
2. Все тексты программ должны помещаться в теги [code=pas] . [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. «FAQ«, если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение — только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы — на PM!
6. Одна тема — один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме.
8. Спрашивайте и отвечайте четко и по существу.

Группа: Пользователи
Сообщений: 2
Пол: Мужской

Помогите пожалуйста. Написать программу, которая каждую встреченную букву «б» заменяет сочетанием «ку»с помощью модулей.
вот короче что получилось
модуль1:

unit obrabotk;
interface
uses op;
procedure vvod(var s:str);
function zamena(s:str): string;

procedure vvod;
begin
WriteLn;
write(‘Введите текст: ‘);
readln(s);
end;

function zamena;
var i : integer;
sTemp : string;
begin
sTemp := s;
for i:=length(sTemp) downto 1 do
if sTemp[i]=’б’ then
begin
delete(sTemp,i,1);
insert(‘ку’,sTemp,i);
end;
zamena := sTemp;
end;

uses op, obrabotk;
var
s : str;
begin
vvod(s);
writeln(‘Òåêñò ‘, zamena(s));
readln;
end.

Без понятия че ему надо, пишет «Неизвестный идентификатор s » во втором модуле

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Разработчик
Free Pascal: Разработчик

Группа: Пользователи
Сообщений: 2
Пол: Мужской

Цукерберг рекомендует:  Как явным образом занести сайт в базу поисковиков

Помагите найти ошибку в программе на языке pascal

Вот текст программы. Помогите пожалуйста, заранее спасибо!

Цитата (alfir @ 2.12.2010, 17:47 )
Она не правильно находит предел

А телепаты (чтоб знать, какой предел должна найти твоя программа) здесь больше не обитают. Еще точнее — у тебя нет ошибки в программе на языке Паскаль, иначе бы она просто не откомпилировалась. Если компилируется, но работает не так, как ты ожидаешь (не употребляй выражения «неправильно», договорились?) — значит, у тебя ошибка в алгоритме. Нужна помощь — объясняй тот алгоритм, который был запрограммирован. Словами. Русскими.

Pascal ABC задание с символами

Тема в разделе «Таверна», создана пользователем vSyler, 15 Sep 2015 в 19:28 .

Оценить пост #

vSyler

Актуальна и правильно ли составлена программа?

Программа:

program letters;
var K,N:integer;
begin
readln(N);
for K:= 97 to (97+N) do
write (char(K));
end.

p.s Как поставить ограничение на символы?

FromTheBottom

vSyler

program dcpautist;
var a:integer;
begin
for a:=90 to 65 do
write (char(a));
end.

vSyler

Так же существует догадка, сделать через Char, но я хочу узнать как делается через Integer.

После Integer захочу спросить ответ Char. Просьба: помочь и с Char

FromTheBottom

вместо TO надо DOWNTO. Ты ж значение понижаешь

Abc — Помогите найти ошибку. Pascal

1. Заголовок темы должен быть информативным. В противном случае тема удаляется .
2. Все тексты программ должны помещаться в теги [code=pas] . [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. «FAQ«, если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение — только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы — на PM!
6. Одна тема — один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме.
8. Спрашивайте и отвечайте четко и по существу.

Группа: Пользователи
Сообщений: 2
Пол: Мужской

Помогите пожалуйста. Написать программу, которая каждую встреченную букву «б» заменяет сочетанием «ку»с помощью модулей.
вот короче что получилось
модуль1:

unit obrabotk;
interface
uses op;
procedure vvod(var s:str);
function zamena(s:str): string;

procedure vvod;
begin
WriteLn;
write(‘Введите текст: ‘);
readln(s);
end;

function zamena;
var i : integer;
sTemp : string;
begin
sTemp := s;
for i:=length(sTemp) downto 1 do
if sTemp[i]=’б’ then
begin
delete(sTemp,i,1);
insert(‘ку’,sTemp,i);
end;
zamena := sTemp;
end;

uses op, obrabotk;
var
s : str;
begin
vvod(s);
writeln(‘Òåêñò ‘, zamena(s));
readln;
end.

Без понятия че ему надо, пишет «Неизвестный идентификатор s » во втором модуле

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Разработчик
Free Pascal: Разработчик

Группа: Пользователи
Сообщений: 2
Пол: Мужской

Помогите, пожалуйста.
Пишу программу в Pascal abc. У меня она не запускается. Выдает ошибку. Встречено var, а ожидался идентификатор.
program
var y, a, b, c :integer;
begin
read a, b, c;
if a mod 2=0 then y:=y+1;
if b mod 2=0 then y:=y+1;
if c mod 2=0 then y;=y+1;
writeln
end.

Ответ оставил Гость

Цукерберг рекомендует:  Анимируй это WAAPI


Ну во-первых, после program должно идти название программы например program abc; и обязательно за последней буквой ; , во-вторых, после read всегда пишут переменные в скобках и ; после скобок, в -третьих ,где строка с с должен стоять знак присваивания : а не ;, в -четвёртых, после writeln опять скобки с указанием переменных и ; .
вроде всё

Internet Archive’s Wayback Machine

Bummer.

This url is not available on the live web or can not be archived.

Want to search for all archived pages under https://pikabu.ru/story/ ?

The Wayback Machine is an initiative of the Internet Archive, a 501(c)(3) non-profit, building a digital library of Internet sites and other cultural artifacts in digital form.
Other projects include Open Library & archive-it.org.

Your use of the Wayback Machine is subject to the Internet Archive’s Terms of Use.

Функция Abs в Паскале

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

Синтаксис функции Abs для целых чисел:

function Abs(L : LongInt) : LongInt;

function Abs(I : Int64) : Int64;

Последний вариант возможен только для FreePascal и Lazarus, так как в классическом Паскале нет типа данных Int64.

Синтаксис функции Abs для вещественных чисел:

function Abs(D : ValReal) : ValReal;

ValReal — это вещественный тип данных с наибольшим доступным значением в данной операционной системе. Фактически это псевдоним (алиас) одного из типов Extended или Double.

А теперь пример использования:

Здесь мы сначала объявляем переменную с начальным значением равным -100 (отрицательное число).

А в программе используем функцию Abs и в результате переменная у будет равна 100 (положительное число).

Что вычисляет функция Abs

Вообще Abs — это сокращение от Absolute. Как нетрудно догадаться, переводится это слово как “абсолютный, чистый, несомненный”.

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

В математике модуль числа х обозначается так: |x|.

То есть функция Abs в любом случае возвращает положительное число. Такая функция есть практически во всех языках программирования, так как используется довольно часто и входит в основы математики.

Таким образом, можно сказать, что функция Abs(х) вычисляет модуль числа х. То есть Abs(х) в Паскале — это то же самое, что |x| в математике.

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

Цукерберг рекомендует:  16 приёмов написания суперчитабельного кода

Здесь мы передаём в функцию целое число, которое может быть как отрицательным, так и положительным. В функции мы проверяем значение этого числа. Если число отрицательное, то мы умножаем его на -1, и таким образом получаем положительное число. Если число положительное, то мы ничего не делаем — просто возвращаем полученное через параметр iNum число.

Как видите, алгоритм довольно простой.

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

Abc — Помогите найти ошибку. Pascal

1. Заголовок темы должен быть информативным. В противном случае тема удаляется .
2. Все тексты программ должны помещаться в теги [code=pas] . [/code].
3. Прежде чем задавать вопрос, см. «FAQ«, если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение — только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы — на PM!
6. Одна тема — один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме.
8. Спрашивайте и отвечайте четко и по существу.

Группа: Пользователи
Сообщений: 2
Пол: Мужской

Помогите пожалуйста. Написать программу, которая каждую встреченную букву «б» заменяет сочетанием «ку»с помощью модулей.
вот короче что получилось
модуль1:

unit obrabotk;
interface
uses op;
procedure vvod(var s:str);
function zamena(s:str): string;

procedure vvod;
begin
WriteLn;
write(‘Введите текст: ‘);
readln(s);
end;

function zamena;
var i : integer;
sTemp : string;
begin
sTemp := s;
for i:=length(sTemp) downto 1 do
if sTemp[i]=’б’ then
begin
delete(sTemp,i,1);
insert(‘ку’,sTemp,i);
end;
zamena := sTemp;
end;

uses op, obrabotk;
var
s : str;
begin
vvod(s);
writeln(‘Òåêñò ‘, zamena(s));
readln;
end.

Без понятия че ему надо, пишет «Неизвестный идентификатор s » во втором модуле

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Группа: Пользователи
Сообщений: 2
Пол: Мужской

Abc — Помогите найти ошибку. Pascal

Я структуру условий не разбирал, но видно явное несоответствие — текст начинается с описания функции power, потом идет, судя по всему, цикл главного меню, потом посреди текста идет тело той самой функции power.
Плюс еще, после первого repeat’a стоит begin, который там не нужен, так что похоже, что туда вставлен какой-то левый кусок кода.

Рекомендация — правильнее всего вдумчиво переписать сначала, если лень — убрать function power(x,y:real):real; и идти вниз по коду, вставляя отступы в соответствии с вложением условий. В ходе этого должна стать понятной структура условий, и будет видно, что где лишнее.

02.06.2013, 20:20 #5

Всё, я исправил код и успешно скомпилировал программу!
Спасибо всем за советы, сделал как сказали, начал всё заново)
Правда, пришлось искать другой алгоритм возведения в степень)

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих
02.06.2013, 22:16 #6