Часовой пояс: UTC + 3 часа




Куратор(ы):   Lord_of_Darkness   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 5 из 50<  1  2  3  4  5  6  7  8 ... 50  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Убедительная просьба ко всем, кто выкладывает исходники:
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+


 

Member
Статус: Не в сети
Регистрация: 20.03.2005
AlexZerg СПАСИБО! :dance: :hi:


 

Куратор темы
Статус: Не в сети
Регистрация: 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 Нужны формулы :spy: искать самому вломак :hitrost:

Добавлено спустя 4 минуты, 42 секунды:
На каракули в прогах внимания не обращай (ето кириллица ;) ), когда паскалем откроешь все ок будет.

Добавлено спустя 1 час, 33 минуты, 8 секунд:
Посмотрел повнимательнее на 9-е задание - формулы врядли понадобятся :)
Его реально рисовать нужно? Офигеть :( это уже прям курсовик какой-то. Не то чтобы сложно, просто запорно очень, проекции надо строить и т.д...

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


Последний раз редактировалось Lord_of_Darkness 11.06.2005 12:43, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 20.03.2005
Lord_of_Darkness ВАУ! СПАСИБО! :)
В задании 7 данные брать с балды. :wink: Да,вспоминаю,там типа вводишь.
Задание 8 тоже с балды(сам придумываешь),фалйл проивольный кажися...
Задание 9... нашёл
Цитата:
Теорема: Объем прямой призмы равен произведению площади основания на
высоту.

ПРЕБЛАГОДАРЕН! :slobber:
Отредактировано куратором: Lord_of_Darkness. Дата: 05.03.2006 14:43


 

Куратор темы
Статус: Не в сети
Регистрация: 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 раз.

 

Member
Статус: Не в сети
Регистрация: 20.03.2005
Lord_of_Darkness СПАСИБО. :) На счёт 9-ого Я думаю там подразумевается более простой способ решения,чем ты думаешь(наверное),нам бы не дали такую.
Цитата:
Рисовать призму с сечением надо?

Я даже знаешь и не интересовался как-то. А сделай как-нибудь по-простому если можешь,хотя бы чтоб было что показать. :oops:


 

Куратор темы
Статус: Не в сети
Регистрация: 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)


 

Member
Статус: Не в сети
Регистрация: 20.03.2005
Вроде тут ещё кое-что нужно решить.Поможешь? :oops: Я сейчас скоро напишу задания. :)
Насчёт 9-ого: забей.:wink: Я так и объясню преподу,он поймёт.


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
GreatOne
Цитата:
Вроде тут ещё кое-что нужно решить.Поможешь?

Вот завтра экзамен сдам (надеюсь, тфу, тфу, тфу [стучит по дереву]) вот тогда смогу и помочь :)

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 20.03.2005
Задачки:
17) дан файл, содержащий текст на русском языке. Найти слово ,встречающееся в каждом предложении, или сообщить, что такого слова нет.
Lord_of_Darkness
А вот в 3-ем и 4-ом же сказано в промежутке [-40;30),а я не видел его у тебя в программке,объясни мне,А?

Добавлено спустя 2 минуты, 37 секунд:
Lord_of_Darkness НИ ПУХА! :hi:


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
GreatOne
Цитата:
промежутке [-40;30)

random(70)-40, кстати корректней будет не 70 а 69, тогда будет от -40 включительно до 30 не вкл.
Цитата:
НИ ПУХА!
к черту

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Куратор темы
Статус: Не в сети
Регистрация: 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. если слова одинаковые, но одно начинается с прописной букы, а другое с маленькой то слова разные :D

если надо - дай мыло, вышлю мой text.txt (тот, который я для тестирования проги использовал)

Добавлено спустя 1 минуту, 43 секунды:
PS мое мыло в профиле

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 20.03.2005
Lord_of_Darkness Мог бы конечно на мыло тебе написать,а потом подумал,что может кому-нибудь это будет полезно.
В 3-ей косяк есть,учитель сказал исправить,а я чё-то парился-парился и не получается. Как помню там не удалялись нек-ые числа и ещё чё-то.
В 7-ой учитель сказала чтобы список был,а там по одному получается.
А в 17-ой просто выводится предлодение:"В каждом...слово предложение" и больше ничего.
А с призмой училка говорит,что это вобще просто.Может есть всё-таки какой-то способ?C помощью Line всяких...
Завтра нужно сдать . Неудобно конечно тебя доставать :oops: но у меня нет друго выхода :) Спасай уж.
Я на сайте твоём был.А ты не хочешь например чтоб я разместил твой баннер на сайте одном.Может хоть чем-нибудь тебе услужить :oops:


 

Куратор темы
Статус: Не в сети
Регистрация: 03.01.2004
Откуда: Питер
GreatOne
Цитата:
А ты не хочешь например чтоб я разместил твой баннер на сайте одном.

:D поткуп ... спасибо конечно, но сайт предоставлен на самостоятельную раскрутку, т.е. кому понравилось - сказал другому и т.д. это не коммерческий проект и количество посетителей по большому счету роли не играет, главное чтобы кому-нибудь прикодилось то, что там есть :)

Цитата:
Как помню там не удалялись нек-ые числа и ещё чё-то.

Какие конкретно?? Ладно проверю.

Цитата:
А в 17-ой просто выводится предлодение:"В каждом...слово предложение" и больше ничего.

Так а что надо? вроде задание было вывести слово, встречающееся в каждом предложении, так это слово в данном тексте и есть "предложение" (сам текс читал?)

Цитата:
В 7-ой учитель сказала чтобы список был,а там по одному получается.

так там и есть список, т.е. только те, у которых при вводе была указана оценка >2

Цитата:
Завтра нужно сдать .

Гм, до завтра наврядли получится...

Добавлено спустя 25 минут, 1 секунду:
Цитата:
Как помню там не удалялись нек-ые числа и ещё чё-то.

Все там удаляется, что должно по заданию! (или ты про нули в конце стоки? эт да, лень убирать было, но я думал покатит...)

Добавлено спустя 1 минуту, 50 секунд:
ЗЫ задания на самом деле все как-то глючновато, т.е. не очень понятно написаны :(

Добавлено спустя 1 час, 8 минут, 25 секунд:
Вот 9-я лаба, думаю сойдет...
ЗЫ выложил на сайте, потому что мыло твое посеял :( по причине жесткого падения винды, произошедшего вчера вечером из-за определенных глюков видюхи, и, как выяснилось сегодня вечером, моих собственных :x

_________________
Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)


 

Member
Статус: Не в сети
Регистрация: 20.03.2005
Насчёт седьмой:там прога вводит только по одному-ПЕТРОВ,оценка,список студентов недопущенных ко второму экзамену.А там бы желательно сначала повводить много разных фамилий и оценок,а затем показать список кто допущен кто нет.Вот. :)
Спасибо за призму. :wink:
вот3-ей бы ещё подправить :oops:
:beer: РЕШИ плиз! Кстати я карточку такую как у тебя взять хочу,а она как,ничё? 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 раз(а).

 

Member
Статус: Не в сети
Регистрация: 20.03.2005
3-ую ты правильно сделал,сори.я пригляделся сейчас и врубился,просто неудобно было смотреть матрицу и до меня не доходило.
А вот учитель невнимательный... :mad2:
Вот в 7-ой велено сначала вводить фамилии(несколько) и чтобы потом вышел список студентов допущенных. Дорешай плиз! :)


 

Member
Статус: Не в сети
Регистрация: 20.03.2005
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)


 

Member
Статус: Не в сети
Регистрация: 20.03.2005
Последние 2 задачки остались.Реши пожалста.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 985 • Страница 5 из 50<  1  2  3  4  5  6  7  8 ... 50  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan