Убедительная просьба ко всем, кто выкладывает исходники: 1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы
Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!
Прежде чем задать вопрос, воспользуйтесь учебником
Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36
Member
Статус: Не в сети Регистрация: 21.10.2003 Откуда: Брест Фото: 47
GreatOne Лови первую:
Код:
Const xz : array [1..12] of byte = (31,28,31,30,31,30,31,31,30,31,30,31); Var S, st : string; i, dd, mm : byte; code, gg : integer; Begin st:=''; i:=1; Write('Введите текущую дату (в формате дд.мм.гггг) : '); ReadLn(S); While S[i]<>'.' do Begin st:=st+s[i]; inc(i); End; inc(i); val(st, dd, code); st:=''; While S[i]<>'.' do Begin st:=st+s[i]; inc(i); End; inc(i); val(st, mm, code); st:=s[i]+s[i+1]+s[i+2]+s[i+3]; val(st, gg, code); {сегодня} If (dd=1) and (mm=1) then WriteLn('С Новым Годом!') else If dd=xz[mm] then WriteLn('Сегодня последний день месяца!') else If dd=1 then WriteLn('Сегодня первый день месяца!'); {завтра} if dd=xz[mm] then Begin dd:=1; if mm=12 then Begin mm:=1; inc(gg); Write('С наступающим Новым Годом!.. '); end else inc(mm); End else inc(dd); {=} WriteLn('Завтра ',dd,'.',mm,'.',gg); WriteLn; End.
Написано далеко не идеально... но работает
_________________ А ещё недавно ждали AMD Steamroller на AM3+
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
GreatOne Вот
Задание №3
Код:
program laba3; uses crt; const n=10; var A: array [1..n] of integer; i, j, ed, des: integer; flag, flag2: boolean; begin clrscr; randomize; writeln('Исходный массив:'); write('['); for i:=1 to 10 do begin a[i]:=random(70)-40; write(' ',a[i]); end; writeln(' ]');
i:=0; flag:=true; while flag do begin inc(i); ed:=abs(a[i])-abs(a[i] div 10)*10; des:=abs(a[i] div 10); if des=0 then begin for j:=i to n-1 do a[j]:=a[j+1]; a[n]:=0; flag2:=false; for j:=i to n do if a[i]=0 then flag2:=true; if not flag2 then i:=i-1; end else if ed=des then begin for j:=i to n-1 do a[j]:=a[j+1]; a[n]:=0; flag2:=false; for j:=i to n do if a[i]=0 then flag2:=true; if not flag2 then i:=i-1; end;
if i>=n then flag:=false; end;
writeln('Обработанный массив:'); write('['); for i:=1 to 10 do write(' ',a[i]); writeln(' ]'); end.
Задание №4
Код:
program laba4; uses crt; const n=10; var A: array [1..n] of integer; i, j, ed, des, k, l, negative: integer; begin clrscr; randomize; l:=1; write('Введите число k '); readln(k); writeln('Исходный массив:'); write('['); for i:=1 to 10 do begin a[i]:=random(70)-40; write(' ',a[i]); end; writeln(' ]');
for i:=1 to n do begin ed:=abs(a[i])-abs(a[i] div 10)*10; des:=abs(a[i] div 10); if a[i]>=0 then negative:=1 else negative:=-1; if (l=ed) or (l=des) then if des=0 then a[i]:=negative*k*10+a[i] else a[i]:=negative*k*100+a[i]; end;
writeln('Обработанный массив:'); write('['); for i:=1 to 10 do write(' ',a[i]); writeln(' ]'); end.
Задание №6
Код:
program laba6; uses crt; type R2DArray = array [1..10,1..10] of real; var i, j, n, m, r : integer; A, B, C: R2DArray;
procedure MultiplyMatrixes(n : Integer; m : Integer; k : Integer; const A : R2DArray; const B : R2DArray; var C : R2DArray); var I : Integer; J : Integer; L : Integer; begin i:=1; while i<=n do begin j:=1; while j<=k do begin c[i,j] := 0; l:=1; while l<=m do begin c[i,j] := c[i,j]+a[i,l]*b[l,j]; Inc(l); end; Inc(j); end; Inc(i); end; end;
begin clrscr; n:=2; m:=3; r:=4; randomize; for i:=1 to 2 do for j:=1 to 3 do A[i,j]:=random(500)/10; for i:=1 to 3 do for j:=1 to 4 do B[i,j]:=random(500)/10;
MultiplyMatrixes(n,m,r,A,B,C);
writeln('A= '); for i:=1 to 2 do begin for j:= 1 to 3 do write(A[i,j]:4:2,' '); writeln; end; writeln; writeln('B= '); for i:=1 to 3 do begin for j:= 1 to 4 do write(B[i,j]:4:2,' '); writeln; end; writeln; writeln('Результат умножения матриц C= '); for i:=1 to 2 do begin for j:= 1 to 4 do write(C[i,j]:4:2,' '); writeln; end;
end.
По остальным требуется уточнение:
Задание №7 Откуда брать данные? Из файла? Или в программу от балды забивать? (Или вообще ввод с клавы сделать?)
Задание №8 Формат файла? (произвольный или задан?)
Задание №9 Нужны формулы искать самому вломак
Добавлено спустя 4 минуты, 42 секунды: На каракули в прогах внимания не обращай (ето кириллица ), когда паскалем откроешь все ок будет.
Добавлено спустя 1 час, 33 минуты, 8 секунд: Посмотрел повнимательнее на 9-е задание - формулы врядли понадобятся
Его реально рисовать нужно? Офигеть это уже прям курсовик какой-то. Не то чтобы сложно, просто запорно очень, проекции надо строить и т.д...
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Последний раз редактировалось Lord_of_Darkness 11.06.2005 12:43, всего редактировалось 1 раз.
Lord_of_Darkness ВАУ! СПАСИБО!
В задании 7 данные брать с балды. Да,вспоминаю,там типа вводишь.
Задание 8 тоже с балды(сам придумываешь),фалйл проивольный кажися...
Задание 9... нашёл
Цитата:
Теорема: Объем прямой призмы равен произведению площади основания на высоту.
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
GreatOne №7
Код:
program laba7; uses crt; type TAbiturient = record Family: string; Mark: byte; end; var Abiturients: array [1..50] of TAbiturient; i, n: integer; flag: boolean; YN: char; begin clrscr; flag:= true; i:=0; while flag do begin inc(i); write('Введите фамилию ',i,'-го абитуриента : '); readln(Abiturients[i].family); write('оценка за первый экзамен: '); readln(Abiturients[i].mark); write('Продолжить ввод? (Y/N) '); YN:=readkey; if not((YN='y') or (YN='Y')) then flag:=false else writeln;
end; n:=i; writeln; writeln; writeln('Абитуриенты, допущенные ко второму экзамену:'); for i:=1 to n do begin if Abiturients[i].mark>2 then writeln(Abiturients[i].family); end;
readln;
end.
На остальное пока времени нет, надо к экзамену готовится. Может вечерком еще чего сделаю.
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Последний раз редактировалось Lord_of_Darkness 03.05.2006 13:43, всего редактировалось 1 раз.
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
GreatOne Ну как-же "более простой" если русским языком написано
Цитата:
9)В прямой четырёхугольной призме провести сечение, проходящее через сторону нижнего основания под углом 30 градусов.
т.е. надо нарисоват, по крайней мере я думаю, что надо, т.к. как сделать это задание по другому я не представляю
Добавлено спустя 5 часов, 34 минуты, 14 секунд: Задание №8:
Код:
program lab8; uses crt; type TSotrudniki = record FIO : string; Phone : LongInt; end; var Sotrudniki: array [1..50] of TSotrudniki; f: Text; Family: string; sumb, continuesearch: char; i, n: integer; begin clrscr; assign(f,'L8BASE.TXT'); reset(f); i:=0; while not EOF(f) do begin inc(i); readln(f,Sotrudniki[i].FIO); readln(f,Sotrudniki[i].phone); end; continuesearch:='д'; while (continuesearch='д') or (continuesearch='Д') do begin write('Фамилия для поиска : '); readln(Family); n:=i; for i:=1 to n do if family=Sotrudniki[i].FIO then begin writeln('Телефон сотрудника "',Sotrudniki[i].FIO,'"'); writeln(Sotrudniki[i].phone); end; write('Продолжить поиск? (Д/Н)?'); continuesearch:=readkey; writeln; end; readln; end.
Файл L8BASE.TXT находится в той-же директории, где и сама программа. Формат файла:
Код:
Фамилия[пробел]ИО[enter] [телефон] ....
Содержание файла L8BASE.TXT:
Код:
Иванов АВ 1224561 Петров ПЮ 2336589 Сидоров ВЕ 5425326 Кузнецов СИ 4812265 Лебедев ПА 5542396 Голубев ВС 3396578 Виноградов ПО 4556923 Смирнов СБ 2354897
Добавлено спустя 3 минуты, 59 секунд: насчет 9-го задания узнай уж, ато очень неохота с графическим режимом и проекциями париться...
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Задачки:
17) дан файл, содержащий текст на русском языке. Найти слово ,встречающееся в каждом предложении, или сообщить, что такого слова нет.
Lord_of_Darkness А вот в 3-ем и 4-ом же сказано в промежутке [-40;30),а я не видел его у тебя в программке,объясни мне,А?
Добавлено спустя 2 минуты, 37 секунд: Lord_of_Darkness НИ ПУХА!
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
Сдал экзамен на отл, написал на радостях такую фигню:
Задание №17:
Код:
program var17; uses crt; var f: text; textstr: string; i, pos, j, numpredl, numslova, kolvopredl, k, wordrep: integer; sumb: char; sortedtext: array [1..20, 1..20] of string[40]; kolvoslov: array [1..20] of integer; flagvstrechi: boolean; begin clrscr; {Файл, в котором находится текст} assign(f,'text.txt'); reset(f); textstr:=''; {Чтение текста в память (строку)} while not EOF(f) do begin read(f,sumb); textstr:=textstr+sumb; end; {Позиция начала слова} pos:=1; {Количество предложений} numpredl:=1; {Количество слов} numslova:=1; {Разбор строки в массив упорядоченного текста sortedtext} for i:=1 to length(textstr) do begin if (textstr[i]=' ') or (textstr[i]=',') or (textstr[i]='.') then begin for j:= pos to i-1 do sortedtext[numpredl,numslova]:=sortedtext[numpredl,numslova]+textstr[j]; pos:=i+1; inc(numslova); end; if (textstr[i]='.') then begin kolvoslov[numpredl]:=numslova-1; inc(numpredl); numslova:=1; end; end; numpredl:=numpredl-1; {Флаг встречаемости слова} flagvstrechi:=false; for i:=1 to kolvoslov[1] do begin {Количество встреч слова в предложениях текста (должно быть равно количеству предложений)} wordrep:=1; for j:=2 to numpredl do for k:=1 to kolvoslov[j] do if sortedtext[1,i]=sortedtext[j,k] then inc(wordrep); if wordrep=numpredl then begin writeln('В каждом предложении данного текста встречается слово "',sortedtext[1,i],'"'); flagvstrechi:=true; end; end; {Если в тексте не встретилось слов, повторяющихся в каждом предложении} if not flagvstrechi then writeln('В данном тексте нет слов, встречающихся в каждом предложении.'); readln; end.
Текст находится в файле text.txt (в одном каталоге с программой). Формат файла text.txt произволный (т.е. по правилам русского языка ), но 1. без переводов строки (Enter) 2. в кодировке DOS (т.е. набирать в паскале или фаре, можно и в нортон коммандере) 3. если слова одинаковые, но одно начинается с прописной букы, а другое с маленькой то слова разные
если надо - дай мыло, вышлю мой text.txt (тот, который я для тестирования проги использовал)
Добавлено спустя 1 минуту, 43 секунды: PS мое мыло в профиле
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Lord_of_Darkness Мог бы конечно на мыло тебе написать,а потом подумал,что может кому-нибудь это будет полезно.
В 3-ей косяк есть,учитель сказал исправить,а я чё-то парился-парился и не получается. Как помню там не удалялись нек-ые числа и ещё чё-то.
В 7-ой учитель сказала чтобы список был,а там по одному получается.
А в 17-ой просто выводится предлодение:"В каждом...слово предложение" и больше ничего.
А с призмой училка говорит,что это вобще просто.Может есть всё-таки какой-то способ?C помощью Line всяких... Завтра нужно сдать . Неудобно конечно тебя доставать но у меня нет друго выхода Спасай уж. Я на сайте твоём был.А ты не хочешь например чтоб я разместил твой баннер на сайте одном.Может хоть чем-нибудь тебе услужить
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
GreatOne
Цитата:
А ты не хочешь например чтоб я разместил твой баннер на сайте одном.
поткуп ... спасибо конечно, но сайт предоставлен на самостоятельную раскрутку, т.е. кому понравилось - сказал другому и т.д. это не коммерческий проект и количество посетителей по большому счету роли не играет, главное чтобы кому-нибудь прикодилось то, что там есть
Цитата:
Как помню там не удалялись нек-ые числа и ещё чё-то.
Какие конкретно?? Ладно проверю.
Цитата:
А в 17-ой просто выводится предлодение:"В каждом...слово предложение" и больше ничего.
Так а что надо? вроде задание было вывести слово, встречающееся в каждом предложении, так это слово в данном тексте и есть "предложение" (сам текс читал?)
Цитата:
В 7-ой учитель сказала чтобы список был,а там по одному получается.
так там и есть список, т.е. только те, у которых при вводе была указана оценка >2
Цитата:
Завтра нужно сдать .
Гм, до завтра наврядли получится...
Добавлено спустя 25 минут, 1 секунду:
Цитата:
Как помню там не удалялись нек-ые числа и ещё чё-то.
Все там удаляется, что должно по заданию! (или ты про нули в конце стоки? эт да, лень убирать было, но я думал покатит...)
Добавлено спустя 1 минуту, 50 секунд: ЗЫ задания на самом деле все как-то глючновато, т.е. не очень понятно написаны
Добавлено спустя 1 час, 8 минут, 25 секунд: Вот 9-я лаба, думаю сойдет... ЗЫ выложил на сайте, потому что мыло твое посеял по причине жесткого падения винды, произошедшего вчера вечером из-за определенных глюков видюхи, и, как выяснилось сегодня вечером, моих собственных
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Насчёт седьмой:там прога вводит только по одному-ПЕТРОВ,оценка,список студентов недопущенных ко второму экзамену.А там бы желательно сначала повводить много разных фамилий и оценок,а затем показать список кто допущен кто нет.Вот.
Спасибо за призму.
вот3-ей бы ещё подправить
РЕШИ плиз! Кстати я карточку такую как у тебя взять хочу,а она как,ничё? San Andreas тормозит на моём конфиге.Да и не только он.А гонится она как? Отредактировано куратором: Lord_of_Darkness. Дата: 05.03.2006 14:48
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
GreatOne
Цитата:
А там бы желательно сначала повводить много разных фамилий и оценок,а затем показать список кто допущен кто нет.Вот.
Ну емое, там же после ввода фамилии спрашивает "продолжить ввод?" жмешь "Y" или "y" и забиваешь следуующую. И так хоть 100 раз подряд (или 50, не помню уже какого ражмера массив сделал)
Про 3-ю я уже который раз пишу разъясни задание, т.к. я его повидимому не понял! По моему мнению (как я понял задание), там нужно удалить все однозначные числа, а т.ж. двузначные, в которых цыфры повторяются (типа 11, 22, 33 и т.д.). Так или нет?
Добавлено спустя 7 минут, 18 секунд:
Цитата:
а затем показать список кто допущен кто нет.
А там что еще и список недопущенных надо выводить?
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Последний раз редактировалось Lord_of_Darkness 03.05.2006 13:50, всего редактировалось 2 раз(а).
3-ую ты правильно сделал,сори.я пригляделся сейчас и врубился,просто неудобно было смотреть матрицу и до меня не доходило.
А вот учитель невнимательный...
Вот в 7-ой велено сначала вводить фамилии(несколько) и чтобы потом вышел список студентов допущенных. Дорешай плиз!
Lord_of_Darkness Всё сделал.Осталось д-в-е задачки.
1)Создать файл с целыми числами .Связь с данным файлом
Открываем цикл while,не заканчивая n
e of: do
While not e of (F1) DO
Begin
Read(F1,n);
<считываем очередное число в файле>
Writeln(n,’’);
<выводим это число на экран>
end.
Close F1
2)Создать файл целых чисел с именем числа .dat,причём не одно из чисел
не равно нулю.
Program
Var file of integer;
n : integer;
begin
assign (F,’a:chislo,dat’);
Куратор темы Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
И чего к 7-му прикопался, реално все сделано было, ну да ладно, вот то, что ты хотел:
Код:
program laba7; uses crt; type TAbiturient = record Family: string; Mark: byte; end; var Abiturients: array [1..50] of TAbiturient; i, n: integer; YN: char; KolvoAb: integer; begin clrscr; write('Количество абитуриентов: '); readln(KolvoAb); for i:=1 to KolvoAb do begin write('Введите фамилию ',i,'-го абитуриента : '); readln(Abiturients[i].family); write('Введите оценку, которую ',i,'-й абитуриент получил на предыдущем экзамене: '); readln(Abiturients[i].mark); end; n:=i; writeln; writeln; writeln('Абитуриенты, допущенные к экзамену:'); for i:=1 to n do begin if Abiturients[i].mark>2 then writeln(Abiturients[i].family); end;
readln;
end.
Насчет этой фигни, что ты выложил (задания 1 и 2) нифига не понятно! Вообще бред какой-то. И что за странные куски кода, выдранные какими-то отрывками? Объясни толком чего надо!
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения