Автор: Пользователь скрыл имя, 25 Февраля 2013 в 10:13, курсовая работа
Вы познакомитесь с приемами разработки процедур и функций, позволяющими создавать структурированные программы. В заключительной части на примерах показано применение методики нисходящего программирования, обеспечивающей сравнительно простой и надежный способ детальной проработки алгоритма программы.
Знакомство с языком программирования Паскаль.
Строки.
Функции и процедуры для работы со строками.
Файлы и работа с файловыми переменными.
5 . Программная часть.
5.1. Задание.
5.2. Блок-схема.
5.3. Код программы.
5.4. Пример работы.
6. Заключение.
7. Литература.
var st : String;
begin
122 Часть I. Ядро Турбо Паскаля
if stE] = "A1 then ..
end.
Самый первый байт в строке имеет индекс о и содержит текущую длину строки. Первый значащий символ строки занимает второй байт и имеет индекс 1. Над длиной строки можно осуществлять необходимые действия и таким способом изменять длину. Например, удалить из строки все ведомые пробелы можно следующим образом:
var
st : String;
l : Byte;
begin
i := ord(st[01); {i - текущая длина строки)
while (l о 0) and (st[i] = ' ') do
begin
dec(i);
st[0] :«chr(i)
end;
end.
Значение ORD (st [01), т. е. текущую длину строки, можно получить и с помощью функции LENGTH (st), например:
while (Length (st)<>0) and {s-t [.Length (Ы;) ] -' ') do
st[0] := chr(Length(st)-I)
К строкам можно применять
st := 'а1 + 'Ь';
st = st т 'с'; fst содержит' "aba"}
Если длина сцепленной строки превысит максимально допустимую длину 7V, то "лишние" символы отбрасываются. Следующая программа, например, напечатает символ i:
var
st: String ?1];
begin
st:-'123';
WriteLn(st)
end.
Программная часть
7) Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
uses crt;
const n=2;
var
menu:array[0..n] of string[20];
men:array[0..n] of integer;
Nomer,i,j,old,key,m:integer;
ch:char;
f:text;
f_name:string;
procedure Glav;
begin
menu[0]:='Vvod dannih';men[0]:=10;
menu[1]:='Vivod';men[1]:=40;
menu[2]:='Vihod';men[2]:=60;
old:=n;
key:=0;
end;
procedure NewMeny(old,key:integer);
begin
TextBackGround(White);
TextColor(Black);
GoToXY(men[old],2);
writeln(menu[old]);
TextBackGround(Yellow);
TextColor(Red);
GoToXY(men[key],2);
writeln(menu[key]);
end;
procedure Window_a(x,y,t,m:integer);
begin
TextBackGround(White);
TextColor(Black);
for i:=x to t do
for j:=y to m do
begin
GoToXY(i,j);
writeln(' ');
end;
GoToXY(x,y);writeln('*'); GoToXY(t,y);writeln('*');
for i:=y+1 to m-1 do begin
GoToXY(x,i);writeln('*'); GoToXY(t,i);writeln('*');end;
GoToXY(x,m);writeln('*'); GoToXY(t,m);writeln('*');
for i:=x+1 to t-1 do
begin
GoToXY(i,y);writeln('*'); GoToXY(i,m);writeln('*');end;
end;
procedure Left;
begin
old:=key;
key:=key-1;
if key<0 then key:=n;
NewMeny(old,key);end;
procedure Right;
begin
old:=key;
key:=key+1;
if key>n then key:=0;
NewMeny(old,key);end;
procedure vvod;
var
s:string;
begin
TextBackGround(White);
TextColor(Black);
clrscr;
Window_a(20,2,45,4);
GoToXY(22,3);Write('Vvedite imya fayla=>');readln(f_name);
Assign(f,f_name);
Rewrite(f);
window_a(1,6,80,12);
gotoxy(22,7);
writeln('Vvedite text');
gotoxy(4,9);
readln(s);
writeln(f,s);
close(f);
end;
procedure vivod;
const L_word=10;
L_sent=100;
type t_word=string[L_word];
tn=0..L_sent;
t_sent=array[tn] of t_word;
var
sent:t_sent;
n_word:tn;
f:text;
ch:char;r:boolean;k:byte;
st:string[79];
function create_array(var sent:t_sent;var n_word:tn):boolean;
var s:char;
where:(in_word,out_word);
procedure end_Sent;
var c:char;
begin
repeat Read(f,c);
until (c='.')or (eof(f));
end;
begin
n_word:=0;
where:=out_word;
create_array:=true;
if Eof(f) then Exit;
repeat
Read(f,s);
case s of
'.':Exit;
'A'..'Z','a'..'z','0'..'9':
begin
case where of
in_word:
sent[n_word]:=sent[n_word]+s;
out_word:
begin
if n_word=L_sent then
begin
create_array:=false;
end_Sent;
Exit;
end;
n_word:=n_word+1;
sent[n_word]:=s;
where:=in_word end;
end;
end;
else where:=out_word;
end;
until Eof(f);
end;
procedure Print_Word(sent:t_sent;n_word:
var i:1..L_sent;
begin
TextColor(Magenta);
for i:=1 to n_word do
if Length(sent[i])=m then writeln(sent[i]);delay(1000);
end;
begin clrscr;
window_a(20,2,60,6);
TextBackGround(0);
TextColor(White); gotoxy(22,3);
Write('Zadayte imya textovogo fayla =');
TextColor(White);
readln(st);
Assign(f,st);
{$I-}
Reset(f);
{$I+}
if(IOResult<>0) or (st='') then
begin
TextColor(Red); writeln; gotoxy(22,5);
Writeln('***ne nayden fail s takim imenem ',st);
readln;Halt
end;
TextColor(White);
window_a(1,7,80,13); gotoxy(20,8);
Writeln('_Soderjimoye fayla:');
writeln;
TextColor(Magenta);gotoxy(5,
while (not Eof(f)) do
begin read(f,ch);delay(10);Write(ch)
writeln;
Reset(f);
while (not eof(f)) do
begin
r:=create_array(sent,n_word);
TextColor(Magenta);
TextColor(White);
window_a(1,15,80,21);gotoxy(7,
Writeln('_Ocherednoye predlojeniye sostoit iz ',n_word,' slov');gotoxy(7,17);
writeln('Vvedite chislo dlya vibora slov');gotoxy(7,18); readln(m);
window_a(10,3,30,5);
gotoxy(11,4);
writeln('Slova iz ',m,' bukv:');writeln;
window_a(1,1,80,14);
gotoxy(15,2);
Print_Word(sent,n_word,m);
if r=false then
begin
TextColor(Red);
Writeln('***slov bolshe dopustimogo, posledniye ne uchitivayutsya.');
end;
TextColor(Red);gotoxy(10,15);
Writeln('_zakonchen prosmotr fayla');
end;end;
procedure EnterClick;
begin
case key of
0:vvod;
1:vivod;
2:ch:=#27;
end;
Window_a(1,1,80,3);
for i:=0 to n do
begin
TextBackGround(White);
TextColor(Blue);
gotoxy(men[i],2);
writeln(menu[i]);
end;
NewMeny(old,key);
end;
begin
clrscr;
TextBackGround(Black);
clrscr;
Glav;
Window_a(1,1,80,3);
for i:=0 to n do
begin
TextBackGround(White);
TextColor(Blue);
gotoxy(men[i],2);
writeln(menu[i]);
end;
NewMeny(old,key);
repeat
ch:=readkey;
case ch of
#13:EnterClick;
#75:left;
#77:Right;
end;
until ch=#27; end.
Заключение
В данной
курсовой работе приведено понятие
алгоритма, его основные свойства. Дана
классификация типов
В этой курсовой работе по предмету "Информатика" рассмотрены темы алгоритмизации и основ программирования на языке Паскаль. Во время работы над курсовой я получил навыки и сведения об алгоритмизации вычислительных процессов и программировании на языке Паскаль.
Особое внимание уделено вопросам использования операторов условия, цикла, перехода, использованы встроенные функции и процедуры, созданы пользовательские функции и процедуры, сделана попытка создать окно для работы с файлами.
Литература:
Информация о работе Знакомство с языком программирования Паскаль