Тролль Опубликовано 19 апреля, 2009 Жалоба Поделиться Опубликовано 19 апреля, 2009 AutoGen: Delphi у меня не установлен, так что оформление ввода-вывода текста - твоя задача, а не до конца понимаю логику - это несложно. Программа обработки данных (принято, что входные данные в файле fi.txt, а результат программа выводит в файл fo.txt) будет выглядеть так: var fi,fo:text; s,sp,si:string; i:integer;beginassign(fi,'fi.txt'); reset(fi); assign(fo,'fo.txt'); rewrite(fo);while not eof(fi) do begin readln(fi,s); sp:=''; si:=''; for i:=1 to length(s) doif s[i]in['!','.',',',';',':','?','-'] then sp:=sp+s[i] else si:=si+s[i]; s:=si+sp; writeln(fo,s); end;close(fi); close(fo);end. Ссылка на комментарий Поделиться на другие сайты Поделиться
AutoGen Опубликовано 19 апреля, 2009 Жалоба Поделиться Опубликовано 19 апреля, 2009 Спасибо огромное, постараюсь успеть.... Но если кто сделает полностью буду благодарен, просто кроме ЯИСПа у меня и матан и комп.графика OpenGL)))) а сдавать до среды все %) PS всех с праздником Ссылка на комментарий Поделиться на другие сайты Поделиться
Mike497 Опубликовано 20 апреля, 2009 Жалоба Поделиться Опубликовано 20 апреля, 2009 Тролль, и вновь здраствуйте!:) У меня в очередной раз назрели задачки по Паскалю... Расчитываю на вашу помощь: 1. В молочный магазин привезли сметану: - развесную с указанием общего веса и цены за 1 кг; - в упаковке по 250 и 500 г с указанием стоимости упаковки. Определить: - общий вес партии товара; - количество упаковок по 500 г; - стоимость всех упаковок по 250 г. - задача на записи с вариантами. 2. Разработать функцию, которая отсекает из данного числа с заданным количеством символов N (N высчитывает функция сама) заданное количество цифр (например 3). Причём принимает в качестве параметра опцию, отсекать младшие или старшие разряды. Разработать функцию/процедуру, которая складывает сумму двух трёхзначных чисел. Используя данные функции/процедуры, написать программу, которая складывает числа, у которых количество символов >= 6. - задача на процедуры/функции. Поможете?! ;) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 20 апреля, 2009 Жалоба Поделиться Опубликовано 20 апреля, 2009 Mike497: Это задачки не по Паскалю. Это задачки по русскому языку. Похоже на машинный перевод, но хуже. Вдумайся: привезли сметану в упаковках по 250 и 500 г по такой-то цене за упаковку. Определить, сколько упаковок привезли. Я не кладовщик, но сколько упаковок сметаны привезли, должно стоять в приемо-сдаточной ведомости, а если нет, то этого ни одна программа не определит. Вторая задача немногим лучше. Функция, отсекающая из числа с заданным количеством символов заданное количество цифр. Что это такое? Притом заданное количество символов функция высчитывает сама. Это как? Или - или. Или задано, или высчитывает сама. Дальше "сложить сумму двух трехзначных чисел". Это на каком языке? И, наконец, используя данные функции, написать программу, которая складывает числа. Единственное, что тут понятно - "написать программу, которая складывает числа". Ссылка на комментарий Поделиться на другие сайты Поделиться
Mike497 Опубликовано 20 апреля, 2009 Жалоба Поделиться Опубликовано 20 апреля, 2009 вот и я примерно про то же своему преподу впаривал...)) ну да ладно... всё равно спасибо за поддержку!)) Ссылка на комментарий Поделиться на другие сайты Поделиться
Radu Опубликовано 21 апреля, 2009 Жалоба Поделиться Опубликовано 21 апреля, 2009 Тролль привет. У меня опять к тебе просьба мне помочь. Значит такой вопрос.Как пощитать в паскале(Тип данных File) сколко раз W.Starea=0 Вот програмка Program BazeleProg; Uses crt; Type Student=Record Num:integer; Starea:0..1; Nume:string; Zile:integer; Plata:real; End; FisierStud=File of Student; Var FS:FisierStud; n:integer; W:student; s:string; Key:1..5; Procedure Creare(m:integer; c:string); Var i:integer; Begin Assign(FS, c); Rewrite(FS); For i:=1 to m do Begin Writeln('Dati informatia despre odaia ',i); Writeln; Write('Numarul odaii: '); Readln(W.Num); Write('Starea(1-ocupat,0-liber): '); Readln(W.Starea); if W.Starea=1 then begin Write('Numele si Prenumele: '); Readln(W.Nume); Write('Nr.de Zile: '); Readln(W.Zile); Write('Plata: '); Readln(W.Plata); end; Writeln; write(FS,W); End; Close(FS); End; Procedure Afisare; Begin Reset(FS); While not EOF(FS) do Begin Read(FS, W); Writeln('Numarul odaii: ',W.Num); Writeln('Starea(1-ocupat,0-liber): ',W.Starea); if W.Starea=1 then begin Writeln('Numele si Prenumele: ',W.Nume); Writeln('Nr.de zile: ',W.Zile); Writeln('Plata: ',W.Plata); end; Writeln; End; Close(FS); End; Procedure OdaiOcup; begin Reset(FS); while not EOF(FS) do begin Read(FS, W); if W.Starea=1 then begin Writeln('Numarul odaii: ',W.Num); Writeln('Numele si Prenumele: ',W.Nume); Writeln('Nr.de zile: ',W.Zile); Writeln('Plata: ',W.Plata); Writeln; end; end; Close(FS); end; Procedure OdaiLib; var t:integer; begin Reset(FS); while not EOF(FS) do begin Read(FS, W); t:=0; {В начале их 0} if W.Starea=0 then {Если W.Starea=0 тогда} begin Writeln('Numarul odaii: ',W.Num); t:=t+1; {число = число+1} Writeln(t); {Число=...} Writeln; end; end; Close(FS); end; Begin Clrscr; Writeln; Writeln; Repeat Writeln('Selectati optiunea: '); Writeln; Writeln('1.Crearea fisierului'); Writeln('2.Afisarea continutului fisierului'); Writeln('3.Odai ocupate'); Writeln('4.Odai libere'); Writeln('5.Iesire din program'); Readln(key); Case key of 1: Begin Write('Dati numele fisierului de creat: '); Readln(s); Write('Dati numarul de Studenti: '); Readln(n); Creare(n,s); End; 2: Afisare; End; case key of 3: OdaiOcup; end; case key of 4: OdaiLib; end; until key=5; end. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 21 апреля, 2009 Жалоба Поделиться Опубликовано 21 апреля, 2009 Radu: t обнуляется при чтении каждой записи, а следует, насколько я понял, обнулять t только в начале чтения файла, перед while. Ссылка на комментарий Поделиться на другие сайты Поделиться
koketka15 Опубликовано 22 апреля, 2009 Жалоба Поделиться Опубликовано 22 апреля, 2009 сформировать из заданной строки новую по правилу: в каждом слове перенести последнюю букву в начало слова. помогите!!! очень надо! последняя лаба((( Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 22 апреля, 2009 Жалоба Поделиться Опубликовано 22 апреля, 2009 (изменено) koketka15: var t:string; i,j:integer; c:char;beginWriteLn('Vvedite tekst ');ReadLn(t); t:=t+' '; j:=1;for i:=2 to length(t) do begin if(t[i-1]<'0')and(t[i]>='0')then j:=i; if(t[i-1]>='0')and(t[i]<'0')thenbegin c:=t[j];t[j]:=t[i-1];t[i-1]:=c end end;WriteLn(t); ReadLnend. Стоп, заметил, что невнимательно прочитал условие: надо было перенести последнюю букву в начало слова, а я поменял первую и последнюю буквы местами. Правильный вариант будет выглядеть, например, так: var t:string; i,j,k:integer;beginWriteLn('Vvedite tekst ');ReadLn(t); k:=0; t:=t+' ';for i:=1 to Length(t) do if t[i]>='0' then k:=k+1 else begin if k<>0 then begin Write(t[i-1]); for j:=i-k to i-2 do Write(t[j]); k:=0 end; Write(t[i]) end;WriteLn; ReadLnend. Изменено 22 апреля, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
AutoGen Опубликовано 22 апреля, 2009 Жалоба Поделиться Опубликовано 22 апреля, 2009 Тролль: Help!!! плиз набросай задачку, ну не успеваю я.....а здавать нуно уже завтро.... Условие задачи: Дан текстовый файл А. Переписать его содержимое в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания. вот условие...... плииз выручи студента рас3.14здяя Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 22 апреля, 2009 Жалоба Поделиться Опубликовано 22 апреля, 2009 (изменено) AutoGen: Как консольное приложение я тебе уже текст программы дал раньше. А как оконное... разве что парой ударов топора. Красиво оформлять лабораторную можно только от большого безделья. Благодари Darth Emil, взял у него заготовку. P.S. В полях Memo можно прямо печатать, можно загружать из файла и запоминать в файл соответствующими кнопками. Преобразование текста из первого поля во второе выполняется кнопкой Execute. pr.zip pr.zip Изменено 22 апреля, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
AutoGen Опубликовано 23 апреля, 2009 Жалоба Поделиться Опубликовано 23 апреля, 2009 спасиба огромное сдал все задачи=) Ссылка на комментарий Поделиться на другие сайты Поделиться
Radu Опубликовано 24 апреля, 2009 Жалоба Поделиться Опубликовано 24 апреля, 2009 Тролль: спасибо, щяс все работает! Ссылка на комментарий Поделиться на другие сайты Поделиться
-=vitek=- Опубликовано 24 апреля, 2009 Жалоба Поделиться Опубликовано 24 апреля, 2009 помогите сделать плз задачки в бэйсике очень надо ато экзамен не сдать: 1. дано натуральное число N вывести на экран все числа , следующие за простыми делителями этого числа 2. дано натуральное число, поменять порядок цифр в нем на обратный 3. упорядочить массив x(n) в порядке убывания и вывести на экран полученный и исходный массивы 4. дана матрица x(m,n) натуральных чисел. упорядочить ее строки по неубыванию произведению элементов строк. вывести исходную и полученную матрицы. ой в последней задаче надо по неубыванию произведения!) Ссылка на комментарий Поделиться на другие сайты Поделиться
Ф@РТОВЫЙ Опубликовано 24 апреля, 2009 Жалоба Поделиться Опубликовано 24 апреля, 2009 (изменено) -=vitek=-: во-первых, разновидностей бейсика много и одн и тот же код в них часто различается, что понял сделаю под qBasic/FreeBasic большинство учебных заведений использует именно их 1. непонял фразу "все числа , следующие за простыми делителями этого числа" 2. извлекаем из числа цифры с конца и заносим их в новое число: dim a as long, b as longinput "Введите число", ab = 0do while a >= 10 b = b * 10 b = b + a mod 10 a = a \ 10loopb = b * 10 + aprint "Результат:", b 3. есть множество методов сортировки, при обучении обычно рассматривают метод пузырька: dim x(32767) as integerdim n as integerdim t as integerdim i as integerdim flag as integerinput "Введите размерность массива", nfor i = 0 to n - 1 x(i) = int(rnd * 999) print x(i);nextprintdo flag = 0 for i = 0 to n - 2if x(i) < x(i + 1) then flag = 1 t = x(i) x(i) = x(i + 1) x(i + 1) = tend if nextloop while flag = 1print "Результат:"for i = 0 to n - 1 print x(i);nextprint так же не редко рассматривается метод обмена, если что пишите, переделаем 4. По неубыванию - это значит по возрастанию или как? Сделаем по возрастанию: dim x(32767, 32767) as integerdim n as integer, m as integerdim t as integerdim p1 as long, p2 as longdim i as integer, j as integer, k as integerdim flag as integerinput "Введите кол-во строк", ninput "Введите кол-во столбцов", mfor i = 0 to n - 1 for j = 0 to m - 1x(i, j) = int(rnd * 999)print x(i, j); next printnextdo flag = 0 for i = 0 to n - 2p1 = 1for j = 0 to m - 1 p1 = p1 * x(i, j)nextp2 = 1for j = 0 to m - 1 p2 = p2 * x(i + 1, j)nextif p1 > p2 then flag = 1 for j = 0 to m - 1 t = x(i, j) x(i, j) = x(i + 1, j) x(i + 1, j) = t nextend if nextloop while flag = 1print "Результат:"for i = 0 to n - 1 for j = 0 to m - 1print x(i, j); next printnext Изменено 24 апреля, 2009 пользователем Лорд Дмитрий Ссылка на комментарий Поделиться на другие сайты Поделиться
-=vitek=- Опубликовано 25 апреля, 2009 Жалоба Поделиться Опубликовано 25 апреля, 2009 -=vitek=-: 1. непонял фразу "все числа , следующие за простыми делителями этого числа" [/code] числа, следующие за простыми делителями т.е. например число 14 у него простые делители 7 и 1 а нужны числа, следующие за ними т.е. 8 и 2=) -=vitek=-: во-первых, разновидностей бейсика много и одн и тот же код в них часто различается, что понял сделаю под qBasic/FreeBasic большинство учебных заведений использует именно их 1. непонял фразу "все числа , следующие за простыми делителями этого числа" [/code] например число 14 у него простые делители 7 и 1 а нужны числа, следующие за ними т.е. 8 и 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 25 апреля, 2009 Жалоба Поделиться Опубликовано 25 апреля, 2009 -=vitek=-: DIM n, i, k, p AS INTEGERp = 0: PRINT " n: "; : INPUT nFOR i = 2 TO n IF n MOD i = 0 THENFOR k = 2 TO i IF i MOD k = 0 THEN p = p + 1NEXTIF p = 1 THEN PRINT i + 1;p = 0 END IFNEXTPRINT Ссылка на комментарий Поделиться на другие сайты Поделиться
dimka-xd Опубликовано 26 апреля, 2009 Жалоба Поделиться Опубликовано 26 апреля, 2009 В Qbasic Даны натуральные числа m и n. Получить сумму всех натуральных чисел, являющимися кубами или квадратами целых чисел в диа¬пазоне от m до n. оч надо .... Ссылка на комментарий Поделиться на другие сайты Поделиться
Ф@РТОВЫЙ Опубликовано 26 апреля, 2009 Жалоба Поделиться Опубликовано 26 апреля, 2009 Тролль: бэйсик это не си и не паскаль, и объявлять несколько переменных одного типа через запятую он не умеет :D вместо этого: DIM n, i, k, p AS INTEGER надо так: DIM n AS INTEGER, i AS INTEGER, k AS INTEGER, p AS INTEGER dimka-xd: dim m as integer, n as integer, i as integerdim x as single, s as integerlbl:input "Введите m", minput "Введите n", nif m >= n then print "m должно быть меньше n" goto lblend ifs = 0for i = m to n x = i ^ (1 / 3) if int(x) ^ 3 = i then s = s + i x = i ^ 0.5 if int(x) ^ 2 = i then s = s + inextprint s Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 26 апреля, 2009 Жалоба Поделиться Опубликовано 26 апреля, 2009 (изменено) Лорд Дмитрий: Тролль: бэйсик это не си и не паскаль, и объявлять несколько переменных одного типа через запятую он не умеет Согласен, в моем описании как INTEGER будет объявлена только последняя переменная. Я об этой особенности DIM забыл, спасибо за поправку :D. Но и так, как я написал, синтаксис объявления не нарушается и программа будет работать правильно, хотя выполняться будет медленнее. Изменено 26 апреля, 2009 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Mike497 Опубликовано 27 апреля, 2009 Жалоба Поделиться Опубликовано 27 апреля, 2009 Тролль!Пожалуйста, выручайте! Задача на динамическую память и линейные списки: Создать текстовый файл, состоящий из записей, имеющих заданную структуру (см. ваш вариант). Написать программу, решающую следующие задачи: 1) Занесение записей из файла в линейный список. Должна быть поддержка считывания как из текстового так и типизированного файла. 2) Вывод на экран сформированного линейного списка. 3) Поиск в линейном списке и вывод на экран записей по заданному полю. 4) Удаление из списка записей в соответствии с заданием. 5) Вывод на экран оставшегося линейного списка. 6) Упорядочение линейного списка по заданному полю. 7) Вывод упорядоченного списка на экран. 8) Вставка записей в линейный список. 9) Вывод окончательного списка на экран и запись его в новый файл. Все выводимые на экран и в файл результаты должны быть снабжены заголовками, поясняющими этот результат и оформлены в виде таблиц. Вариант: http://foto.tut.by/image/big/1113035.html Поиск в линейном списке и вывод на экран записей о всех книгах, изданных до 1985 года. Удаление из списка записей о книгах, с фамилией автора “Иванов”. Упорядочение линейного списка по убыванию года издания. Вставка записей в список без нарушения упорядочения по году издания. Тролль!Вы моя последняя надежда! Ссылка на комментарий Поделиться на другие сайты Поделиться
-=vitek=- Опубликовано 27 апреля, 2009 Жалоба Поделиться Опубликовано 27 апреля, 2009 напишите программу в паскале. которая бы рисовала идущие часы с часовой секундной и минутной стрелкой. как настоящие, пожалуйста Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 27 апреля, 2009 Жалоба Поделиться Опубликовано 27 апреля, 2009 -=vitek=- Настоящие часы у меня обычно цифровые... И примеры программ-часов и в учебниках приводятся, и в Интернете можно чуть-чуть пошарить... Например, вот готовая программа (автор - s-mike, больше ничего о нем не знаю). Clock.zip Clock.zip Ссылка на комментарий Поделиться на другие сайты Поделиться
strekoza Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 Shurr: привет! нужно очень очень срочно решить задачку! помогите кто-нибудь! :) полторы кошки за полтора часа сьедают полторы мышки. сколько мышек сьедят Х кошек за Y часов? а) составить математическую модель б)построить блок-схему в)оформить решение программы на Паскале г)записать результат тестирования программы за ранее очень очень благодарна!!! :) Ссылка на комментарий Поделиться на другие сайты Поделиться
core_st Опубликовано 28 апреля, 2009 Жалоба Поделиться Опубликовано 28 апреля, 2009 Подскажите кто-нибудь как на форме в Builder сделать перехват кнопок. Я так понимаю что для формы пишется функция и ставится на OnKeyPress . Но какие параметры должны быть у етой функции? Как например сделать занесение нажатых цифр в StaticText1 ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти