Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Задание к лабораторной работе
Вычислить на ЭВМ значение суммы членов бесконечного ряда с заданной точностью и значение суммы, определяемое пределом суммы ряда (по формуле). Напечатать значения сумм и число циклов ряда, вошедших в сумму.
1 x=0.7, E=10-4
2 E=10-4
3 x=1.5, E=0.5 *10-3
4
6 Даны числовой ряд и некоторое число ξ. Найти сумму тех членов ряда, модуль которых больше или равен заданному ξ. Общий член ряда имеет вид:
7. 8. 9.
10. 11. 12.
13. 14. 15.
ЛАБОРАТОРНАЯ РАБОТА № 15
Обработка строк
Цель работы: Ознакомиться со строковыми данными. Получить навыки организации работы со строковыми переменными: удалением, вставкой, копированием, заменой одной строки на другую и т.д. Литература: В.П. Попов TURBO PASСAL.для школьников. Версия 7.0. Краткие теоретические сведения: Турбо-Паскаль предоставляет средства для работы с данными строкового типа, которые в дальнешем будем называть стрингами. Строковыи тип данных предствляет собой цепочку символов. Длина цепочки может изменяться от 0 до 255. Для определение строкового типа используется служебное слово string, за которым в квадратных скобках указывается максимальная длина строки,например: Type Line=string[25]; Var Mlin, aline:line; … В данном примере переменная mlin представляет собой последовательность,включающую до 25 символов, причем каждый символ имеет стандартный тип char. Значение строковой переменой может быть назначено оператором присваивания, либо введено с устройства ввода, Например: aline:=’ВСТИ’; MLIN:=ALINE; READLN(MLIN); Изображение строки строится из цепочки символов и заключается в апострофы. Максимальная длина строки может быть задана 256 символов. Процедуры и функции работы со строками Данные процедуры и функции работы со строками (в отличие процедур и функций модуля Strings) используют стандартные строки языка Паскаль
Порядок выполнения работы: 14. Включить ПЭВМ 15. Загрузить интегрированную среду TURBO PASCAL 16. Перейти в окно редактирования и создать текст программы: 8. Записать созданный текст программы в файл на диске. 9. Провести компиляцию программы. Если в процессе компиляции обнаружена ошибка, ее необходимо исправить. Сохранить откорректированный файл на диске и провести компиляцию снова 10. Выполнить программу. Правильные результаты представить преподавателю и переписать в отчет. 11. Выйти из среды TURBO PASCAL. Содержание отчета:
Контрольные вопросы: 11. Правила сравнения числовых и символьных данных 12. Назначение кода ASCII. Основные группы кодов. 13. Встроенные функции языка Паскаль, используемые для обработки символьных данных. Задание к лабораторной работе 1. Даны две фамилии. Определить, сколько раз во втором слове встречается первая буква первой фамилии. 2. Даны два слова одинаковой длины. Присвоить переменной К число, равное количеству попарно одинаковых букв. 3. Дано предложение длиной 10 символов. Образовать новое предложение,. Включив внего символы исходного в обратном порядке. 4. Дано предложение длиной 10 символов. Образовать новое предложение, включив в него символы исходного, но заменив символы “А” и “е” на пробелы 5. Образовать последовательность символов, включив в неё символы исходного предложения, расположенных на нечетных позициях 6. Из двух восьмибуквенных слов образовать последовательность букв, в которой должны чередоваться буквы первого и второго слова 7. Имеются две таблицы, содержащие по 5 слов. Образовать новую таблицу. В которой должны чередоваться слова 1-ой и 2-ой таблицы. 8. Задан текст из 20 букв. Подсчитать в нем количество букв “а” и “о”. 9. Дан текст, состоящий из 20 букв. Проверить, можно ли из заданной последовательности символов составить Ваше имя и напечатать его. В противном случае напечатать текст “Нет имени”. 10. Дан текст длиной 10 символов. Слова текста разделены пробелом. Сформировать новый текст, включив в него слова заданного и разделив их двумя пробелами. 11. Даны 5 названий городов. Расположить их в порядке убывания количества букв в названиях. 12. Дан текст, содержащий 15 символов. Определить, какой символ встречается в тексте чаще всего 13. Дано предложение. Напечатать это предложение, расположив каждое слово на новой строке 14. Даны два предложения. Напечатать то предложение, в котором больше слов. 15. Дано предложение. Если в этом предложении первая буква встречается более 3 раз, заменить её на восклицательный знак. Исходный текст задать самостоятельно таким образом, чтобы решалась задача.
ЛАБОРАТОРНАЯ РАБОТА № 16-17 Построение простых графических изображений. Цель работы: Овладение навыками работы с графическим режимом экрана, используя модуль GRAPH Литература: В.П. Попов TURBO PASCAL.для школьников. Версия 7.0. Краткие теоретические сведения:
Для подключения модуля Graph, как и любого другого модуля, необходимо внести его имя в предложении USES. Однако этого недостаточно для того, чтобы перейти в графический режим. Инициализация графического режима работы осуществляется процедурой INITGraph (A,B: Integer;C:String), где переменная А определяет тип графического драйвера, В задает режим работы адаптера, С содержит имя файла драйвера и, возможно, полный путь до него. Тип драйвера должен соответствовать типу адаптера. В настоящее время используется в основном тип VGA, соответствующий цифре 9, однако, если вы не уверены, что правильно установили тип адаптера, можете воспользоваться режимом автоопределения типа – Detect. Uses Graph; Var A, B: Integer; Begin A:= detect; InitGraph (A,B,’C:\TP7\BGI’); …………….. End. Подпрограммы Graph позволяют адресоваться к любому пикселю графического экрана и управлять его светимостью. Для указания пикселя используется следующая система координат: верхний левый угол графического экрана имеет координаты 0,0; горизонтальная координата Х увеличивается слева направо, вертикальная координата У – сверху вниз. Например, в режиме 640х480 (адаптер VGA) правый нижний угол экрана имеет координаты 639х479, а центр экрана – координаты 319х239. В модуле имеется несколько процедур для рисования элементарных графических фигур - точек, линий, окружностей, прямоугольников, дуг и т.п. При необходимости замкнутые фигуры могут быть закрашены различными цветами и стилями. Процедура SetViewPort создает на экране графическое окно. Если окно определено, весь дальнейший графический вывод осуществляется относительно координат этого окна и отсекается его границами. Порядок выполнения работы: 17. Включить ПЭВМ 18. Загрузить интегрированную среду TURBO PASCAL 19. Перейти в окно редактирования и создать текст программы: 10. Записать созданный текст программы в файл на диске. 11. Провести компиляцию программы. Если в процессе компиляции обнаружена ошибка, ее необходимо исправить. 12. Сохранить откорректированный файл на диске и провести компиляцию снова 13. Выполнить программу. Правильные результаты представить преподавателю и переписать в отчет. 14. Выйти из среды TURBO PASCAL. Содержание отчета:
Контрольные вопросы: 1. Какой модуль обеспечивает графику на ЭВМ? 2. Как инициализировать графический режим, если неизвестно, какой графический драйвер используется на данной машине? 3. Что такое пиксель и каковы его характеристики? 4. Всегда ли необходимо явно задавать все параметры процедуры INITGRAPH? 5. С помощью, каких функций можно узнать размеры экрана и количество цветов в цветовой гамме данного графического режима? 6. Могут ли на экране высвечиваться одновременно отрезки прямых линий разных цветов? 7. Где будет графический курсор после выполнения одной из процедур PUTPIXEL, Line, LineRel, LineTo, как это проверить практически? 8. Всегда ли высвечиваются рисуемые точки после определения графического окна? 9. Какими процедурами можно нарисовать окружность? 10. Как отсчитываются углы в тех процедурах, где они используются в качестве параметров? 11. Почему в процедурах Rectangle и Bar указываются координаты лишь двух вершин прямоугольника? 12. Какие из рассмотренных процедур рисуют линии, а какие – области? 13. Влияет ли процедура SetLineStyle на результаты работы процедур, которые рисуют области? 14. Влияет ли процедура SetFILLStyle на результаты работы процедур, которые рисуют линии? 15. К каким результатам приводит обращение к процедуре FloodFill, когда первые два её параметра задают точку лежащую вне области, охватываемой линией? 16. Что произойдет, если в процедуре FLOODFILL линия, охватывающая заданную точку, окажется не замкнутой? 17. Можно ди результаты процедур BAR, PieSlice получать с использованием других процедур?
Задание к лабораторной работе: 1. Построить круговую диаграмму, отображающую процентное соотношение отличников, хорошистов и прочих. Для заливки секторов использовать различные шаблоны и цвета. 2. Построить столбиковую диаграмму, отображающую рост цен на бензин 3. Построить график функции, заданной в индивидуальном задании.
Методические указания: Для выполнения первого задания необходимо следовать следующего алгоритма: 1. В текстовом режиме ввести с клавиатуры три значения KO, KX, KP – количество отличников, хорошистов, прочих. 2. Подсчитать общее количество элементов, входящих в систему: K=KO+KX+KP. 3. Вычислить процентное отношение группы элементов в системе, и округлить: PRO=KO*100/K; PRX=KX*100/K; PRP=KP*100/K 4. Вычислить, сколько градусов составляет та или иная группа элементов, если весь круг 360 градусов = 100%, т.е. первый сектор, определяющий отличников определяется по формуле, и округлить GRO=360*PRO/100; GRX=360*PRX/100; GRP=360*PRP/100 5. Инициализировать графический режим. 6. Используя графические процедуры и функции вывести на экран круговую диаграмму. Например: a. Для цвета заливки SetFillStyle(1,cyan) b. Для построения сектора – pieSlice (319,174,0,gro,100); c. Для построения комментария Bar (520,70,530,80) d. Для вывода текста OutTextxy(535,70,’ Отличники’) Для выполнения второго задания необходимо следовать следующего алгоритма 1. Ввести количество периодов (годов) N. 2. Для хранения значения цен на бензин, создать одномерный массив BN вводом с клавиатуры для N годов. 3. Определить максимальное значение элементов, входящих в систему, в нашем примере максимальную стоимость (Мах) бензина за рассматриваемый период времени.(С помощью алгоритма определения максимального в одномерном массиве) 4. Инициализировать графический режим. 5. Рассчитать высоту НМах в пикселах самого высокого столбика Мах, используя функцию GETMAXY. Нмах:=getmaxY-100; 6. Вычислить количество пикселов KPixH, приходящихся на единицу стоимости kPixH:=round(hmax/max); 7. Вычислить высоту в пикселах каждого элемента системы. В цикле для каждого элемента массива BN[i]:=BN[i] * kpixH; 8. рассчитать ширину одного столбика, учитывая при этом межстолбиковое расстояние и используя функцию GETMAXX. ST:= trunc ((GetmaxX-100/n)+2; 9. Используя графические процедуры и функции вывести столбиковую диаграмму на экран. Stt:=50; В цикле FOR вычислить: Setfillstyle (1,1+i); Bar (stt,hmax-bn[i],stt+st,hmax); Stt:=stt+st; Для выполнения третьего задания используйте пример программы, приведенный ниже При отображении графика функции на экране необходимо выполнить переход от локальной системы координат в систему координат экрана, а так же во избежание помех рассчитать граничные значения Х, при которых Y начинает выходить за пределы экрана. uses graph; var dr,mode,errcode:integer; x,y,x1,y1,cx,cy,xg:integer; Begin dr:=detect; initgraph(dr,mode,'c:\bp\bgi'); errcode:=graphresult; IF errcode=grok THEN {uspeshno} Begin cx:=round(getmaxx/2);cy:= round(getmaxy/2); line(0,cy,getmaxx,cy); line(cx,0,cx,getmaxy); xg:=round(sqrt(20*(getmaxy-cy))); for x:=-xg to xg do begin x1:=x+cx; y:=sqr(x); y1:=getmaxy-round(y/20+cy); circle(x1,y1,2); end; settextstyle(0,0,2); outtextxy(180,350,'grafik function y=sqr(x)'); readln; closegraph; End ELSE WRITELN(' ERROR GRAPH'); end. Варианты заданий: 1. Y:=A*LN(X); 2. Y:=A*SIN(X); 3. Y:=A*EXP(X); 4. Y:=A*X*X+B*X+C 5. Y:=A*TG(X); 6. Y:=A*ARCTG(X); 7. Y:=A*XN+C, N=1 8. Y:=A*XN+C, N=2 9. Y:=A*XN+C, N=3 10. Y:=A*XN+C, N=4
Значения a, b,c, - произвольные.
Date: 2015-12-12; view: 1187; Нарушение авторских прав |