Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 22.06.2009, 19:33   #1 (permalink)
chro
Новичок
 
Регистрация: 22.06.2009
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите написать програму на Паскале

Друзья очень нужна ваша помощь!!помогите решить 2 задачки на паскале! нив какую не могу решить ((( надеюсь на вашу помощь!

«Текстовые файлы»
Скопировать текстовый файл в новый файл, перенести в него только те строки, в которых встречаются латинские буквы, и указав после каждой такой строки количество латинских букв в ней.

«Работа в графическом режиме»
Нарисовать на экране равносторонний треугольник синего цвета, который движется по горизонтали и при достижении границы экрана переворачивается и начинает движение в обратном направлении. Программа завершается нажатием любой клавиши.
chro вне форума   Ответить с цитированием

Старый 22.06.2009, 19:33
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вот вам ссылки на темы, которые так или иначе похожи на вашу

Помогите написать программы в Паскале.
Помогите написать програмы на C++ и в Паскале
Помогите написать программу в Паскале
Помогите написать программу в Паскале

Старый 23.06.2009, 10:31   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от chro Посмотреть сообщение
Друзья очень нужна ваша помощь!!помогите решить 2 задачки на паскале! нив какую не могу решить ((( надеюсь на вашу помощь!

«Текстовые файлы»
Скопировать текстовый файл в новый файл, перенести в него только те строки, в которых встречаются латинские буквы, и указав после каждой такой строки количество латинских букв в ней.
VAR
f,f1:TEXT;
S:STRING;
Lat_Num:BYTE;
i:INTEGER;
BEGIN
Assign(f,'D:\d');
ReSet(f);
Assign(f1,'D:\d1');
ReWrite(f1);
REPEAT
ReadLn(f, S);
Lat_Num:=0;
FOR i:=1 TO Length(S) DO
IF ((ORD(S[i])>64) AND (ORD(S[i])<91)) OR
((ORD(S[i])>96) AND (ORD(S[i])<123)) THEN INC(Lat_Num);
IF Lat_Num>0 THEN
WriteLn(f1,S+' ',Lat_Num);
UNTIL EoF(f);
Close(f);
Close(f1);
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 23.06.2009, 12:23   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от chro Посмотреть сообщение
Друзья очень нужна ваша помощь!!помогите решить 2 задачки на паскале! нив какую не могу решить ((( надеюсь на вашу помощь!

«Работа в графическом режиме»
Нарисовать на экране равносторонний треугольник синего цвета, который движется по горизонтали и при достижении границы экрана переворачивается и начинает движение в обратном направлении. Программа завершается нажатием любой клавиши.
Программа работает в DOS-экране 640х480 с черным фоном. Если это не так, сообщите.

USES CRT, Graph;
VAR
Ch:CHAR;
X:WORD;

PROCEDURE Triangle1(X1:WORD);
VAR
X2,X3,Y1,Y2,Y3:WORD;
BEGIN
X2:=X1-40;
Y1:=240+ROUND(20/SQRT(3));
Y2:=Y1;
X3:=X1-20;
Y3:=Y1-ROUND(20*SQRT(3));
LINE(X1,Y1,X2,Y2);
LINE(X1,Y1,X3,Y3);
LINE(X3,Y3,X2,Y2);
END;

PROCEDURE Triangle2(X1:WORD);
VAR
X2,X3,Y1,Y2,Y3:WORD;
BEGIN
X2:=X1-40;
Y1:=240-ROUND(20/SQRT(3));
Y2:=Y1;
X3:=X1-20;
Y3:=Y1+ROUND(20*SQRT(3));
LINE(X1,Y1,X2,Y2);
LINE(X1,Y1,X3,Y3);
LINE(X3,Y3,X2,Y2);
END;

BEGIN
InitGraph( , , );
{Параметры GraphDriver, GraphMode и PathToDriver пропишете сами - это зависит от конфигурации пакета и Вашего компа.}
ClearDevice;
SetTextStyle(DefaultFont, HorizDir, 0);
SetTextJustify(CenterText, BottomText);
OutTextXY(320,480,'Press any key to stop the action');
SetLineStyle(SolidLn, 0, ThickWidth);
SetColor(Blue);
X:=40;
REPEAT
REPEAT
SetColor(Blue);
Triangle1(X);
Delay(10);
SetColor(Black);
Triangle1(X);
INC(X);
IF KeyPressed THEN
BEGIN
Ch:=ReadKey;
HALT;
END;
UNTIL X>640;
DEC(X);
REPEAT
SetColor(Blue);
Triangle2(X);
Delay(10);
SetColor(Black);
Triangle2(X);
DEC(X);
IF KeyPressed THEN
BEGIN
Ch:=ReadKey;
HALT;
END;
UNTIL X<40;
INC(X);
Until KeyPressed;
Ch:=ReadKey;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 10:04.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.