Использование языка ассемблера в программах на Turbo Pascal 7.0 Тема: Проектирование программы оболочки.
Задание: Написать программу наподобие FAR manager, NC, проводник, позволяющую переходить по каталогам на текущем носителе. При отображении в текущем каталоге файлы с заданным атрибутом выделить цветом, отличающимся от остальных файлов. Внутри каждого файла текущего каталога найти количество повторений слова, заданно-го преподавателем.
Требования к работе: Файлы обрабатывать как нетипизированные. Подготовить заранее не менее 5 примеров. В число примеров обязательно должны быть включены файлы, в которых слово начинается в одном блоке и заканчивается в другом. Лабораторную работу можно писать в среде Delphi или Turbo Pascal.
Состав отчета: Титульный лист; постановка задачи; текст программы; описание результатов работы с экранными копиями.
Варианты лабораторных работ. Вариант состоит из трех цифр: первая - длина искомого слова; вторая - атрибут файла; третья - цвет выделения. (10 вариант) 7-(длина слова) 2-(атрибут файла скрытый) 5-(цвет коричневый)
Лабораторная работа 4
Тема: Расчет приближенных корней уравнения.
Задание: Написать на языке С (Visual C) программу по нахождению корня уравнения на промежутке с точностью до 0,01. Вывести график функции, точки приближения на графике, количество итераций, значение корня.
Состав отчета: Титульный лист; постановка задачи; текст программы; описание результатов работы с экранными копиями.
Варианты лабораторных работ. В вариантах работ первая цифра - уравнение, вторая - промежуток; третья - метод.
(10 вариант) уравнение: 3Х^(3)-13Х^(2)-14Х+57 Промежуток: [1,3] (метод дихотомии).
2) в 1 дюйме = 2,54 см, значит в 10 см содержится 3,94 дюйма (10/2,54 = 3,94)
3) 3,94* 1200 = 4728 пикселей по ширине и по высоте экрана
4) 4728 * 4728 = 22353984 точек в цветном изображении 10 на 10 см
5) 22353984 * 24 = 536495616 бит - информационный объем изображения
Переведем в большие единицы измерения:
536495616 бит / 8 = 67061952 байт / 1024 = 65490,2 Кбайт / 1024 = 64 Мбайта
ответ: полученный файл будет 64 Мбайта.
Вот Вам еще два на выбор.
1. Без массива
var
s,n:integer;
begin
Write('Введите сумму: '); Read(s);
n:=s div 5000;
if n>0 then begin
Writeln('Банкнот "5000" всего: ',n);
s:=s mod 5000
end;
n:=s div 1000;
if n>0 then begin
Writeln('Банкнот "1000" всего: ',n);
s:=s mod 1000
end;
n:=s div 500;
if n>0 then begin
Writeln('Банкнот "500" всего: ',n);
s:=s mod 500
end;
n:=s div 100;
if n>0 then begin
Writeln('Банкнот "100" всего: ',n);
s:=s mod 100
end;
n:=s div 50;
if n>0 then begin
Writeln('Банкнот "50" всего: ',n);
s:=s mod 50
end;
n:=s div 10;
if n>0 then begin
Writeln('Банкнот "10" всего: ',n);
s:=s mod 10
end;
if s>0 then Writeln('Недоплачено: ',s)
end.
Пример:
Введите сумму: 162504
Банкнот "5000" всего: 32
Банкнот "1000" всего: 2
Банкнот "500" всего: 1
Недоплачено: 4
2. С массивом
const
k:array[1..6] of integer=(5000,1000,500,100,50,10);
var
s,n,i:integer;
begin
Write('Введите сумму: '); Read(s);
for i:=1 to 6 do begin
n:=s div k[i];
if n>0 then begin
Writeln('Банкнот "',k[i],'" всего: ',n);
s:=s mod k[i]
end
end;
if s>0 then Writeln('Недоплачено: ',s)
end.
Пример
Введите сумму: 15470
Банкнот "5000" всего: 3
Банкнот "100" всего: 4
Банкнот "50" всего: 1
Банкнот "10" всего: 2