Програмування мовою Pascal

Опис документу:
Програмування мовою Pascal

Відображення документу є орієнтовним і призначене для ознайомлення із змістом, та може відрізнятися від вигляду завантаженого документу. Щоб завантажити документ, прогорніть сторінку до кінця

Перегляд
матеріалу
Отримати код Поділитися

1.

program MyProgram; а:b=x
var
  a,b: integer;
  x: real;
begin
  readln(a,b);
  x := a/b;
  writeln(x);
end.

2.

uses GraphABC;
begin
  var x := 100;
 
var y := 100;
 
var r := 50;
  Circle(x,y,r);
3.

// Присваивания += -= *= /=

var

i: integer;

r: real;

begin

i := 1;

writeln('i = ',i);

i += 2; // Увеличение на 2

writeln('i = ',i);

i *= 3; // Умножение на 3

writeln('i = ',i);

r := 6;

writeln('r = ',r);

r /= 2;

writeln('r = ',r);

end.

4.

// Автоопределение типа переменной

// Описание переменной в заголовке цикла for

begin

var x := 3;

for var i:=1 to 5 do

begin

write(x, ' ');

x += 2;

end;

end.

5.

// Перемена местами значений двух переменных с использованием третьей

var x,y: real;

begin

write('Введите x,y: ');

readln(x,y);

var v: real := x; // вспомогательная переменная

x := y;

y := v;

writeln('Новые значения x,y: ',x,' ',y);

end.

6.

/// Вывод с помощью Print

begin

Print(1,2,3)

end.

7.

// Генерация случайного числа в заданном диапазоне

begin

var i := Random(8,19);

writeln('Случайное : ',i);

end.

8.

// Иллюстрация простейших возможностей GraphABC

uses GraphABC;

begin

Coordinate.Origin := Window.Center;

(делает круг по центру)

Coordinate.SetMathematic;

(поворот влево)

Brush.Color := Color.LightSkyBlue;

(цвет голубой)

while True do

begin

LockDrawing;

(блокировка от рисования)

ClearWindow;

(очищает окно белым)

Ellipse(-120,-70,120,70);

Line(0,0,200,0);

Line(0,0,0,200);

Redraw;

(перерисовывает содержимое графического окна, работает в паре с LockDrawing;)

Coordinate.Angle := Coordinate.Angle + 1;

(угол поворота системы координат)

Sleep(100);

(пауза на 100 милисекунд)

end;

end.

9.

// Иллюстрация обработки событий мыши

uses GraphABC;

procedure MouseDown(x,y,mb: integer);

begin

MoveTo(x,y);

end;

procedure MouseMove(x,y,mb: integer);

begin

if mb=1 then LineTo(x,y);

end;

begin

// Привязка обработчиков к событиям

OnMouseDown := MouseDown;

OnMouseMove := MouseMove

end.

uses GraphABC; (квадрат)

begin

Rectangle(30,30,80,80);

Rectangle(85,30,135,80);

Rectangle(140,30,190,80);

end.

uses GraphABC;

begin

for var i:=0 to 7 do

Rectangle(30+i*55,30,80+i*55,80);

end.

uses GraphABC;

const

x0 = 30;

y0 = 30;

w = 50; // размер квадрата

step = 55; // шаг между квадратами

n = 10;

begin

for var i:=0 to n-1 do

Rectangle(x0+i*step,y0,x0+w+i*step,y0+w);

end.

uses GraphABC; (размер окна)

begin

setwindowsize(240,180);

end.

uses GraphABC; (название окна)

begin

setwindowtitle('окно');

end.

uses GraphABC;

begin

setwindowtitle('окно');

Setpixel(300,200,clred);

TextOut(300, 200, 'точка')

end.

uses GraphABC; (линия крвсная)

var

x: integer;

begin

for x := 100 to 500 do

SetPixel(x, 200, clRed)

end.

(прямоугольник не закрашеный)

Program my_Rectangle;

uses

GraphABC;

var

x, y, x1, y1, x2, y2: integer; //координаты вершин прямоугольника

begin

x1 := 100; y1 := 150; //координаты левого верхнего угла

x2 := 400; y2 := 300; //координаты правого нижнего угла

{ Нижняя и верхняя сторона: }

for x := x1 to x2 do begin //здесь изменяется x

PutPixel(x, y1, clRed);

PutPixel(x, y2, clRed)

end;

{ Левая и правая сторона: }

for y := y1 to y2 do begin //здесь изменяется y

PutPixel(x1, y, clRed);

PutPixel(x2, y, clRed)

end

end.

(закрашеный прямоугольник)

Program my_FillRectangle;

uses

GraphABC;

var

x, y, x1, y1, x2, y2: integer; //координаты вершин прямоугольника

begin

x1 := 100; y1 := 150; //координаты левого верхнего угла

x2 := 400; y2 := 300; //координаты правого нижнего угла

for y := y1 to y2 do

for x := x1 to x2 do

PutPixel(x, y, clBrown) //точки коричневого цвета

end.

Цвет пера и толщина

uses graphabc;

begin

setpencolor(clred);

setpenwidth(6);

rectangle(50,60,100,130);

end.

Текст наклонный и цвет красный

uses graphabc;

begin

setfontcolor(clred);

setfontstyle(fsitalic);

TextOut(300, 200, 'точка')

end.

uses //Подключение модуля

crt;

begin

textbackground (2); //Перекраска фона в зелёный

clrscr; //Очистка экрана и применени цвета фона

textcolor (13); //Текст будет розовым цветом

gotoxy (9,6); //Курсор будет перемещён в точку (9;6)

write ('Hi, people!'); //Вывод текста

delay (1500); //Задержка

textbackground (3); //Фон будет салатного цвета

clrscr; //Очистка экрана

gotoxy (20,20); //Курсор перемещён в точку (20;20)

textcolor (red); //Цвет текста - красный

write ('Hi!'); //Вывод текста

readln;

end. //Конец программы

2. Целочисленное деление
Данное делит число только на цело, то есть при таком способе деления невозможно получить десятичную или периодическую дробь. В программе пишется, как "div" без кавычек. Данный оператор работает только с типом integer!

{ввод данных}
x:=48 div 5;
{вывод данных}

3. Получение остатка
Данный способ позволяет получить не само число, которое должно получится, а остаток. Допустим при делении 48 на 5 мы получим 3 при таком способе деления. В программе обозначается, как "mod" без кавычек:

{ввод данных}
x:=48 mod 5;
{вывод данных}

калькулятор

var a, b, sum, raz, pro, c: integer;

del: real;

begin

readln (a, b); // считываем два числа

sum:=a+b; // складываем числа

raz:= a-b; // вычтаем

pro:=a*b; // умножаем

del:=a/b; // выполняем простое деление

c:=a div b; //делаем целочисленное деление

a:= a mod b; // находим остаток, при этом меняем значение a

writeln ('сумма - ', sum); // выводим сумму

writeln ('разность - ', raz); // выводим разность

writeln ('произведение - ', pro); // выводим произведение

writeln ('простое деление - ', del); // выводим обычное деление

writeln ('целочисленное деление - ', c); // выводим результат целочисленного деления

writeln ('остаток - ', a); // выводим остаток

end.

Возведение в квадрат

var a, c:integer;

begin

writeln ('Введите число');

readln (a);

c:=sqr(a);

writeln ('Квадрат равен ',c);

end.

 Сегодня мы будем разбираться в операторе условия. Он работает по принципу: Если (условие), то (команда 1), иначе (команда 2). 

Слово если выполняет команда IF, слово тогда then, а иначе else. На деле этот цикл выглядит так:

var

a,c:integer;

begin

writeln ('vvedite a');

readln (a);

writeln ('vvedite c');

readln(c);

if a <> c then // Если а не равно с, то

a:=c // а будет равно с

else a:=2; // иначе а равно 2.

{конец программы}

writeln ('a =', a);

readln(a);

end.

Все циклы делятся на две группы - это циклы с условием и цикл с параметром (FOR). Циклы с условием в свою очередь делятся на циклы с предусловием (WHILE) и циклы с постусловием (REPEAT). То есть цикл с параметром задает параметр (условие выполнения цикла) сразу, цикл с предусловием проверяет работу цикла в начале, с постусловием - в конце. 

1. Цикл с параметром в Паскале - FOR

Цикл FOR задаёт определённое условие по которому программа будет работать до его выполнения, допустим нужно нам 5 (или n) раз зациклить программу, то это легко сделать с помощью данного цикла. У цикла FOR есть характерная черта - счетчик который обычно обозначается буквой i или j. 

Внешний вид цикла с параметром в паскале:

for i:= 1 to n do // присваиваем i сначала одному, потом двум, трем, ..., n



После 1-го прохода переменной i присваиваем 1, после второго присваиваем 2 и так до тех пор, пока не дойдем до n. to - это до .. в порядке возрастания, также есть downto - до .. в порядке убывания. 

2. Цикл с предусловием в Паскале - WHILE

Оператор цикла с предусловием выполняет действия заранее неизвестное число раз. Выход из цикла осуществляется, если некоторое логическое выражение или его результат окажется ложным. Так как верность логического выражения проверяется в начале, тело цикла может не выполнится ни одного разу.

Структура цикла с предусловием:

WHILE  <условие> DO

        begin

                <тело цикла>

        end;



- логическое выражение, истинность которого проверяется вначале выполнения циклического оператора;

- любые выполняемые операторы языка.

Порядок выполнения цикла:

Пока условие истинно выполняется тело цикла. Как только условие становится ложно выполнение цикла прекращается.

Задача: вычислить сумму ряда 1+1.5+2+2.5+3+3.5+ .. + 30

program example-while;

var

   sum:real;

   n:real;

BEGIN

   sum:=0;

   n:=1;

   while n <= 30 do

        begin

           sum:=sum+n;

           n:=n+0.5;

        end;

   writeln('Сумма равна: ',sum);

END.

Зверніть увагу, свідоцтва знаходяться в Вашому особистому кабінеті в розділі «Досягнення»

Всеосвіта є суб’єктом підвищення кваліфікації.

Всі сертифікати за наші курси та вебінари можуть бути зараховані у підвищення кваліфікації.

Співпраця із закладами освіти.

Дізнатись більше про сертифікати.

Приклад завдання з олімпіади Українська мова. Спробуйте!
До ЗНО з БІОЛОГІЇ залишилося:
0
4
міс.
1
0
дн.
1
3
год.
Готуйся до ЗНО разом із «Всеосвітою»!