Даже не знаю) очень сложно для меня
Using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
private readonly Pen mainPen_ = new Pen(Color.Blue, 4);
private Bitmap bmp_;
private Point currentPoint_;
private Graphics g;
private Point previousPoint_;
public Form1() {
this.InitializeComponent();
}
private void bOpen_Click(object sender, EventArgs e) {
// Описываем объект класса OpenFileDialog
var dialog = new OpenFileDialog {
Filter = "Image files (*.BMP, *.JPG, *.GIF, *.PNG)|*.bmp;*.jpg;*.gif;*.png"
};
// Задаем расширения файлов
// Вызываем диалог и проверяем выбран ли файл
if (dialog.ShowDialog() != DialogResult.OK) {
return;
}
// Загружаем изображение из выбранного файла
var image = Image.FromFile(dialog.FileName);
this.pictureBox1.Width = image.Width;
this.pictureBox1.Height = image.Height;
// Создаем и загружаем изображение в формате bmp84
this.bmp_ = new Bitmap(image);
// Записываем изображение в pictureBox1
this.pictureBox1.Image = this.bmp_;
// Подготавливаем объект Graphics для рисования
this.g = Graphics.FromImage(this.pictureBox1.Image);
this.g.SmoothingMode = SmoothingMode.AntiAlias;
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {
// Записываем в предыдущую точку текущие координаты
this.previousPoint_ = new Point(e.X, e.Y);
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e) {
// Проверяем нажата ли левая кнопка мыши
if (e.Button != MouseButtons.Left) {
return;
}
// Запоминаем текущее положение курсора мыши
this.currentPoint_ = new Point(e.X, e.Y);
// Соеденяем линией предыдущую точку с текущей
this.g.DrawLine(this.mainPen_, this.previousPoint_, this.currentPoint_);
// Текущее положение курсора - в previousPoint_
this.previousPoint_ = this.currentPoint_;
// Принудительно вызываем перерисовку
this.pictureBox1.Invalidate();
}
private void bSave_Click(object sender, EventArgs e) {
// Описываем и порождаем объект savedialog
var savedialog = new SaveFileDialog {
Title = "Сохранить картинку как...",
OverwritePrompt = true,
CheckPathExists = true,
Filter =
"Bitmap File(*.bmp)|*.bmp|" +
"GIF File(*.gif)|*.gif|" +
"JPEG File(*.jpg)|*.jpg|" +
"PNG File(*.png)|*.png"
};
// Показываем диалог и проверяем задано ли имя файла
if (savedialog.ShowDialog() != DialogResult.OK) {
return;
}
var format = ImageFormat.Jpeg;
switch (Path.GetExtension(savedialog.FileName)) {
case "bmp":
format = ImageFormat.Bmp;
break;
case "jpg":
format = ImageFormat.Jpeg;
break;
case "gif":
format = ImageFormat.Gif;
break;
case "tif":
format = ImageFormat.Tiff;
break;
case "png":
format = ImageFormat.Png;
break;
default:
break;
}
this.bmp_.Save(savedialog.FileName, format);
}
private void bChangePixels_Click(object sender, EventArgs e) {
// Циклы для перебора всех пикселей на изображении
for (var x = 1; x < this.bmp_.Width; x++) {
for (var y = 1; y < this.bmp_.Height; y++) {
var c = this.bmp_.GetPixel(x, y);
if (c.B >= 200 && (c.R + c.G) <= 200) {
this.bmp_.SetPixel(x, y, Color.Red);
}
}
this.Refresh();
}
}
}
}
1.
Program num1;
Uses crt;
Var
a :array [1..100] of integer;
i,k,n, s : integer;
Begin
clrscr;
s:=0;
write('K=');readln(k);
write('N=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
if (a[i] MOD k)=0 then s:=s+a[i];
writeln('S=',s);
End.
2.
Program num2;
Uses crt;
Var
a :array [1..100] of real;
i,n,j : integer;
x : array [1..100] of real;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
j:=1;
for i:=1 to n do
if a[i]=0 then
begin
x[j]:=i;
j:=j+1
end;
for i:=1 to j-1 do
write(x[i],' ');
End.
3.
Program num3;
Uses crt;
VAr
a :array [1..100] of real;
i,n : integer;
Begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
begin
if a[i]<>0 then
if a[i]>0 then
begin
writeln('Положительное встречается раньше');
break
end else
begin
writeln('Отрицательное встречается раньше');
break
end;
end;
End.
4.
Program num4;
Uses crt;
Var
a : array [1..100] of real;
i, n, j :integer;
Begin
clrscr;
write('n=');readln(n);
a[n+1]:=a[n]+1;
for i:=1 to n do
readln(a[i]);
j:=0;
i:=1;
while i<n do
begin
if a[i]<a[i+1] then
begin
j:=j+1;
i:=i+1
end
else
begin
writeln('Последовательность невозрастающая');
break
end;
end;
if i=n then writeln('Последовательность возрастающая');
End.
260000 нужно умножить 1028 получим мб и еще 1028 получим кб
1. Найдем объем изображения:
128*128=16384
2. Найдем какое количество бит отводится на пиксель:
2*1024*8/16384=1
3. Получили 1 бит на пиксель. Следовательно количество цветов будет равно 2¹=2
Ответ: 2