Очень сильно нужна помощь 3 задачи ПАСКАЛЬ - Форум
Воскресенье, 04.12.2016, 04:55
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » Очень сильно нужна помощь 3 задачи ПАСКАЛЬ (Нужно ко всем задачам блок схему и саму программу на Паскале)
Очень сильно нужна помощь 3 задачи ПАСКАЛЬ
MaxGusevДата: Пятница, 27.05.2011, 00:26 | Сообщение # 1
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Народ оч прошу помочь хотябы без блок схемы , но с ней лучше, решите задачи. От себя могу за решение вам на телефон денежку кинуть рублей 50.. больше нет) бедный студент...

вообщем вот они

1)Разработать алгоритм и программу. Вводится тест из заглавных и строчных латинских букв, пробелов и знаков препинания. Количество символов в тексте не должно превышать 200. Определить число вхождений различных символов в представленный текст. Вывести результаты, расположив символы в порядке возрастания числа их появления в тексте

2)2. Разработать алгоритм и программу. Организовать и заполнить линейный динамический список типа FIFO, элементами которого являются целые числа а (0<=a<=255). Выполнить следующие действия над списком:
- добавить в конец списка нового элемента;
- вставить новый элемент после j-го элемента списка (j устанавливается пользователем);
- добавить в список новый элемент перед первым вхождением элемента со значением Е (если элемент со значением Е входит в список).
Действия выполнятся в произвольном порядке по выбору пользователя с отображением результатов преобразований. При заполнении списка и добавлении элементов выполнить анализ объема доступной динамической памяти.

3)
2: Разработать алгоритм и программу. Компонентами типизированного файла являются записи, состоящие из следующих полей: - фамилия студента; - инициалы; - специальность; - признак проживания в общежитии (да/нет); - номер общежития; - номер комнаты.
Организовать следующие процедуры работы с файлом:
- добавление записи в файл; - просмотр всех записей в файле; - просмотр студентов проживающих в общежитии, - просмотр студентов, не проживающих в общежитии; - удаление записи из файла, по введенной фамилии и инициалам.
Действия выполняются в произвольном порядке по выбору пользователя.

Это задачи для понимающих думаю легкие 1 курс...
 
KOT_B_MEIIIKEДата: Пятница, 27.05.2011, 18:15 | Сообщение # 2
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
текст как всегда точкой заканчиватеся?
 
MaxGusevДата: Суббота, 28.05.2011, 15:02 | Сообщение # 3
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
всмысле точкой?)))))
 
KOT_B_MEIIIKEДата: Воскресенье, 29.05.2011, 20:49 | Сообщение # 4
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
конец текста после клавиши enter, или есть признако конца?
 
MaxGusevДата: Понедельник, 30.05.2011, 08:58 | Сообщение # 5
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
ну только вывод результата на экран и все.
 
KOT_B_MEIIIKEДата: Понедельник, 30.05.2011, 09:02 | Сообщение # 6
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
я не о том... Конец текста это нажатие клавиши Enter? (прекращение ввода)
 
MaxGusevДата: Понедельник, 30.05.2011, 11:33 | Сообщение # 7
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Ой я в этом деле оч туп)))) Ну там задачи полностью показаны, видимо ты прав заканчивается нажатием энтера.....
 
KOT_B_MEIIIKEДата: Понедельник, 30.05.2011, 16:14 | Сообщение # 8
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
Code
program n1;
var s:string;st1:array [' '..'z'] of char;st:array [' '..'z'] of integer;a,c,d:char;i,l:integer;p:set of char;
begin
p:=[' ','.',',','!','?',':',';','a'..'z','A'..'Z'];
writeln('VVedite stroku:');
read(s);s[0]:=' ';
for c:=' ' to 'z' do begin st[c]:=0;st1[c]:=c end;dec(st[' ']);
for i:=1 to length(s)-1 do if (s[i]in p) then inc(st[s[i]]);
for c:='z' downto '!' do
         for d:=' ' to chr(ord(c)-1) do
             if st[d]>st[chr(ord(d)+1)] then
                begin
                  a:=st1[d];st1[d]:=st1[chr(ord(d)+1)];st1[chr(ord(d)+1)]:=a;
                  i:=st[d];st[d]:=st[chr(ord(d)+1)];st[chr(ord(d)+1)]:=i;
                end;
for c:='z' downto ' ' do
         if (st1[c] in p) then write(st1[c],' ');
         writeln;
end.

примерно так. Правда он выводит по кол-ву не всегда в порядке букв в исходном тексте, но работает. Алгорит - загоняем в массив кол-во встреч эл-в. И сортируем параллельно с ним массив с теми же индексами, но у которого значения эл-в - буквы. Итого получаем один массив упорядочен по кол-ву встреч в тексте, а во втором буквы, соответствующие числу встреч.
Code

program spiski;
label onemoretime;
type fifo=^spisok;
       spisok=record ch:integer;next:fifo end;
var a,t:fifo;i,r,n:integer;
procedure outspisok;
            begin
            t:=a;
            while (t^.next<>nil) do
                  begin
                  write(t^.ch,' ');
                  t:=t^.next;
                  end;
           writeln;
           end;
procedure addbegin;
           begin
           writeln;
           t:=a;new(a);
           writeln('Velichina novogo el-ta:');read(a^.ch);
           a^.next:=t;
           outspisok;
           end;
procedure addafterj;
            var i,j:integer;p:fifo;
            begin
            writeln;
            t:=a;
            writeln('Posle kakogo el-ta dobavit:');read(j);
            for i:=1 to j-1 do t:=t^.next;
            p:=t^.next;
            new(t^.next);
            writeln('Velichina novogo el-ta:');read(t^.next^.ch);
            t^.next^.next:=p;
            outspisok
            end;
procedure addafterel;
            label fail;
            var p:fifo;e:integer;
            begin
            t:=a;writeln('Posle kakogo chisla dobavit:');read(e);
            while (t^.ch<>e) do
                  begin
                  if t^.next=nil then begin writeln('Takogo elementa v spiske net');goto fail end;
                  t:=t^.next;
                  if t^.ch=e then
                      begin
                      p:=t^.next;
                      new(t^.next);
                      writeln('Velichina novogo el-ta:');read(t^.next^.ch);
                      t^.next^.next:=p;
                      outspisok
                      end
                  end;
     fail:  end;
              

begin
new(a);
t:=a;
t^.ch:=random(256);
write('Skolko elementov vnesti v spisok:');read(n);
write ('Spisok:');
for i:=1 to n do
      begin
      write(t^.ch,' ');
      new (t^.next);
      t:=t^.next;
      t^.ch:=random(256);
      end;
writeln;
t^.next:=nil;
onemoretime:writeln;
writeln('Vvedite 1 dlya dobavleniya v nachalo,2-posle j posizii,3-posle elementa,druguu cifruy dlya vihoda');
read(r);
case r of
1:begin addbegin;goto onemoretime   end;
2:begin addafterj;goto onemoretime  end;
3:begin addafterel;goto onemoretime end;
else;
end;
end.

уффф...это вторая
http://files.mail.ru/VWB1MR - если лень набирать)
 
MaxGusevДата: Понедельник, 30.05.2011, 22:19 | Сообщение # 9
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Огромное спасибо, так ты мне в личку напиши свой номер телефона, я тя отблагодарю) хоть как то) денежку кину))) а еще насчет третей не знаешь как можн намутить?
 
KOT_B_MEIIIKEДата: Вторник, 31.05.2011, 12:24 | Сообщение # 10
Генералиссимус
Группа: Модераторы
Сообщений: 284
[ 36 ]
Статус: Offline
http://files.mail.ru/LU2DY5 3-я
получилось!
только неплохо бы было перевести его с транслита, наверное)))
 
MaxGusevДата: Вторник, 31.05.2011, 23:13 | Сообщение # 11
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Я ТВОЙ ДОЛЖНИК!!!!
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » Очень сильно нужна помощь 3 задачи ПАСКАЛЬ (Нужно ко всем задачам блок схему и саму программу на Паскале)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2016