- •Министерство образования Российской Федерации Ярославский государственный педагогический университет имени к.Д. Ушинского Лабораторный практикум по языку программирования Pascal Ярославль 2004
- •Лабораторные работы Лабораторная работа №1Знакомство с клавиатурой. Организация работы в среде Турбопаскаль.
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №2Команды присваивания, ввода и вывода. Составление простейших программ на языке Турбопаскаль.
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №3Команды ветвления и выбора на языке Турбопаскаль
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №4Команды ветвления и повторения на языке Паскаль
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №6Циклы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задания
- •Лабораторная работа №7Одномерные массивы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задачи.
- •Лабораторная работа №8Двумерные массивы
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задачи.
- •Лабораторная работа №9Работа со строковыми величинами
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Дополнительные задания
- •Лабораторная работа №10Обработка литерных величин на языке Турбопаскаль
- •Дополнительные задания
- •Задание 5
- •Лабораторная работа №12Работа с одномерными и двумерными массивами
- •Задание 1
- •Задание 2
- •Лабораторная работа №13Многочлены
- •Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Лабораторная работа №14Линейная комбинация векторов
- •Задание 1
- •Задания повышенной трудности
- •Лабораторная работа №15Скалярное произведение векторов
- •Лабораторная работа №16 Простейшие графические операторы
- •Задание 5
- •Задание 6
- •Дополнительные задания.
- •Лабораторная работа n 19 Работа с множествами Задание 1
- •Задание 2-3
- •Задание 4
- •Задание 5
- •Лабораторная работа № 20 Работа с записями
- •Дополнительные залания
- •Задание 3
- •Задание 5
- •Задание 6 (дополнительный балл)
- •Дополнительное задание (до 3 баллов)
- •Задание 5
- •Примерные вопросы к собеседованиям Величина. Команды присваивания, ветвления и выбора.
- •Массивы
- •Литерные переменные
- •Процедуры и функции
- •Графика
- •Датчик случайных величин
- •Множества
- •Динамическая память
- •Деревья
- •Тексты программ для выполнения лабораторных работ Файл primer1.Pas
- •Файл lab10.Pas
- •Файл lab11.Pas
- •Файл List1.Pas
- •Файл List2.Pas
- •Файл lab5.Pas
- •Файл lab6.Pas
- •Примерный список индивидуальных задач
Тексты программ для выполнения лабораторных работ Файл primer1.Pas
program upr1;
uses crt;
var f,i,o:string[15]; v,g,year:integer;
begin
clrscr;
write('Введите номер текущего года ');readln(year);
write('Введите Вашу фамилию ');readln(f);
write('Введите Ваше имя ');readln(i);
{write('Введите Ваше отчество ');readln(o);}
write('Введите Ваш возраст ');readln(v);
write('Введите номер Вашей группы ');readln(g);
gotoxy (15,15);write('Ваша фамилия - ',f);
gotoxy (1,17);write('Вас зовут ',i);
{gotoxy (5,18);write('Ваше отчество ',o);}
gotoxy (51,20);write('Вы родились в ',year-v,’ году’);
gotoxy (11,25);write('Вы учитесь в ',g,’ группе’);
end.
Файл PRIMER2.pas Begin clrscr; soob:='Круговой сектор'; write(soob,' ','R=');readln(r); write('alpha=');readln(alpha); s:=r*r*alpha/2; writeln('S=',S:3:0); writeln('l=',2*S/r:5:2); end. |
Файл PRIMER3.pas program upr4; uses crt; var a,b,c:real; begin {Соотношения в прямоугольном треугольнике} write('a=');readln(a); write('b=');readln(b); c:=sqrt(a*a+b*b); write('c=',c); end. | |||
Файл PRIMER2à.pas program upr4; uses crt; var r,s,alpha:real; soob:string[15]; begin clrscr; soob:='Круговой сектор'; write(soob,' ','R=');readln(r); write('alpha=');readln(alpha); s:=r*r*alpha/2; writeln('S=',S:9); writeln('l=',2*S/r:5:2);end. |
Файл PRIMER4.pas Program upr1; Uses crt; var b:char; begin clrscr; write('input letter ');readln(b); writeln(b+b+b+b+b+b); writeln(b,' ',b); writeln(b,' ',b); writeln(b,' ',b); writeln(b,' ',b); writeln(b,' ',b); writeln(b+b+b+b+b+b); end. Файл PRIMER7.pas |
| ||
program lab6; uses crt; var a,i,s,n,k,b,d:integer; soob:string; y,x:real; begin clrscr; write('a=');readln(a); write('b=');readln(b); { 2.1 while -> for } {soob:='no'; i:=2; while i<=sqrt(a) do begin if a mod i=0 then soob:='yes'; i:=i+1; end; writeln(soob);} { 2.2 repeat -> for } {i:=1; repeat i:=i+1; if a mod i=0 then writeln (i); until i>a/2;} { 2.3 for -> repeat } {s:=0; for i:=1 to trunc(a/2) do if a mod i=0 then s:=s+i; if s=a then writeln('yes') else writeln('no');} { 2.4 repeat -> for } {n:=1; k:=10; repeat k:=k*10; n:=n+1; until a<=k; writeln(n);}
|
{ 2.5 repeat -> for } {k:=0; repeat s:=a-trunc(a/10)*10; a:=trunc(a/10); k:=(k+s)*10; until a=0; writeln (k/10:2:0);}
{ 2.6 while -> for } {y:=a;n:=1; while n<=6 do begin x:=y; y:=(5+x)/2; n:=n+2; end; writeln(y:5:4);} { 2.7 for -> while } {for i:=1 to a do begin if trunc(a/i)=a/i then writeln(i); i:=i+1; end;} { 2.8 while -> repeat } {if b>a then begin a:=a+b; b:=a-b; a:=a-b; end; writeln('a=',a,' b=',b); k:=a mod b; n:=b; while k<>0 do begin d:=k; k:=n mod k; n:=d; end; writeln(n);} end. |
|
Файл lab10.Pas
program str_lab; uses crt; type str=string[50]; mass=array[1..20] of str; var s,s1,s2,s3:str; i,j,k,l,n,t:integer; x:mass; {----------------------------------------} function poisk(s1,s2:str):str; var i:integer;k:str; |
{----------------------------------------} function quantity(s1,s2:str):integer; var i,k:integer; begin k:=0; for i:=1 to length(s2)-length(s1)+1 do if copy(s2,i,length(s1))=s1 then k:=k+1; quantity:=k; end; |
begin k:='no'; for i:=1 to length(s2)-length(s1)+1 do if copy(s2,i,length(s1))=s1 then k:='yes'; poisk:=k; end; {----------------------------------------} procedure invers(var s1:str); var i:integer;k:str; begin k:=''; for i:=1 to length(s1) do k:=copy(s1,i,1)+k; s1:=k; end; {----------------------------------------} procedure double(var s1:str); var i:integer;k:str; begin k:=''; for i:=1 to length(s1) do k:=k+copy(s1,i,1)+copy(s1,i,1); s1:=k; end; {----------------------------------------} procedure zamena(var s1:str; s2,s3:str); var i:integer;k:str; begin k:=''; for i:=1 to length(s1) do if copy(s1,i,length(s2))=s2 then begin k:=k+s3; i:=i+length(s2)-1; end else k:=k+s1[i]; s1:=k; end; |
{----------------------------------------} procedure del(var s1:str; s2:str); var i:integer;k:str; begin zamena(s1,s2,''); end; {----------------------------------------} procedure slova(s:str;var k:integer; var x:mass); var i:integer; begin repeat zamena(s,' ',' '); until pos(' ',s)=0; if s[length(s)]=' ' then delete(s,length(s),1); k:=0; repeat l:=pos(' ',s); k:=k+1; x[k]:=copy(s,1,l-1); delete(s,1,l); until pos(' ',s)=0; k:=k+1; x[k]:=s; end; {----------------------------------------} procedure printmass(k:integer; x:mass); var i:integer; begin for i:=1 to k do writeln(x[i]); end; begin clrscr; s2:= '11 52 3 15 467 15'; writeln(s2); slova(s2,k,x); printmass(k,x); end. |