Структура программы на turbo pascal:
Методическое сопровождение
Интерактивный дидактический материал – методические рекомендации «В помощь начинающему программисту» - направлен на активизацию познавательной деятельности обучающихся и ознакомление с реализацией алгоритмических структур в среде программирования Turbo Pascal.
Методические рекомендации «В помощь начинающему программисту» содержат цифровой образовательный ресурс (презентация) и методическое сопровождение. Предлагаемые методические рекомендации можно использовать при изучении темы по информатике «Алгоритмизация и программирование».
Рекомендуются учителям информатики, обучающимся старших классов общеобразовательных средних школ и всем увлекающимся программированием.
Введение
XXI век – эпоха информационного общества, бурный прогресс в области развития персональных компьютеров, постоянное внедрение новых информационных технологий, широкий спектр языков программирования. Современному обществу необходимы грамотные IT-специалисты.
Основная цель данных методических рекомендаций состоит в том, чтобы дать ключевые понятия программирования, вовлечь обучающихся в программирование.
Задачи:
1. Рассмотреть алфавит языка программирования Turbo Pascal, переменные, операцию присваивания, встроенные функции.
2. Изучить и показать на примерах реализацию алгоритмических конструкций (линейного, разветвлённого, циклического, вспомогательного алгоритмов), графики и массива в среде программирования Turbo Pascal.
3. Активизировать познавательную деятельность обучающихся в области программирования.
Под языком программирования понимается совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера.
АЛФАВИТ языка Turbo Pascal.
1.Прописные и строчные буквы латинского алфавита.
A, B, C, D, E… a, b, c, d, e…
2.Десятичные цифры. 0 1 2 3 4 5 6 7 8 9
3.Знаки арифметических операций.
+ сложение
- вычитание
* умножение
/ деление
4.Знаки операций отношений.
> больше
< меньше
< > не равно
< = меньше или равно
> = больше или равно
4.Специальные символы.
{} - . , : ; ‘ # [ ] $ ( ) ^ @ _ пробел
: = присвоить
(* *) можно использовать вместо фигурных скобок ({ })
Типы данных: числовые, символьные, строковые, логические.
Числовые – целочисленные (integer) и вещественные [с фиксированной точкой -7.23 и плавающей точкой – 2.437 Е+02 -> 243.7] (real).
Символьные (char).
Логические (boolean).
Строковые (string)
Некоторые зарезервированные слова:
And, begin, program, then, for, to, goto, else, var, do, repeat, string, of, label…
Переменные - это область в памяти компьютера, для которой предусмотрено уникальное имя (идентификатор) и содержимое которой в ходе работы программы может изменяться. Когда переменной присваивается новое значение, её старое значение теряется. Все используемые переменные должны быть объявлены в разделе описания переменных (var). Переменной задаётся её тип, определяющий, какие значения может принимать данная переменная.
Константы – постоянные значения объявляются в разделе описания констант (const).
Операция присваивания: имя переменной: = арифметическое выражение;
y: = 5 z: = 78*x a: = b q: = 29+ 196
Операция присваивания используется для изменения значений переменных. Тип выражения, находящегося в правой части оператора присваивания, должен соответствовать типу переменной, имя, которой стоит слева.
Встроенные функции.
Математическая | TURBO PASCAL |
cos x | cos (x) |
sin x | sin (x) |
![]() | sqrt (x) |
x2 | sqr (x) |
|x| | abs (x) |
ln x | ln (x) |
tg x | sin (x)/ cos (x) |
Заголовок программы (program) - это последовательность из букв латинского алфавита, цифр, знаков подчёркивания, начинающаяся с буквы и содержащая не более 8 символов.
АЛГОРИТМЫ И ПРОГРАММЫ.
ОПЕРАТОРЫ TURBO PASCAL.
сlrscr; | Очистка окна вывода |
read(список имён переменных); | Оператор ввода данных (останавливает работу программы и ждёт ввода данных через пробел с клавиатуры) |
readln(список имён переменных); | Оператор для ввода данных и перевода курсора на новую строку |
readln; | Пустой оператор для задержки изображения на экране монитора, используется в конце программы |
write(список вывода); | Оператор вывода |
writeln(список вывода); | Оператор вывода и перевода курсора на новую строку |
writeln; | Пустой оператор для перевода курсора на новую строку |
uses crt; | Вызов модуля Сrt |
textbackground(c); | Процедура установки цвета фона, где с-цвет |
textcolor(c); | Процедура установки цвета шрифта, где с-цвет |
Var
a,b:real;
c:real;
Begin
writeln(‘Вычисление суммы’);
readln(a,b);
c:=a + b;
writeln(‘ Ответ:с= ‘,c:6:2);
readln;
End.
Var
a,b:real;
c:real;
Begin
writeln(‘Нахождение наибольшего числа’);
readln(a,b);
ifa>bthen
c:=a
Else
c:=b;
writeln(‘ Ответ:с= ‘,c:6:2);
readln;
End.
{Составить программу нахождения корней квадратного уравнения ax2 + bx + c =0}
programsqroot;
uses crt;
Var
a,b,c: real; {коэффициенты уравнения}
x,x1,x2:real; {корни уравнения}
D:real; {дискриминант}
Begin
writeln(‘*Решение квадратного уравнения*’);
write(‘Введите в одной строке значения коэффициентов’);
writeln(‘и нажмите <Enter>’);
write(‘->’);
readln(a,b,c); {ввод коэффициентов}
D:= sqr(b) – 4 * a * c;
ifD<0
Then
writeln(‘Уравнение не имеет корней.’)
Else
Begin
ifD>0
Then
Begin
x1:= (- b + sqrt(d)) / (2 * a);
x2:= (- b - sqrt(d)) / (2 * a);
writeln(‘x1= ‘,x1,’x2= ’,x2);
end
Else
Begin
x:= - b / (2 * a);
writeln(‘x= ‘, x );
end;
end;
readln;
End.
Var
N:integer;
I: integer;
Begin
writeln(‘Вывод чисел от 1 до 100’);
N:=1;
forI:=1to100do
write(I:4);
N:=N+1;
readln;
End.
Begin
writeln(‘Пароль’);
while word <> ‘terminator’ do
Begin
writeln(‘Введите пароль’);
readln;
readln(word);
end;
writeln(‘Правильно! Вы допущены к работе!’);
readln;
End.
Begin
clrscr;
x:=x_min;
Repeat
y:=a*sqr(x);
writeln(‘x=’,x:2,’y=’,y:4);
x:=x+hx;
Until
x>x_max;
readln;
End.
Процедуры и функции.
Объявление процедуры:
procedureимя процедуры (список формальных параметров: тип идентификатора);
const {описание констант}
var {описание переменных}
begin{начало тела процедуры}
операторы;
end;{конец тела процедуры}
При вызове процедуры формальные параметры становятся фактическими.
Объявление функции:
function имя функции (список формал. параметров: тип идентиф. ): тип идентификатора;
const {описание констант}
var {описание переменных}
begin{начало тела функции}
операторы;
ИмяФункции:=Значение;
end;{конец тела функции}
Обращение к функции в основной программе производится по имени функции с указанием фактических параметров. Число, тип, порядок следования фактических параметров должен соответствовать формальным параметрам, указанным в описании функции.
Использование процедуры или функции зависит от конкретного случая. Если подпрограмма вычисляет единственный результат, её можно реализовать как функцию. Если же от подпрограммы требуется вычислить несколько значений, её лучше оформить в виде процедуры.
{Поиск максимального числа из трёх введённых чисел}
programMAX_3;
usescrt;
vara,b,c,z1,z2:integer;
procedure MAX_2(x,y:integer; var z:integer);
Begin
if x>y then z:=x else z:=y;
end;
BEGIN
clrscr;
writeln(‘Поиск максимума из трёх чисел’);
writeln(‘Введите три числа через пробел и нажмите Enter’);
readln(a,b,c);
MAX_2(a,b,z1);
MAX_2(c,z1,z2);
writeln(‘Максимальное число’, z2);
readln;
End.
РЕКУРСИЯ
В TURBO PASCALдопускается наличие в теле подпрограммы оператора вызова самой себя. Такие подпрограммы называются рекурсивными, а такой способ вызовы – рекурсией.
Во всех рекурсивных подпрограммах должно присутствовать какое-то условие прекращения рекурсии. При этом единственном условии рекурсия должна прекратиться; при всех остальных условиях она будет продолжаться.
Рекурсия – удобный подход при решении некоторых задач, например, вычисление факториала.
{Рекурсивная функция «Факториал»}
programfactor;
uses crt;
functionfactorial(k:integer):integer;
Begin
ifk=1
thenfactorial:=1
else factorial:=k* factorial(k-1);
end;
Var
n:integer; {число, факториал которого надо вычислить}
f:integer; {факториал числа n}
Begin
writeln(‘Вычисление факториала’);
writeln(‘Введите число, факториал которого надо вычислить’);
write(‘ - >’);
readln(n);
f:= factorial(n);
writeln(‘Факториал числа ‘,n, ‘ равен’,f);
readln;
End.
ГРАФИКА на TURBO PASCAL.
Турбо Паскаль имеет специальный графический модуль graph, который содержит графические процедуры и функции.
Модуль graph описывается с помощью директивы uses: uses graph;
В обычном состоянии после загрузки экран находится в текстовом режиме, при этом применять графические процедуры невозможно. Необходимо перейти в графический режим. Для этого в программе прописываются следующие процедуры:
|
var grdr,grmod:integer;
Begin
grdr:=detect;
initgraph(grdr,grmod,’’);
_ _ _ _ _ _ _ _ _ _ _ _
closegraph;
End.
Процедуры графического модуляgraph .
putpixel(x,y,c); - изображение точки с координатами х,у; с – номер цвета.
line(x1,y1,x2,y2); - изображение отрезкапрямой, ограниченный точками с координатами х1,у1и х2,у2.
rectangle(x1,y1,x2,y2); - изображение рамки.
bar(x1,y1,x2,y2); - изображение прямоугольника, где х1,у1 - начало и х2,у2 - конец диагонали прямоугольника.
circle(x,y,r); - изображение окружностирадиуса r с центром в точке с координатами х, у.
arc(x,y,alf1,alf2,r); - изображение дуги радиуса r с центром в точке с координатами х, у, где alf1,alf2 – углы в градусах.
setbkcolor(c); -указание цвета фона, с- номер цвета.
setcolor(c); - цвет рисования для putpixel, line, circle.
setfillstyle(obr,c); - цвет заполнения для bar, floodfill, где obr=o – цвет фона, obr=1 – номер указанного цвета.
floodfill(x,y,c); - заполнение замкнутой области, ограниченной линией цвета с, в соответствии с процедурой setfillstyle.
setlinestyle(stil, pattern, tolsch); - указание типа линии.
outtextxy(x,y, ‘Текст’); - устанавливает указатель вывода в точку с координатами x,y и выводит строку символов Текст.
|
{Выводит узор из концентрических окружностей разного цвета}
program uzor;
uses graph;
{Выводит узор из концентрических окружностей разного цвета}
var grdr,grmod:integer;
x,y,r:integer; {координаты центра и радиус окружности}
dr:integer; {приращение радиуса окружности}
i: integer; {счётчик циклов}
Begin
grdr:=detect;
initgraph(grdr,grmod,’’);
setbkcolor(8);
x:=320:y:=240;
r:=20;dr:=15;
for i:=1 to 15 do
Begin
setcolor(i);
circle(x,y,r);
r:=r + dr;
end;
readln;
closegraph;
End.
МАССИВЫ.
- Массив – структура данных, представляющая собой совокупность элементов одного типа.
- Массив имеет имя, которое даёт ему программист.
- Массив должен быть объявлен в разделе объявления переменных.
- При объявлении массива удобно использовать именованные константы
var a:array[1..n] of integer;
· Доступ к элементу массива осуществляется путём указания индекса (номера) элемента, в качестве которого можно использовать выражение целого типа, например, целую константу или переменную типа integer.
· Одномерный массив - линейная таблица (1 индекс – i ); двумерный массив – прямоугольная таблица (2 индекса – i,j).
· Для ввода, вывода и обработки массивов удобно применять инструкции циклов (for, while, repeat).
Блок ввода элементов массива:
for i:=1 to n do
read (a[i]);
Блок ввода элементов массива:
fori:=1tondo
Begin
write(‘a[‘,i,’]=’);
readln(a[i]);
end;
Блок вывода элементов массива:
for i:=1 to n do
write(a[i]);
Задача.
Требуется определить среднюю и минимальную температуру за данный период, а также число дней, когда температура была выше 0, если дано:
Данные наблюдений температуры воздуха за 10 дней.
-3 | -5 | -4 | -7 | -11 | -3 |
program Temperatura;
uses crt;
const n=10;
var i,s:integer; t_sred:real; t_min:integer; n_pol:integer; T:array[1..n] of integer;
BEGIN
clrscr;
{Ввод элементов массива}
writeln(‘Введите массив из ‘,n,’ элементов’);
for i:=1 to n do
read(T[i]);
{Вывод элементов массива}
writeln(‘Введённые элементы массива:’);
for i:=1 to n do
write(T[i]:4);
writeln;
readln;
{Нахождение минимальной температуры}
t_min:=T[1];
for i=2 to n do
if T[i]<t_min
then t_min:=T[i];
{Нахождение средней температуры}
s:=0
for i=1to n do
s:=s+T[i];
t_sred:=s/n;
{Нахождение числа дней, когда температура была выше 0}
n_pol:=0;
for i:=1 to n do
if T[i]>0
then n_pol:=n_pol+1;
writeln(‘t_min=’,t_min, ‘t_sred=’,t_sred:4:1, ‘n_pol=’,n_pol’);
readln;
END.
Методическое сопровождение
Интерактивный дидактический материал – методические рекомендации «В помощь начинающему программисту» - направлен на активизацию познавательной деятельности обучающихся и ознакомление с реализацией алгоритмических структур в среде программирования Turbo Pascal.
Методические рекомендации «В помощь начинающему программисту» содержат цифровой образовательный ресурс (презентация) и методическое сопровождение. Предлагаемые методические рекомендации можно использовать при изучении темы по информатике «Алгоритмизация и программирование».
Рекомендуются учителям информатики, обучающимся старших классов общеобразовательных средних школ и всем увлекающимся программированием.
Введение
XXI век – эпоха информационного общества, бурный прогресс в области развития персональных компьютеров, постоянное внедрение новых информационных технологий, широкий спектр языков программирования. Современному обществу необходимы грамотные IT-специалисты.
Основная цель данных методических рекомендаций состоит в том, чтобы дать ключевые понятия программирования, вовлечь обучающихся в программирование.
Задачи:
1. Рассмотреть алфавит языка программирования Turbo Pascal, переменные, операцию присваивания, встроенные функции.
2. Изучить и показать на примерах реализацию алгоритмических конструкций (линейного, разветвлённого, циклического, вспомогательного алгоритмов), графики и массива в среде программирования Turbo Pascal.
3. Активизировать познавательную деятельность обучающихся в области программирования.
Под языком программирования понимается совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера.
АЛФАВИТ языка Turbo Pascal.
1.Прописные и строчные буквы латинского алфавита.
A, B, C, D, E… a, b, c, d, e…
2.Десятичные цифры. 0 1 2 3 4 5 6 7 8 9
3.Знаки арифметических операций.
+ сложение
- вычитание
* умножение
/ деление
4.Знаки операций отношений.
> больше
< меньше
< > не равно
< = меньше или равно
> = больше или равно
4.Специальные символы.
{} - . , : ; ‘ # [ ] $ ( ) ^ @ _ пробел
: = присвоить
(* *) можно использовать вместо фигурных скобок ({ })
Типы данных: числовые, символьные, строковые, логические.
Числовые – целочисленные (integer) и вещественные [с фиксированной точкой -7.23 и плавающей точкой – 2.437 Е+02 -> 243.7] (real).
Символьные (char).
Логические (boolean).
Строковые (string)
Некоторые зарезервированные слова:
And, begin, program, then, for, to, goto, else, var, do, repeat, string, of, label…
Переменные - это область в памяти компьютера, для которой предусмотрено уникальное имя (идентификатор) и содержимое которой в ходе работы программы может изменяться. Когда переменной присваивается новое значение, её старое значение теряется. Все используемые переменные должны быть объявлены в разделе описания переменных (var). Переменной задаётся её тип, определяющий, какие значения может принимать данная переменная.
Константы – постоянные значения объявляются в разделе описания констант (const).
Операция присваивания: имя переменной: = арифметическое выражение;
y: = 5 z: = 78*x a: = b q: = 29+ 196
Операция присваивания используется для изменения значений переменных. Тип выражения, находящегося в правой части оператора присваивания, должен соответствовать типу переменной, имя, которой стоит слева.
Встроенные функции.
Математическая | TURBO PASCAL |
cos x | cos (x) |
sin x | sin (x) |
![]() | sqrt (x) |
x2 | sqr (x) |
|x| | abs (x) |
ln x | ln (x) |
tg x | sin (x)/ cos (x) |
Заголовок программы (program) - это последовательность из букв латинского алфавита, цифр, знаков подчёркивания, начинающаяся с буквы и содержащая не более 8 символов.
АЛГОРИТМЫ И ПРОГРАММЫ.
СТРУКТУРА ПРОГРАММЫ на TURBO PASCAL:
program{имя программы}
uses{описание стандартных модулей}
label{список меток} раздел описания
const{список постоянных значений}
type{описание сложных типов данных}
var{описание данных программы}
begin{начало программного блока}
{алгоритм} программный
end.{конец программы} блок
ОПЕРАТОРЫ TURBO PASCAL.
сlrscr; | Очистка окна вывода |
read(список имён переменных); | Оператор ввода данных (останавливает работу программы и ждёт ввода данных через пробел с клавиатуры) |
readln(список имён переменных); | Оператор для ввода данных и перевода курсора на новую строку |
readln; | Пустой оператор для задержки изображения на экране монитора, используется в конце программы |
write(список вывода); | Оператор вывода |
writeln(список вывода); | Оператор вывода и перевода курсора на новую строку |
writeln; | Пустой оператор для перевода курсора на новую строку |
uses crt; | Вызов модуля Сrt |
textbackground(c); | Процедура установки цвета фона, где с-цвет |
textcolor(c); | Процедура установки цвета шрифта, где с-цвет |