Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Парочка задачек на Turbo Pascal'е
Народ, пожалуйста, выручите!!! Не дайте погибнуть!

Модерирует : ShIvADeSt

ShIvADeSt (31-03-2009 02:00): Вверху прибитая тема.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

   

Minister



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне необходимо решить парочку задачек на Turbo Pascal'е.
Вот условия:
1)Ввести с клавиатуры три символа. Если хотя бы 2 из них являются цифрами, вывести все символы в строчку через три пробела.
2)В последовательности латинских букв, заканчивающейся точкой, преобразовать строчные буквы в прописные.
 
Это простые задачки, но в смысл я никак не могу врубиться.
Если можно, то напишите, пожалуйста, сразу код этих двух задач.

Всего записей: 76 | Зарегистр. 25-09-2001 | Отправлено: 19:10 18-10-2001
Daredevil



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Эх, сейчас я паскаль уже не вспомню, но, в общем, это делается примерно так. Обе задачки на использование функции преобразования символа в его код.
 
1) Запрос 3х символов (вместе или раздельно?), поочередная их проверка на попадание кода символа в диапазон 48-57 в десятиричной системе (коды цифр 0-9), вывод трех символов при положительном результате.
 
2)Тут та же система. Получаем строку, ищем в ней точку и к коду каждого символа добавляем/отнимаем определенное число, приводящее к смене регистра, формируем новую строку и выводим на экран.
 
Вот так, вроде ничего не забыл. Ну и полезно вставить различные проверки на допустимость символов, наличие точки во втором примере.

Всего записей: 1453 | Зарегистр. 24-05-2001 | Отправлено: 00:02 19-10-2001
Minister



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А ты не мог бы, если тебе не трудно, написать мне исходный код?
Плиззз..

Всего записей: 76 | Зарегистр. 25-09-2001 | Отправлено: 07:07 19-10-2001
L0Ve



s@nya.moder
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Daredevil
Сразу видно... Не программер...
 
Minister
1.

Код:
 
var a:char;
      i,count:byte;
      s:string;
begin
 for i:=1 to 3 do begin
  read(a);
  if a in ['0'..'9'] then inc(count);
  s:=s+' '+a;
 end;
 if count>=2 then writeln(s);
end.
 

 
2.

Код:
 
var s:string;
      i:byte;
      a:char;
begin
 repeat
  read(a);
  s:=s+a;
 until a='.';
 for i:=1 to length(s) do s[i]:=upcase(s[i]);
 writeln(s);
end.
 


----------
In God we trust. Everyone else we are verifying with PGP.

Всего записей: 1365 | Зарегистр. 28-07-2001 | Отправлено: 08:25 19-10-2001
Minister



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Сразу видно... Не программер...  

Извини меня, но у нас так ВУЗе обучают.

Всего записей: 76 | Зарегистр. 25-09-2001 | Отправлено: 13:49 19-10-2001
L0Ve



s@nya.moder
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Minister

Цитата:
Извини меня, но у нас так ВУЗе обучают.

Это ж я не тебе... Тебе я проги накатал...


----------
In God we trust. Everyone else we are verifying with PGP.

Всего записей: 1365 | Зарегистр. 28-07-2001 | Отправлено: 13:51 19-10-2001
Minister



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это ж я не тебе...  Тебе я проги накатал...

Ой, точно. Не заметил кому написал.
А за проги спасибо!!!

Всего записей: 76 | Зарегистр. 25-09-2001 | Отправлено: 14:45 19-10-2001
vladxfree

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
так суда можно и еще писать ?

Всего записей: 25 | Зарегистр. 19-10-2001 | Отправлено: 17:41 19-10-2001
Minister



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
так суда можно и еще писать ?

Чего писать?

Всего записей: 76 | Зарегистр. 25-09-2001 | Отправлено: 19:44 19-10-2001
Daredevil



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не программер. И чего мне в ВУЗе преподавали по паскалю, я уже не помню...

Всего записей: 1453 | Зарегистр. 24-05-2001 | Отправлено: 19:51 19-10-2001
Wowik



The Warlock
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladxfree
Minister
Daredevil
Не флеймить!


----------
Настоящие программисты не ищут легких путей!

Всего записей: 1192 | Зарегистр. 27-08-2001 | Отправлено: 06:19 20-10-2001
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Daredevil
L0Ve
написал програмку для решения квадратного уравнения (+решение линейного, если a=0 + неполного квадратного...) на visual c все как положено с обЪектами, а оказалось, что препод просил на pas и без обЪектов - элемнтарно, но pascal забыл уже во многом, написал кое-что проблемы с отладкой.....
 
помигите plZZ, срочно нужно...

----------
Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 20:09 02-04-2003
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Post the source here, or PM me.

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 20:41 02-04-2003
red_armored



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Excel

 
uses crt;
var
a,b,c,d:real;
x:array[1..2] of real;
 
 
 
begin
     clrscr;
     writeln('Уравнение типа ax^2+bx+c,введите a,b,c');
     readln(a);
     readln(b);
     readln(c);
 
               d:=sqr(b)-4*a*c;
 
     if d>0 then
     begin
        x[1]:=(-b+sqrt(d))/2;
        x[2]:=(-b-sqrt(d))/2;
        writeln('Уравнение имеет 2 корня : ',x[1],' и ',x[2]);
     end
        else if d=0 then
     begin
        writeln('Уравнение имеет 1 корень : ',-b/(2*a));
     end
        else
     begin
         writeln('Корней нет');
         halt(1);
     end;
 
end.
 
Одну штуку только не помню - как из реала сделать нормальный вид.

Всего записей: 37 | Зарегистр. 21-10-2002 | Отправлено: 00:46 03-04-2003
FuzzyLogic



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 
Одну штуку только не помню - как из реала сделать нормальный вид.

В смысле writeln(number:15:5)? (типа printf('%15.5f',...))

Всего записей: 1920 | Зарегистр. 27-07-2002 | Отправлено: 10:15 03-04-2003
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
red_armored
FuzzyLogic

Цитата:
Одну штуку только не помню - как из реала сделать нормальный вид

обычно пишут
Код:
:6:3

 
red_armored
спасибки, но еще нужно, если a=0, то решаем линейное (y/n?), если b,c=0, то корень ноль, и b=0, с=0.....
 
главное подскажите как после каждого решения или предложение на решение ставить
Код:
Будем решать дальше?(y,n)


----------
Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 13:15 03-04-2003
red_armored



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
uses crt;
 
type
letters = set of char;
 
const
nN:letters = ['n','N'];
 
var
a1,b1,c1,d:real;
choise:char;
x:array[1..2] of real;
k:byte;
 
procedure kvadrat(a,b,c:real);
begin
 
 
     clrscr;
 
            d:=sqr(b)-4*a*c;
 
     if d>=0 then
     begin
        x[1]:=(-b+sqrt(d))/2;
        x[2]:=(-b-sqrt(d))/2;
        writeln('Корни уравнения : ',x[1],',',x[2]);
     end
 
     else
        writeln('Корней нет');
end;
 
begin
     clrscr;
repeat
k:=0;
 
 writeln('Уравнение типа ax^2+bx+c,введите a,b,c');
     readln(a1);
     readln(b1);
     readln(c1);
           if a1=0 then
         begin
             writeln('Уравнение линейное,решить?(y/n)');
             readln(choise);
             if not(choise in nN) then
         begin
             writeln('Корень -',-b1/c1);
             readln;
         end
             else if (b1=0) and (c1=0) then
         begin
             writeln('Уравнение имеет один корень - 0');
         end
             else
             kvadrat(a1,b1,c1);
 
writeln('Повторить?(y/n)');
readln(choise);
if choise in nN then inc(k);
 
until k=1;
 
end.
 
==============================================
 
Спасибо можешь кидать книгами по C++(если есть) на remy@pochtamt.ru
Народ кидайте задачки(на паскале и C++), практика нужна.

Всего записей: 37 | Зарегистр. 21-10-2002 | Отправлено: 22:33 03-04-2003
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
k:=0;  

убрал
все пошло, спасибки, еще в конец readkey;

----------
Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 15:30 09-04-2003
CoddeX



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
red_armored

Цитата:
Народ кидайте задачки(на паскале и C++), практика нужна.

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

Всего записей: 69 | Зарегистр. 10-04-2003 | Отправлено: 21:08 27-04-2003
Sleepwalker



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CoddeX
есть алгоритм на Прологе
там три строчки всего
 
кстати.. есть рекурсивный алгоритм и на других языках.. где-то видел давно, когда этим интересовался... поищи книги по олимпиадной информатике...

----------
...или я ничего не понимаю в этой жизни... или понимаю слишком хорошо...

Всего записей: 1957 | Зарегистр. 19-10-2002 | Отправлено: 02:39 28-04-2003
   

Страницы: 1 2 3

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Парочка задачек на Turbo Pascal'е
ShIvADeSt (31-03-2009 02:00): Вверху прибитая тема.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.B0ard 2000-2026

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru