Показать полную графическую версию : Всё о TURBO PASCAL (обсуждение, помощь в написание программ, ошибки, Pascal ABC)
Nelson1992
09-02-2010, 16:13
Мне нужна помощь в написании программы к заданию:
1. На языке программирования Pascal реализовать процедуры работы со стеком на последовательном распределении памяти:
- Создание пустого стека
- Добавление элемента на вершину стека
- Удаление элемента с вершины стека
Процедуры, реализующие операции добавления и удаления элемента должны разумным образом обрабатывать ситуации переполнения и нехватки (схемы (2а), (3а)). Стек реализовать, используя одномерный массив и переменную типа integer (указатель на вершину стека).
Т ← Т + 1; если T > M то ПЕРЕПОЛНЕНИЕ, иначе Х[Т] ← Y (2a)
(включить в стек)
если T = 0 то НЕХВАТКА, иначе Y ← X[T]; Т ← Т - 1 (3a)
(исключить из стека)
2. Провести вычислительный эксперимент с полученными процедурами
a) Используя результат задания 1 запрограммировать получение нового текстового файла, в котором все слова во всех предложениях записаны в обратном порядке. В программе установить максимальный размер стека равным 10.
b) Используя результат задания 1 запрограммировать получение нового текстового файла, в котором в котором буквы каждого слова записаны в обратном порядке. В программе установить максимальный размер стека равным 5.
В процессе работы программы должна выводить текущее состояние стека (после каждой операции добавления, извлечения, очистки).
Вот текст который должен содержаться в текстовом файле:
Придется идти ва-банк...
- Ты не вправе слышать его имя!
- Я вправе на все, - сообщает монстр.
И пальцы сжимаются.
Теперь должен произойти выход в реальность. Как следствие
"смертельного" воздействия. Иначе - мозг может вообразить самый настоящий
болевой шок, со всеми последствиями.
Только самоубийца отключит предохранители дип-программы.
Или дайвер.
Мое изуродованное тело валяется на ладони монстра. Череп расплющен,
один глаз смотрит в пыльное жаркое небо, другой - в каменный ноготь. Ифрит
громко, удовлетворенно хохочет, потом кричит:
- Ты, пришедший в облике волка, запомни его судьбу!
Ага, вот как он определил язык... слышал наши разговоры. Однако ему
не хватило "ума" понять, с кем имеет дело...
Монстр снова каменеет. Я выжидаю еще секунду, потом встаю. Тело
медленно собирается воедино. Нормальный пользователь дип-технологии сейчас
очнулся бы в реальности, перед укоризненно верещащим компьютером.
Учитывает ли сторожевая программа "Аль-Кабара" существование
дайверов?
Монстр неподвижен. Я мертв, давно мертв... Осторожно ступаю на
волосяной мост...
- Кто ты?
stalker-ust
27-04-2010, 09:57
Ребята,помогите в написании программу в множестве!!
а то препод сожрет всю группу....
Путем ввода целых чисел создать множество. Определить, входят ли в данное множество числа, введенные с клавиатуры.
заранее спасибо....
stalker-ust, Если напишу на С++ перевести на Pascal сможете? Есть кому?
Вообще логика этой программы такая(как я понял):
1. Запрашиваем ввод числа, которое создаст массив нужного нам размера (размер нашего множества)
2. Заполняем наше множество, запрашиваем у пользователя ввод чисел. Вводим столько чисел, какой размер имеет массив.
3. После заполнения, запрашиваем у пользователя ввод любого целого числа.
4. Проверяем в цикле с массивом, если в массиве нет введённого числа - значит число не входит, иначе - входит.
stalker-ust
29-04-2010, 12:04
давай))
stalker-ust, Вот. Надеюсь поможет. Проверку того что число не входит в множество, я не делал.
#include <iostream>
using namespace std;
int main()
{
int size; // Размер массива
int *array; // Наш динамический массив
int num, // Вводимое числ для проверки в массиве
z;
// Запрашиваем ввод размера массива
cout << " Введите размер массива = ";
cin >> size;
// Проверяем, пока введённое число меньше 1
// предлагать ввод правильного значения
while(size < 1){
cout << " Введите размер массива = ";
cin >> size;
}
// Создаём массив
array = new int[size];
// Заполняем массив, вводом чисел с клавиатуры
for(int i = 0; i < size; i++){
cout << "Введите значение в массив, элемент array[" << i << "] = ";
cin >> array[i];
}
// Предлагаем пользователю ввести любое число
// Его мы будем проверять на наличие присутствующих
// чисел в массиве.
cout << "Введите любое целое число = ";
cin >> num;
// Проверяем, если ведённое число есть в массиве
// Выводим число и индекс массива
for(int j = 0; j < size; j++)
if(array[j] == num)
cout << "Введённое число: " << num << " находится в массиве array[" << j << "]" << endl;
delete [] array; // Освобождаем память
cin >> z;
return 0;
}
P.S. Результат перевода на Pascal жду в этой теме. :)
pasha2009k
12-05-2010, 10:05
азное - Всё о TURBO PASCAL (обсуждение, помо
Среда програмирования: ABS Pascal
Задача: Пусть задано 10 русских имён. Проверьте все ли имена написаны с прописной буквы, если нет,то исправте ситуацию.
Если можно то задачку в лс!
Заранее спасибо.
Если можно то задачку в лс!»и кофе тоже подать?
Задача для первоклассника. Проверяете первую букву имени и если она в нижнем регистре, то переводите её в верхний. В чём трудность-то?
Пожалста,Напишите программу,которая считывает данные из текстового файла,содержащего одномерный массив произвольной длины,отображает данные в виде графика,вычисляет количество элементов в массиве,среднее значение, среднее квадратичн.отклонение и выводит полученн.результаты на экран. Срочно надо.
Glareone
17-07-2010, 03:50
Пожалста,Напишите программу,которая считывает данные из текстового файла,содержащего одномерный массив произвольной длины,отображает данные в виде графика,вычисляет количество элементов в массиве,среднее значение, среднее квадратичн.отклонение и выводит полученн.результаты на экран. Срочно надо. »
на каком языке надо написать?ничего особенного в задаче нету.
1)посимвольное чтение из файла до пробела,преобразование из цифр в число.
2) перевыделение памяти для массива, добавление нового числа (вместо перевыделения можно подсчитать общее кол-во элементов в файле с помощью цикла while(!eof) и уже выделить необходимое кол-во )
3) график можно нарисовать с помощью символов( * - | ) не прибегая к использованию регистров или graph.h
4) остальные задачи-математические на 2 строки.
Прога на паскале,мне поставили срок до завтра.Выручите? Это при устройстве на работу меня решили проверить,а я подзабыл уже,2года назад отучился.
Mercenary13
06-12-2010, 09:34
Помогите решить задачу, буду очень благодарен.
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан типизированный файл f, содержащий сведения об учениках школы:
а) выяснить, имеются ли однофамильцы в каких-либо параллельных классах;
б) выяснить, имеются ли однофамильцы в каком-нибудь классе;
в) выяснить, имеются ли однофамильцы в каких-либо параллельных классах у которых совпадает и имя и фамилия;
г) выяснить, имеются ли однофамильцы в каком-нибудь классе, у которых совпадает и имя и фамилия;
д) выяснить, в каких классах насчитывается более 35 учащихся;
love_molly
10-04-2011, 23:06
кто-нибудь,помогите с процедурой
задание №6
http://cs5299.vkontakte.ru/u2468438/110099644/z_14c689e1.jpg
love_molly, ну и пиши прямым текстом, что тебя смущает?
Пересчитать все значения по строкам, пересчитать все строки, каждый элемент возвести в квадрат и просуммировать. Из полученного значения вычислить корень. Где сложность?
Привет, ребят. мне надо зачет получать, а я не шарю в программировании вообще. Помогите решить задачи:
1http://puu.sh/aZlK
2http://puu.sh/aZm2
3http://puu.sh/aZm7
4http://puu.sh/aZmj
5http://puu.sh/aZmm
6http://puu.sh/aZmt
Заранее спасибо
Lksen,
1. Нужны решения в псевдокоде. Ну или хотя бы ручкой на листе бумаги.
2. тригонометрические функции считать в градусах или в радианах?
3. 6ое задание, как самое интересное - твои мысли, наш код. Не иначе.
1. Нужны решения в псевдокоде. Ну или хотя бы ручкой на листе бумаги. »
В смысле "псевдокоде"? уже решенное или как?
2. тригонометрические функции считать в градусах или в радианах? »
Скорей всего в градусах
3. 6ое задание, как самое интересное - твои мысли, наш код. Не иначе. »
Не понял. Это задание я списал с книжки, дословно оно звучит вот так:
1.56
Пусть x1, x2 - действительные корни квадратного уравнения. Вычислить коэфицент этого уравнения.
1.57
Решить 1.56 в случае комплексно сопряженных корней.
Скажите поподробней, что я должен сделать, а то ничего не понимаю. Вылететь с первого же курса как то...
Lksen, В смысле "псевдокоде"? уже решенное или как? »
конечно решенное!
Вы сдаете собственные измышления, а не наши коллективные. Соотв. вы думаете "Как" решать задачу, а мы лишь помогаем с реализацией.
Скорей всего в градусах »
ЕМНИП Pascal по умолчанию работает с радианами. Напомни плиз, как из этих в те перевести?
Скажите поподробней, что я должен сделать »
Про задание я понял, к формулировкам претензий нет. Просто через две точки корней уравнения можно провести бесконечное множество парабол. Какую из них выбрать?
Соотв. вы думаете "Как" решать задачу, а мы лишь помогаем с реализацией »
У меня в первые дни был как то "прорыв", я мог решать задачки по паскалю, но потом пошло введение в проф деятельность, а там нужно решать физические (физика) и геометрические (геометрия) задачи на паскале, а в школе у меня были двойки за эти предметы..
1)
program pr1;
const a=0.5;
var b,x,u,f:real;
Begin
write('Введите значение b,x:');
readln(b,x);
U:=((a*a)*x+exp(-x*ln(e)*cps*b*x))/((b*x-exp(-x*ln(e)*cos*b*x+1));
f:=exp(2*x*ln(e)*ln(a+x)-exp(3*x*ln(b)*ln(b-x);
writeln ('U=',U:5:3,' f=',f:5:3);
readln;
End.
И получились у меня
U=-0,082 и f=-2,905
Это была первая работа, которую надо было сдать, делал ещё когда этот "прорыв" был, а после уже потенциал пропал...
Как делать остальные даже догадок нет, не то, что "что-то решенное". :(
ЕМНИП Pascal по умолчанию работает с радианами. Напомни плиз, как из этих в те перевести? »
На просторах интернета нашел следующее, может поможет..
uses crt;
var Rd,Gr,G,M,S:real;GMS:string;
begin
clrscr;
write('Rd=');readln(Rd);
Gr:=Rd*180/pi;
G:=int(Gr);
M:=int(frac(Gr)*60);
S:=frac(frac(Gr)*60);
Write(Rd:4:2,'rad= ',G:3:0,'gr ',M:3:0,'min ',S:3:1,'sec');
readln
end.
Про задание я понял, к формулировкам претензий нет. Просто через две точки корней уравнения можно провести бесконечное множество парабол. Какую из них выбрать? »
Не знаю. Я вообще мало что понимаю в этом языке и что нужно. Там я два задания переписал из учебника дословно, ничего помимо этого там не написано.
Формулы не могу сделать
2)
program pr2;
var z,a:real;
i,n:integer;
Begin
writeln('Введите а,n:');
readln(a,n);
\\Здесь формулы//
writeln('i=,.i,' z=',z:5:3);
end;
readln;
end.
Помогите пожалуйста решить, мне работы уже завтра сдавать нужно, ибо - незачет :(
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.