Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Турбо Паскаль. Программирование на 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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]
Модераторы: paradise, KMA
  

EdMa



Новичок

где можно найти краткий справочник по турбо паскалю и примеры решения задачь???

Всего сообщений: 1 | Присоединился: июнь 2007 | Отправлено: 21 июня 2007 16:03 | IP
KMA



Долгожитель


ПОЖАЛУЙСТА ПОМОГИТЕ! составить блок-схему для каждой процедуры отдельно.


Ищи в данном форуме, там специальная тема есть "Блок-схемы", там ссылки и обсуждение программ которые по исходному коду строят блок-схемы.


юди!!! Помогите решить задачи по Паскалю!!! Плиииииииииз
1. Дано число n и n целых чисел. Найти среднее арифметическое проложительных чисел
2. Дано число n и n целых чисел. Найти максимальный элемент и его номер



И не надоедает вам повторять одни и те же задачи? По форуму поищите, встречалось миллион раз.


где можно найти краткий справочник по турбо паскалю и примеры решения задачь???


Везде. Реально во всех книгах есть разобранные типовые задачи, а краткий справочник, я бы посоветовал "Т. Павловская. Карманный справочник Паскаль". Смотри так же по и-нету, воспользуйтесь поисковиком (yandex, google) он выдаст вам немеренное количество ссылок по заданной литературе, которую можно скачать бесплатно практически со всех перечисленных сайтов. Готовые ссылки вряд ли кто-то будет сюда писать. У каждого свои вкусы и предпочтения.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 21 июня 2007 20:01 | IP
Denny61



Новичок

Доброе время суток! Задача:  Сост программу обеспечивающую ввод текста вида "Мама на рынке купила три килограмма бананов по цене тридцать пять рублей за килограмм... " ну и т.д в файл, а затем анализируя текст вывести сумму всех покупок (т.е сколько денег мама потратила)  так вот преобразовать слова в цифры понятно как, а вот как сделать так что бы пр-ма складывала в два массива рубли к рублям а килограммы к килограммам не понятно, сделал это на Си препод не принял... только на Паскале (((

Всего сообщений: 1 | Присоединился: июнь 2007 | Отправлено: 26 июня 2007 12:22 | IP
Guest



Новичок

ОЧЕНЬ СРОЧНО! Послезавтра уезжаю, не успеваю доделать задания по паскалю! Ужас, 10 штук осталось 4, два знаю как, а вот ещё два, не получается и все!!! ПОМОГИТЕ!!!
1. Закрасить все области, образованные окружностью и вписанным квадратом различными цветами, радиус окружности вводится при запуске программы.
2. Написать программу, выводящую на экран график функции sin(x) при изменении аргумента от -пи до пи с шагом 0,1пи, вывести график в декартовой системе координат так, чтобы он занимал весь экран по ширине и 0,5 экрана по высоте. график рисуется при помощи отрезков/
Ответьте пожалуйста на мыло anomaly_7@mail.ru

Всего сообщений: Нет | Присоединился: Never | Отправлено: 26 июня 2007 16:27 | IP
Guest



Новичок


Доброе время суток! Задача:  Сост программу обеспечивающую ввод текста вида "Мама на рынке купила три килограмма бананов по цене тридцать пять рублей за килограмм... " ну и т.д в файл, а затем анализируя текст вывести сумму всех покупок (т.е сколько денег мама потратила)  так вот преобразовать слова в цифры понятно как, а вот как сделать так что бы пр-ма складывала в два массива рубли к рублям а килограммы к килограммам не понятно, сделал это на Си препод не принял... только на Паскале (((


Очень просто =) После цифры смотришь слово, скажем килограмм, значит и складываешь килограммы, если рубли, значит и складываешь рубли.

Смотри ищешь цифру, нашел, далее ищешь слово, скажем килограмм, значит это килогрыммы =) Думаю логично. Далее ищешь цифру, нашел, после нее слов рубль, значит это рубли... Тут дело в том, что должен четко организованный ввод быть, иначе все не просчитает даже великий программист.

Всего сообщений: Нет | Присоединился: Never | Отправлено: 28 июня 2007 0:11 | IP
Guest



Новичок

Хе фишка то вся в том что цифры пишутся словами)))  т.е три, четыре, триста пятьдесят восемь))) если просто три то не вопрос, а вот четыреста семьдесят пять...

Всего сообщений: Нет | Присоединился: Never | Отправлено: 30 июня 2007 0:33 | IP
Blizkrieg



Новичок

  Здравствуйте. Имею дело со следующей задачей:
Пусть вводится последовательность чисел в диапозоне от 0 до 255. Признак конца последовательности - 0. Вывести на экран эту последовательность. (Прошу прощения за откровенный примитивизм, задача звучит серьезней, но проблема возникает именно на начальной стадии)
  А именно, возникающая проблема: как задать одномерный массив с плавающей верхней границей? То есть я хочу, чтобы мой одномерный массив заполнялся до тех пор, пока из всех случайных чисел не выпадет число 0. Но описание массива и его размера произодвится раньше, в разделе описаний, и ссылка на некоторое число N, которое определиться далее, во время выполнения программы,естественно приводит к ошибке.    То есть, программа, составленная следующим образом, не работает:

{---------------------------}
program posl;
uses crt;
var
  a:array [1..N] of Integer; {N-плавающая граница}
  k,N:Integer;
Begin
  Randomize;
  Clrscr;
  Repeat
     k:=k+1;
     a[k]:=Random(256);
     write(a[k],'  ');
     if a[k]=0 then N:=k;
  Until a[k]=0;
End.
{-----------------------------}

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

{-----------------------------}
Program posl1;
uses crt;
Procedure Cplx (aArray : array of Integer);
var
  k: Integer;
begin {Cplx}
  k:=0;
  repeat
  k:=k+1;
  aArray[k]:=Random(256);
  write(aArray[k],'  ');
  until aArray[k]=0;
end; {Cplx}
var
  aArray:array [1..?] of Integer;
begin
  Randomize;
  ClrScr;
  Cplx(aArray);
end.
{------------------------------}

  При подстановке любого конечно числа вместо знака "?" программа успешно работает, НО я изначально не могу знать этого числа, не могу знать на какой номер выпадет ноль. Я знаю, что в Си существует так называемый динамический массив, границы которого определяются в процессе работы программы. Существует ли нечто похожее в Турбо Паскале?
Если существует, то как реализовать создание массива с верхней границей, определямой в процессе прогона программы?
Заранее благодарен.

Всего сообщений: 1 | Присоединился: июнь 2007 | Отправлено: 30 июня 2007 17:19 | IP
KMA



Долгожитель


Хе фишка то вся в том что цифры пишутся словами)))  т.е три, четыре, триста пятьдесят восемь))) если просто три то не вопрос, а вот четыреста семьдесят пять...


И что??? Вас это пугает? Хочу заменить одну вещь, разница только в еденицах, десятках и сотнях, дальше все повторяется. Вот смотри:
один - 1
два(е) - 2
три - 3
и т. д.
десять - 10
одиннадцать - 11
двенадцать - 12
и т. д.
двадцать - 20
тридцать - 30
сорок - 40
и т. д.
сто - 100
двести - 200
триста - 300
четыресто - 400
и т. д.
тысяча - 1000
две тысячи, это два помноженное на тысячу.
соответственно миллион и милиард, больше думаю не надо.

Есть слово, две тысячи тристо два рубля. Соответственно твой алгоритм, ищешь слово единиц, десятков или сотни, далее смотришь следующее слово, и домнажаешь его на тысячи, или милиарды и т. д. Потом опять ищешь слово единиц, десятков или сотен, и опять эту цифру домножаешь на следующее слово (если оно есть) обозначающее тысячи миллионы, милиарды и т. д. И складываешь с предыдущим вариантом, итак пока не встретиться слово "руб"... и т. д. Никакой сложности, но описывать много... Если так надо могу код привести.



дравствуйте. Имею дело со следующей задачей:
Пусть вводится последовательность чисел в диапозоне от 0 до 255. Признак конца последовательности - 0. Вывести на экран эту последовательность. (Прошу прощения за откровенный примитивизм, задача звучит серьезней, но проблема возникает именно на начальной стадии)...



Конечно же такая реализация есть. Надо четко заметить одно правило: язык программирование это всего лишь интерпретация инструментария для решения алгоритмических задач. Поверь, все языки (современные) это умеют, и динамические массивы существуют.

Вот только вопрос стоит в том, что действительно ли тебе нужен этот динамический массив, ведь что он по сути делает. Он берет память из стека, и отводит под свои нужды. А стек, это грубо говоря, память отводимая всей программе (т. е. в ней храняться адреса возврата из процедур, функций, адреса возврата в ОС, временные данные и много еще всего) и он не резиновый, он может быть исчерпан. Одно дело, приятно, когда ты знаешь, что работать с большими данными ты не будешь, и можешь взять себе стек в помощники, другое дело, когда ты не знаешь сколько данных вообще, вот тогда, действительно проблема. Прикинь у тебя скажем массив из целых чисел, т. е. это 2 байта на один элемент, увеличиваешь ты массив на один элемент, значит в стеке ты потерял 2 байта, это нормально, а теперь представим, что под нашу программу отводиться скажем 128 двойных слов (128*4 байта), а у тебя тысяча элементов =). Тогда твой программа зависнет и монитор будет лучиться всевозможными звездочками, лучиками и изрыгать страшные фразы, а причина тому одна "переполнение стека".

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

Заранее определяешь размер массива, скажем 1000 элементов

cont n=1000;
Type Tmas=array [1..n] of integer;

Далее зададим массив, и переменную, которая определит на сколько элементов массив заполнился:
Var a: Tmas;
     size_a: word;
Далее предоставляем вводиться данные:

size_a:=0;
while (a[size_a]<>0) or (size_a<>n) do
begin
  inc (size_a); {size_a:=size_a+1}
  write ('Введите число (0 выход) ->');
  readLn (a[size_a]);
end;

Тогда количество элементов в массиве будет определено в переменной size_a.

Про динамические надо писать?  

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 3 июля 2007 1:10 | IP
Q123QQQ


Новичок

Блин срочно надо решить помогите: Из диопозона целых чисел m..n выделить. 1)множество целых чисел,деляшихся без остатка на K,или на L (K,L- простые).  2) множество чисел деляшихся на K*L без остатка.
Заранее спасибо.

Всего сообщений: 1 | Присоединился: сентябрь 2007 | Отправлено: 8 сен. 2007 14:37 | IP
BreaD



Новичок

Народ оч срочно надо плиз решите задачку! "Среди заданных целых чисел k,l,m найти пары кратных

Всего сообщений: 1 | Присоединился: сентябрь 2007 | Отправлено: 26 сен. 2007 0:46 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 ]

Форум работает на скрипте © Ikonboard.com