
- •Варианты заданий к лабораторным работам Лабораторная работа n1
- •1.2. Составить программу пооперационного вычисления значений арифметических выражений, согласно указанным ниже формулам.
- •2.3. Составить программу для выполнения указанного ниже задания, используя оператор множественного ветвления.
- •Лабораторная работа n3 Программы с циклами
- •3.1. Дано действительное число а, натуральное число n. Вычислить:
- •3.3. Выполнить предыдущее задание, заменив произведение суммой.
- •Лабораторное занятие n4 Процедуры и функции
- •4.1. Составить программы, используя указанные в скобках вспомогательные алгоритмы (вспомогательные алгоритмы оформить процедурами).
- •4.2. Составить программы, используя указанные в скобках вспомогательные алгоритмы (вспомогательные алгоритмы оформить функциями).
- •Упорядочить (переставить) строки массива
- •Упорядочить (переставить) столбцы массива
- •Лабораторное занятие n6
- •6.1. Составить программу, выполняющую следующее задание: дана строка символов.
- •Лабораторное занятие n7 Записи
- •Лабораторное занятие n 8 Множества
- •8.1. Сформировать три множества x1, x2, x3, содержащие целые числа из диапазона 1…100. Мощность каждого множества равна 5. Значения элементов исходных множеств ввести с клавиатуры.
- •8.2. Дана непустая последовательность символов. Необходимо построить и напечатать множество, элементами которого являются встречающиеся последовательности:
- •Лабораторная работа №9 Файлы.
- •9.2 Занести в текстовый файл данные, согласно заданию 2 к лабораторной работе 7.(5 записей). Выполнить задание 7.2. С использованием данных из файла. Лабораторная работа №10
- •10.1. Выполнить задание 3 к лабораторной работе 5. Обработку массива оформить в виде модуля.
- •10.3.Выполнить задание, используя процедуры и функции модуля crt
- •10.4. Выполнить задание, используя процедуры и функции модуля graph.
- •Лабораторная работа №11 Динамические массивы.
- •11.1. Вычислить значение выражения, используя ссылочные переменные.
- •11.2. Создать, заполнить, распечатать массив размерностью 10х10 и обработать его в соответствии с приведенным ниже вариантом задания.
- •Лабораторная работа № 12.
- •Лабораторная работа №13 Динамические структуры (списки).
- •Лабораторная работа №14 Динамические структуры (кольца).
- •Лабораторная работа №15
- •Каждый из студентов фмф имеет следующие параметры (характеристики):
- •15.2. Построить дерево, которое может содержать несколько элементов, "подвешенных" к одному ключу ( "подвеску" можно оформить в виде стека).
- •Варианты заданий для практики вычислений
- •Вариант 5
- •Примеры программ Линейные программы
- •Программы с условными операторами
- •Программы с циклами
- •Пример. Найти сумму положительных элементов массива.
- •Множества
- •Динамические структуры
- •Программы с объектами
- •Тема: Графика Теоретические вопросы.
- •Практические задания.
- •Теоретические вопросы.
- •Практические задания.
- •Тема: Динамические структуры данных Теоретические вопросы.
- •Практические задания.
- •Тестовые задания к зачету по информатике Записи
- •Исправить ошибки.
- •Графика и модули
- •Исправить ошибки.
- •Динамические структуры
- •Литература
- •Задания к лабораторным работам по информатике
- •214036, Брянск, Бежицкая, 14.
Программы с объектами
Пример. А. Задать объект и предусмотреть над ним следующие действия:
- треугольник по координатам вершин
- рисование треугольника
- стирание треугольника
- перемещение треугольника
- принадлежность точки треугольнику
- изменение размера треугольника при сохранении подобия
Б. Распространить вышеуказанные действия на:
- закрашенный треугольник
- треугольник с размеченными вершинами А, В, С.
Составить программу с использованием этих объектов.
program primer;
uses graph,crt;
type tr=object
x1,y1,x2,y2,x3,y3,r:integer;
c:word;
procedure coord(x1i,y1i,x2i,y2i,x3i,y3i:integer);
procedure col(ci:word);
procedure ris;
procedure cl;
procedure podobh;
procedure podobl;
procedure mov(hx,hy:integer);
end;
tr1=object(tr) c1:word;
procedure ris1;
procedure cl1;
procedure mov1(hx,hy:integer);
end;
tr2=object(tr) c1:word;
procedure ris2;
procedure cl2;
procedure mov2(hx,hy:integer);
end;
procedure tr.coord; begin x1:=x1i; y1:=y1i; x2:=x2i; y2:=y2i; x3:=x3i; y3:=y3i;end;
procedure tr.col; begin c:=ci end;
procedure tr.ris;
begin
setcolor(c);
moveto(x1,y1);lineto(x2,y2);
lineto(x3,y3); lineto(x1,y1);
end;
procedure tr.cl; var s,s1:word;
begin
s:=getbkcolor; s1:=getcolor;
setcolor(s);
moveto(x1,y1);lineto(x2,y2);
lineto(x3,y3); lineto(x1,y1);
setcolor(s1);
end;
procedure tr.podobh;
begin
cl;
x2:=round((11*x2-x1)/10); y2:=round((11*y2-y1)/10);
x3:=round((11*x3-x1)/10); y3:=round((11*y3-y1)/10);
ris;
end;
procedure tr.podobl;
begin
cl;
x2:=round((10*x2+x1)/11); y2:=round((10*y2+y1)/11);
x3:=round((10*x3+x1)/11); y3:=round((10*y3+y1)/11);
ris;
end;
procedure tr.mov;
begin
cl; coord(x1+hx,y1+hy,x2+hx,y2+hy,x3+hx,y3+hy); ris
end;
procedure tr1.ris1;
begin
setcolor(c);
moveto(x1,y1);lineto(x2,y2);
lineto(x3,y3); lineto(x1,y1);
setfillstyle(c1,2);
FloodFill(x1+10,y1-10,c);
end;
procedure tr1.cl1; var s,s1:word;
begin
s:=getbkcolor; s1:=getcolor;
setcolor(s);
moveto(x1,y1);lineto(x2,y2);
lineto(x3,y3); lineto(x1,y1);
setfillstyle(s,1);
FloodFill(x1+10,y1-10,s);
end;
procedure tr1.mov1;
begin
cl1; coord(x1+hx,y1+hy,x2+hx,y2+hy,x3+hx,y3+hy); ris1
end;
procedure tr2.ris2;
begin
setcolor(c);
settextstyle(1,0,2);
outtextxy(x1-10,y1,'A');
outtextxy(x2-5,y2-25,'B');
outtextxy(x3+5,y3,'C');
moveto(x1,y1);lineto(x2,y2);
lineto(x3,y3); lineto(x1,y1);
end;
procedure tr2.cl2; var s,s1:word;
begin
s:=getbkcolor; s1:=getcolor;
settextstyle(1,0,2);
setcolor(s);
outtextxy(x1-10,y1,'A');
outtextxy(x2-5,y2-25,'B');
outtextxy(x3+5,y3,'C');
moveto(x1,y1);lineto(x2,y2);
lineto(x3,y3); lineto(x1,y1);
end;
procedure tr2.mov2;
begin
cl2; coord(x1+hx,y1+hy,x2+hx,y2+hy,x3+hx,y3+hy); ris2
end;
var i,m,gd,grdr,grr,a1,a2,a3,b1,b2,b3,a1i,a2i,a3i,b1i,b2i,b3i:integer; t:tr; t1:tr1; t2:tr2; ch:char;
k:real;
BEGIN
gd:=detect; initgraph(gd,m,'c:\bp\bgi');
setbkcolor(1);
setcolor(10);
t.col(10); t1.col(10); t2.col(10);
a1:=50;b1:=400;a2:=100;b2:=300;a3:=150;b3:=400;
REPEAT
settextstyle(4,0,4);
outtextxy(150,20,'1- Simple');
outtextxy(150,50,'2- Fill');
outtextxy(150,80,'3- Such');
outtextxy(150,110,'4- ABC');
outtextxy(150,140,'Enter - exit');
ch:=readkey;
case ch of
#49:{1}
for i:=-100 to 600 do
begin
t.coord(a1+i,b1,a2+i,b2,a3+i,b3);
t.mov(1,0);
delay(10);
end;
#50:{2}
begin
i:=0;
repeat
t1.coord(a1+i,b1,a2+i,b2,a3+i,b3);
t1.mov1(1,0);
delay(0);
i:=i+1;
until keypressed or (i=600);
t1.cl1;
end;
#51:{3}
begin
{coord;}
{a2i:=a2;b2i:=b2;a3i:=a3;b3i:=b3;}
t.coord(a1,b1,a2,b2,a3,b3);
t.ris;
repeat
ch:=readkey;
case ch of
#72: {вверх}
begin
t.podobh;
end;
#80 :{вниз}
begin
t.podobl;
end;
end;
until ch=#27;
t.cl;
end;
#52:{4} begin i:=0;
repeat
i:=i+1;
t2.coord(a1+i,b1,a2+i,b2,a3+i,b3);
t2.mov2(1,0);
delay(1);
until keypressed or (i=600);
t2.cl2;
end;
end;
UNTIL ch=#13;
closegraph;
END.
Вопросы к зачету по информатике
Тема: “Файлы”
Теоретические вопросы.
1. Понятие файла (физический файл, файл в среде Турбо-Паскаль).
2. Отличие структуры данных “файл” от структуры данных “массив”.
3. Описание файлового типа данных. Примеры.
4. Запись и считывание элементов файла. Примеры.
5. Текстовые файлы и их отличия от других файловых типов.
Практические задания.
1. Дан символьный файл. Требуется записать его элементы в другой файл, заменяя идущие подряд одинаковые элементы одним таким же элементом.
2. Дан символьный файл. Подсчитать и вывести на экран количество элементов файла не используя функцию filesize.
3. Дан целочисленный файл f. Записать в символьный файл числа из файла f.
4. Из текстового файла создать новый файл, исключив самую длинную и самую короткую строки.
5. Дан целочисленный файл f. Записать в новый файл элементы файла f, которые удовлетворяют условию: меньше некоторой величины a, но больше некоторой величины b,
6. Дан целочисленный файл f, Создать целочисленный файл g, содержащий квадраты элементов файла f, стоящих на четных позициях файла.
7. Дан целочисленный файл f, Создать целочисленный файл g, содержащий кубы элементов файла f, стоящих на нечетных позициях файла.
8. Дан целочисленный файл f. Создать файл, состоящий из разности рядом стоящих элементов файла.
Пример: F: 1233; G: 110
9. Дан текстовый файл. Записать в другой файл все элементы первого, отличные от некоторого заданного символа.
10. Дан текстовый файл, Изменить его следующим образом: всякий раз, когда встречается некоторый заданный символ, вставлять перед ним пробел.