Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Информатика / Другие методич. материалы / Учебное пособие Основы программирования (начальный курс) Система программирования Турбо Паскаль
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 26 апреля.

Подать заявку на курс
  • Информатика

Учебное пособие Основы программирования (начальный курс) Система программирования Турбо Паскаль

библиотека
материалов







Основы программирования

(начальный курс)



Система программирования

Турбо Паскаль








Составитель А.В. Дейнекин


Редактор Ревенко М.А. Пр. ВГПУ





Мужичанская Средняя Школа

2012г.

Основы понятия


Алгоритм – это строго детерминированная (определённая, обусловленная) последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью понятных исполнителю команд.


Программа – это алгоритм, записанный на языке исполнителя,

(на «понятном» компьютеру языке программирования).


Назначение программирования – разработка программ управления компьютером с целью решения различных информационных задач.

Для составления программ существуют разнообразные языки программирования.

Компьютер – исполнитель, работает с определёнными данными, по определённой системе команд.

Любые данные (константы, переменные, значения функций) характеризуются своими типами.


Существуют три основных типа данных:

  1. числовой – целочисленный, вещественный.

  2. символьный – строковый и литерный.

  3. логический.


Тип данных определяет:

  1. формат представления данных в памяти компьютера.

  2. множество допустимых значений, которые может принимать принадлежащая к выбранному типу переменная или константа.

  3. множество допустимых операций, применяемых к этому типу.


Поэтому необходимо «чтобы компьютер понимал» переменные, какого типа используются в программе.

Для этого необходимо объявление типа переменных используемых в программе иначе «Паскаль» откажется выполнять программу, выведет на экран монитора ошибку в случае обнаружения не описанной переменной.






I Числовые типы данных


Целый тип данных:

Integer (интеджер) – целый.

- операции, используемые для работы с целыми переменными:

+; -; *;

div – деление нацело;

mod – нахождение остатка от деления нацело.

- функции, дающие вещественный результат:

Abs(x) – Абсолютная величина Х

Sqr(x) – Возведение Х в квадрат

Trunc(x) – Выделение целой части числа Х

Round(x) – Округление Х до целого числа

Int(x) – Выделяет целую часть вещественного числа Х

Вещественный тип данных:

Real (риэл) – вещественный.

- операции используемые для работы с переменными вещественного типа: +; -; *; /;

- функции, дающие вещественный результат:

sin(x) – Синус числа Х

cos(x) – Косинус числа Х

sin(x)/cos(x) – Тангенс числа Х

arctan(x) – Арктангенс числа Х

ln(x) – Натуральный логарифм числа Х

exp(x) – Экспонента числа Х

sqrt(x) – Корень квадратный числа Х

frac(x) – Выделяет дробную часть числа Х


Переменные

Переменные (имя переменной) – в программировании, как и в математике, обозначаются символическими именами называемые – идентификаторами (идентифицировать-обозначать). Имя каждой переменной уникально и не может меняться в процессе выполнения программы.

Именем переменной в Паскале может служить любая последовательность латинских букв, цифр и знака подчёркивания, не начинающаяся с цифры, содержащая до 255 символов, кроме пробела, знаков препинания, других символов.


Правильная запись: Неправильная запись:

A x velisch zzz polnaja_summa Ж 2as polhaja summa er&tu

Значениями переменных могут быть данные различных типов, тип переменной определяется типом данных, которые могут быть значениями переменной.

Значениями переменных числовых типов (Real, Integer, Long Int) – являются числа.


Для объявления типа переменной используется оператор (служебное слово) определения переменной VAR (вар) – переменная.


Синтаксис оператора описания переменных:

VAR (имя переменной) : (тип переменной);


С помощью одного оператора можно описать сразу несколько переменных.

(пример): VAR x, y : Integer;

shastnoe : Real;

оtvet : String;


Константы.

Переменные, значения которых не меняются в процессе выполнения программы, называются – константы


Синтаксис объявления констант:

CONST (имя константы) = (значение константы);


(пример):

CONST Pi = 3.14159;


Арифметические выражения.

Из переменных можно образовывать арифметические выражения.

В состав арифметических выражений могут входить кроме переменных, константы и числа.

Над переменными и числами могут производиться различные операции, а также математические операции, выраженные с помощью функций.

Порядок вычисления арифметических выражений соответствует общепринятому порядку выполнения арифметических операций, который может изменяться с помощью скобок.









Правила записи арифметических выражений на языке ПАСКАЛЬ:

  1. Выражение должно быть записано в виде линейной цепочки символов. (2*х)/(y+3) ,а не hello_html_28496498.gif

  2. Нельзя опускать знаки операций. (4*х, а не 4х).

  3. Большие и сложные выражения нужно разбивать на несколько простых выражений, а повторяющиеся действия вычисляются отдельно.

  4. В выражениях разрешается писать только круглые скобки, количество скобок не ограничено, в правильно записанном выражении число открывающих и число закрывающих скобок должно быть равным.

  5. В десятичных дробях ставится точка . ,а не запятая , .

  6. Аргументы функций записываются в круглых скобках ( ).


Структура программы на языке ПАСКАЛЬ.


Program <название программы>;

Var

<раздел описания> {описываются переменные, константы, процедуры, функции}

Begin {би’гин - начало}

<раздел операторов>;

End. {энд - конец}


Раздел операторов

Для задания действий над данными служит оператор (команда).

Набор допустимых операторов и их синтаксис чётко определён.

Не важно, какими буквами: заглавными или строчными и каким шрифтом записаны названия служебных слов и операторов

Пример: BEGIN или begin или bEgIn .

В конце каждого оператора ставится ; разделитель между операторами.

BEGIN читается (би’гин) – начало. Ставится в начале программы, чтобы компьютеру было видно, откуда она начинается.

END. (энд) – конец. С точкой ставится в конце программы, что бы компьютеру было видно где программа заканчивается.


Точкой с запятой ( ; ) необходимо отделять операторы друг от друга. Служебные слова BEGIN и END от операторов точкой с запятой отделять не нужно.


Оператор присваивания

Оператор присваивания используется для изменения значений переменных, в том числе и для вычислений по формулам.

Переменная может получить или изменить значение с помощью оператора присваивания, то есть оператор присваивает переменной значение или выражение.


Синтаксис оператора присваивания


<имя переменной> : = <значение или выражение>

пример: х := 6; z := x+y; x := x+y;

Слева может стоять только переменная, не число и не выражение. Оператор сначала смотрит или вычисляет, какое значение имеет правая часть, а затем присваивает это значение переменной.

Если правая часть содержит переменную, которой не присвоено значение, то ПАСКАЛЬ может подставить любое значение вместо переменной.


Оператор ввода данных


Ввод с клавиатуры во время работы программы исходных данных (значений переменных), т.е присвоение переменным значений, выполняется с помощью операторов READ и READLN.


Синтаксис оператора ввода

READLN (рид’лайн) – читай строку

READ (Рид) – читай.


READLN ( переменная1, переменная2);


Пример: READLN (dlinna, visota, schirina);

Вводимые значения заключаются в круглые скобки.


Оператор READLN или оператор READ приказывают компьютеру остановится и ждать, когда программист введёт с клавиатуры данные, после чего продолжить работу.

Если вводятся несколько данных, то они вводятся в той последовательности, в которой записаны переменные, которым присваиваются их значения, и разделяются знаком пробела. ПАСКАЛЬ воспринимает нажатие пробела как сигнал программиста о том, что закончен набор на клавиатуре одного числа и сейчас начнётся набор другого. После набора на клавиатуре последнего числа необходимо нажать клавишу ENTER в знак того, что ввод чисел для данного оператора закончен, и компьютер может продолжать работу. Направляет числа в память, в соответствующие ячейки и переходит к следующему оператору.

В принципе оператор присваивания ( := ) и оператор ввода (READLN и READ) делают одно и тоже, присваивают переменным значения. Однако программа с использованием оператора ввода (READLN и READ) гораздо универсальнее, если оператор присваивания ( := ) решает задачу с конкретными данными (числами), то оператор ввода (READLN и READ) решает задачу с любыми значениями данных (чисел) введённых с клавиатуры.

Оператор READLN может использоваться и без скобок READLN;

В таком случае, компьютер остановится и будет ждать, но не ввода какой-то информации, а просто нажатия клавиши ENTER. Таким образом, это просто оператор создания паузы в процессе выполнения программы.

НАПРИМЕР: выполнив программу, ПАСКАЛЬ торопится погасить экран с результатами решения задачи. Поэтому результат не возможно разглядеть. Оператор READLN поставленный после оператора вывода WRITELN, выводящего результат на экран, задаёт паузу. Во время этой паузы экран не гаснет, так как программа ещё не завершена до конца (END.) и можно посмотреть результаты. После этого нажатие клавиши ENTER позволяет компьютеру продолжить выполнение программы, то есть закончить её командой END. .


Оператор вывода данных


Вывод на экран монитора сообщений и значений переменных (результат) выполняется с помощью операторов вывода WRITE и WRITELN.

Синтаксис оператора вывода


WRITELN (райт’лайн) – пиши строку

WRITE (райт) – пиши.


1) WRITELN ( результат1, результат2); или

2) WRITELN ( выражение1, выражение2);

Выводимые значения заключаются в круглые скобки.


Пример:

1) WRITELN (ploschad, objm);

программа выведет на экран значение переменных 34 18

2) WRITELN (dlina*schirina, ploschad*visota);

программа подставит значения переменных, произведёт вычисления и выведет на экран результат 34 18

Правила записи и выполнения операторов WRITELN и WRITE одинаковые с одним исключением, после выполнения оператора WRITELN следующий оператор WRITELN или WRITE печатает свою информацию с начала следующей строки (при использовании WRITELN курсор переводится на новую строку), а после выполнения оператора WRITE продолжает печатать в той же строке.

Пример: WRITE(5) ; WRITE(8); на экране будет 58


WRITELN(5); WRITELN(8); на экране будет 5

8

Вывод чисел типа REAL

Переменные, описанные как REAL, ПАСКАЛЬ выводит на экран в экспоненциальном формате ( число 72 будет выведено как 7.20000000000000Е+0001 ).

Чтобы ПАСКАЛЬ выводил вещественные числа типа REAL в обычном виде необходимо записывать WRITELN (ploschad:10:3), а не WRITELN (ploschad).

Число 10 значит, что всё изображение числа не должно занимать больше 10 символов, включая: целую часть, дробную часть, знак числа, и десятичную точку, число 3 означает три знака после десятичной точки. Целая часть числа будет составлять 10 – (3 знака после запятой) – (1 знак числа) – (1 десятичная точка) = 5 знаков. Если целая часть меньше 5 знаков, то пробелы отображаться не будут, если больше 5 знаков, то целая часть числа всё равно будет печататься полностью.


Порядок составления программы:

  1. Определить последовательность решения задачи - разработать алгоритм решения

( Программа - это инструкция по её решению, определить формулы её решения).

  1. Определить количество используемых переменных и придумать имена переменных.

(Имя переменной должно говорить о её смысле. Чтобы и после какого-то времени можно было бы легко разобраться в программе, лучше писать schirina, а не Х ).

  1. Определить тип используемых переменных и описать их.

  2. Определить способ и задать исходные данные решения задачи – продумать интерфейс. (Используя оператор присваивания := или оператор ввода READLN).

  3. Задать действия, которые надо проделать с исходными данными, чтобы получить результат.

  4. Вывести на экран полученный результат.

( Используя операторы вывода WRITELN или WRITE).

Интерфейс пользователя

Некоторые приёмы, делающие программу более наглядной, простой для понимания и для работы с ней.

Когда программа запускается на выполнение, она делает паузу на операторе ввода и ждёт вводимых данных. Мы видим пустой экран монитора, на котором нет никаких обозначений, что от нас ждёт компьютер или какие данные мы должны ввести. То есть трудно догадаться, особенно с течением времени после создания программы или использованием её другим пользователем, что компьютер чего-то ждёт. Это не очень удобно, хорошо было бы, если на экране выводилось указание дальнейших действий. Это касается и вывода результатов. На пустом экране выводятся числа, не всегда понятно их значение.

Всё это означает, что у нашей программы неудобный интерфейс пользователя, то есть пользователю, применяющему нашу программу не удобно с ней работать.

Чтобы интерфейс стал более удобным, необходимо ввести новые элементы.


1) Перед выводом данных, вывести на экран указания к вводу данных, в форме текстовых констант (текст комментария заключённый в апострофы (кавычки)).

Синтаксис

WRITELN(‘комментарий – текстовая константа’);

Пример:

WRITELN (‘введите значение длинны, ширины и высоты’);

На экране во время паузы для ввода данных появится надпись: введите значение длинны, ширины и высоты.


2) Подобно выводятся пояснения к выводимому результату.

Синтаксис

WRITELN(‘комментарий ’,переменная, ‘комментарий ’,переменная);

Пример:

WRITELN (‘площадь фигуры равна’, ploschad, ’объём фигуры равен’ , objm:10:3);

На экране будет выведен результат виде:

площадь фигуры равна 34 объём фигуры равен 18


3)В программе также могут использоваться комментарии взятые в фигурные скобки { комментарии}

Пример: ploschad := dlina *schirina; { нахождение площади фигуры}



Пример:

Программа с «неудобным» интерфейсом


program korobok;

var shirina, tol, ploshad : integer;

visota, objom : real;

begin

readln(shirina, tol, visota);

ploshad:=shirina * tol;

objom:=ploshad * visota;

writeln(ploshad, objom:10:2);

end.


Программа с «удобным» интерфейсом.


program korobok; {нахождение площади основания и объёма параллелепипеда}

var shirina, tol, ploshad : integer;

visota, objom : real;

begin

writeln('введите ширину, толщину, высоту');

readln(shirina, tol, visota);

ploshad:=shirina * tol;{нахождение площади основания}

objom:=ploshad * visota;{вычисление объема параллелепипеда}

writeln('площадь ',ploshad,' ','объём',objom:10:2);

readln

end.


program dialog;

var imya:string;

vozrast:integer;

begin

writeln('здравствуй, я компьютер, а тебя как зовут?');

readln(imya);

writeln('очень приятно, ',imya,'. Сколько тебе лет?');

readln(vozrast);

writeln('ого! целых ',vozrast,' лет! Ты уже совсем взрослый!')

end.




Линейные алгоритмические конструкции

Линейные программы

Программы с линейной структурой является простейшими и используются, как правило, для реализации обычных вычислений по формулам.

В линейной алгоритмической конструкции операторы выполняются последовательно друг за другом. При каждом выполнении такой программы она выполняется вся целиком, то есть выполняются все её операторы.

В линейных программах используются три оператора: оператор ввода, оператор присваивания, оператор вывода.


БЛОК-СХЕМА

hello_html_mfeb6042.gif

hello_html_4f957c4c.gif

hello_html_m8ecd525.gif

hello_html_27029b02.gif

КОМАНДА 1

КОМАНДА 2

КОМАНДА 3

-----------------

КОМАНДА N






hello_html_27029b02.gif

hello_html_3ae03626.gif

hello_html_27029b02.gif

hello_html_57beef49.gif


ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ


PROGRAM <название программы>;

VAR <описание переменных>;


BEGI

READLN (ввод данных) ;

ОПЕРАТОР 1 ;

ОПЕРАТОР 2 ;

ОПЕРАТОР 3 ;

ОПЕРАТОР n ;


WRITELN (вывод результата) ;

END.

Пример:

Найти гипотенузу и площадь прямоугольного треугольника, если известны катеты. ( Значения катетов вводятся с клавиатуры.)


PROGRAM poisk gipotenuzi I ploschadi;

VAR katet_1, katet_2, gipotenuza, ploschad : REAL;


BEGIN

WRITELN (‘введите значение катетов’);

READLN (katet_1, katet_2);

gipotenuza := sqrt ( sqr ( katet_1) + sqr ( katet_2));

ploschad := ( katet_1 * katet_2) / 2;

WRITELN (‘гипотенуза равна’,gipotenuza:5:2, ’площадь треугольника равна’ ,ploschad:5:2);

END.



Условные алгоритмические конструкции


Оператор «ветвление»

В алгоритмическую структуру «ветвление» в отличие от линейного алгоритма входит условие. В зависимости от выполнения или не выполнения, которого реализуется та или иная последовательность команд (операторов). Условием называется высказывание, которое может быть либо истинным, либо ложным.

Условие, записанное на формальном языке – называется логическим выражением. Логические выражения могут быть простыми и сложными. Сложное – это объединение простых условий по средствам логических операций (и, или, не).


Под ветвлением подразумевается ситуация, когда на основании проверки некоторых условий в программе реализуется один из нескольких заранее предопределённых путей решения задачи.


Синтаксис оператора.


IF <условие> THEN <оператор1> ELSE <оператор2>;


IF (иф) – если

THEN (зэн) – то

ELSE (элз) – иначе


После THEN и ELSE – стоять может только один оператор, (любой оператор ПАСКАЛЯ).

Перед ELSE точку с запятой ставить запрещено.

Под условием будем понимать арифметические выражения соединённые знаком сравнения ( <, >, =,<>, <=, >= ), или несколько выражений сравнения, соединенных знаками логических операций AND (и), OR (или), NOT (не). Условия, к которым применяются логические операции, заключаются в круглые скобки, пример: IF (a>b) and (a<c).

Если условие справедливо, то результатом будет логическая величина «истина» и выполнение программы продолжается по ветви «да» (по пути THEN (то)), в противном случае логическое выражение примет значение «ложь» и выполнение программы пойдёт по ветви «нет» (по пути ELSE (иначе)).



БЛОК СХЕМА

hello_html_m9e5373b.gif
















ЯЗЫК ПРОГРАММИРОВАНИЯ

ПАСКАЛЬ


PROGRAM <название программы>;

VAR <описание переменных>;


BEGIN


IF <условие>


THEN <оператор 1>


ELSE <оператор 2>;

END.

Пример:

Найти большее из двух чисел. (Числа вводятся с клавиатуры).



PROGRAM bolschee iz dvug;

VAR a,b : REAL;


BEGIN

WRITELN (‘ведите 2 числа’) ; {пояснительная надпись}

READLN (a,b) ;


IF a>b {определение большего числа

THEN WRITELN(a) и вывод результата на экран}

ELSE WRITELN(b);


READLN; {установка паузы для просмотра результата}

END.










Условный оператор может быть записан и в краткой форме.


Синтаксис оператора «не полное ветвление»


IF <условие> ТHEN <оператор> ;


БЛОК СХЕМА

hello_html_m77313f34.gif

















ЯЗЫК ПРОГРАММИРОВАНИЯ

ПАСКАЛЬ


PROGRAM <название программы>;

VAR <описание переменных>;


BEGIN

WRITELN <ввод данных>;


IF <условие>


THEN <оператор 1>;


END.



Пример:

Введенное с клавиатуры число вывести на экран, если оно положительное и вывести его абсолютную величину (ABS) если число отрицательное.


PROGRAM bolschee iz dvug;

VAR a : REAL;

BEGIN

WRITELN (‘ведите число’) ; {пояснительная надпись}

READLN (a) ;


IF a<0 {определение знака числа}

THEN a := ABS (a) ; { значение числа берётся по модулю}

WRITELN (a); { вывод результата на экран}

READLN ; {установка паузы для просмотра результата}

END.


Если выбор необходимо сделать из 3 вариантов. Для этого используется схема вложенного ветвления. Где после THEN и ELSE может стоять ещё одно ветвление.


БЛОК СХЕМА



hello_html_m2fc2bf20.gif

















ЯЗЫК ПРОГРАММИРОВАНИЯ

ПАСКАЛЬ


PROGRAM <название программы>;

VAR <описание переменных>;


BEGIN

WRITELN <ввод данных>;

IF <условие>

THEN

IF <условие>

THEN <оператор 1>

ELSE <оператор 2>


ELSE

IF <условие>

THEN <оператор 3>

ELSE <оператор 4>;

END.

Пример: Найти большее из трёх чисел. (Числа вводятся с клавиатуры).


PROGRAM bolschee_iz_3;

VAR a,b,c :REAL;

BEGIN

WRITELN (‘введите три числа’);

READLN (a,b,c);

IF a>b

THEN

IF a>c

THEN WRITELN (a)

ELSE WRITELN (c)

ELSE

IF b>c

THEN WRITELN (b)

ELSE WRITELN (c);

READLN;

END.

Существует неудобство от того, что после THEN и ELSE можно писать только один оператор.

В ПАСКАЛЕ есть средство превратить последовательность записанных друг за другом операторов формально в один оператор. Для этого последовательность операторов заключается между словами begin и end. Получившаяся конструкция называется – составным оператором.

Составной оператор используется в тех местах программы, в которые разрешёно использование только одного оператора.

Слова, составляющие пару THEN и ELSE, BEGIN и END записываются друг под другом.
































Оператор «выбор».

Оператор «выбор» применяется для реализации ветвления со многими вариантами серий команд.

В структуру выбор в ходит несколько условий, проверка которых осуществляется в строгой последовательности их записи в команде выбора. При истинности одного из условий выполняется соответствующая последовательность команд.

Синтаксис оператора


CASE <переменная> OF {в случае, если переменная равна… }

<значение переменной> : <оператор 1> ;

<значение переменной> : <оператор 2> ;

<значение переменной> : <оператор 3> ;

<значение переменной> : <оператор n> ;

ELSE <оператор n+1>;

END; {конец оператора CASE}


CASE (кейс) – случай {в случае если переменная равна…}

OF (эв) – предлог


БЛОК СХЕМА

hello_html_m43fec098.gif

















ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ


PROGRAM название программы

VAR описание переменных


BEGIN

RЕADLN (ввод данных)

CASE переменная OF

Значение переменной : оператор 1;

Значение переменной : оператор 2;

Значение переменной : оператор 3;

ELSE оператор 4;

END ;

WRITELN (вывод результата);

END.



Пример:

По введённому номеру ноты вывести на экран её словесное название.


PROGRAM notnaj azbuka;

VAR nomer_noti : INTEGER ;

BEGIN

WRITELN (‘введите номер ноты’);

RЕADLN (nomer_noti);

CASE nomer_noti OF

1 : WRITELN (‘ДО’);

2 : WRITELN (‘РЕ’);

3 : WRITELN (‘МИ’);

4 : WRITELN (‘ФА’);

5 : WRITELN (‘СОЛЬ’);

6 : WRITELN (‘ЛЯ’);

7 : WRITELN (‘СИ’)

ELSE WRITELN (‘ТАКОЙ НОТЫ НЕТ’);

END ;

END.

В процессе исполнения оператора CASE компьютер по очереди сравнивает значение переменной со всеми значениями, перечисленными перед двоеточиями. Встретив совпадающее значение, он выполняет оператор, стоящий после двоеточия. На этом исполнение оператора CASE завершается. Если же совпадающего значения так и не нашлось, то выполняется оператор стоящий после слова ELSE. После ELSE может стоять цепочка операторов записанных через точку с запятой.

Если оператор CASE не найдёт совпадения с переменной, не выберет ни один из своих вариантов и при отсутствии ELSE, то он завершает свою работу, так ничего и не сделав.


У оператора CASE есть ограничения – переменная стоящая после слова CАSE должна быть порядкового типа (Integer, Long Int, Char).









Циклические алгоритмические конструкции

Циклические программы


Циклы позволяют многократно выполнять отдельный оператор или последовательность операторов, причём при этом нет необходимости записывать в тексте программы одинаковые операторы несколько раз.

То есть ЦИКЛ – главное средство заставить компьютер много раз сделать одно и тоже.

Циклы позволяют многократно выполнять отдельный оператор или последовательность операторов, причём при этом нет необходимости записывать в тексте программы одинаковые операторы несколько раз.

Цикл со счётчиком (с параметром):

Когда заранее известно, какое число повторений тела цикла необходимо выполнить, используется циклическая конструкция - цикл со счётчиком.

Счётчик это переменная величина, в которой что-либо подсчитывается.


Синтаксис конструкции цикл со счётчиком.


FOR <параметр цикла> := <выражение 1> TO <выражение 2> DO

<оператор> ;


FOR <фор> - для

TO <ту> - до

DO <ду> - делай

{для I изменяющегося от1 до 50 делай…(операторы)}


Вариант использования «обратного» счётчика DOWNTO.


FOR <имя переменной> := <выражен1> DOWNTO <выражен2> DO

<оператор> ;


DOWNTO (даунту) – вниз до

{для I изменяющегося от 50 до 1 делай…(операторы)}







БЛОК СХЕМА


hello_html_5812bb06.gif














ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ


PROGRAM название программы

VAR описание переменных


BEGIN

RIADLN (ввод данных);


FOR i:= (нач.зн) TO (кон.зн) DO


ОПЕРАТОР 1 ;

ОПЕРАТОР 2 ;

ОПЕРАТОР n ;

WRITELN (вывод результата);

END.



В операторе FOR обязательно указываются параметры:

  • Имя переменной – в которой хранится число повторений цикла (счётчик цикла – порядковая перечисляемая переменная).

  • Начальное значение или Выражение 1 – начальное значение для переменной цикла (счётчика), которое она получает при первом выполнении цикла.

  • Конечное значение или Выражение 2 – некоторое конечное значение (для переменной цикла) достигнув которое повторение цикла прекращается (условие завершение цикла).


В качестве переменной цикла должна выступать порядковая (перечисляемая) переменная типа INTEGER. Тип REAL не допустим.

Пример: FOR j := 1 TO 15 DO k:=k+1 ;

В начале выполнения цикла значение переменной счётчик (i) устанавливается равным начальному значению. При каждом проходе цикла переменная счётчик увеличивается на величину шага. Если она достигает величины, большей конечного значения, то цикл завершается и выполняется следующая за ним команда.


Выражение 1 и выражение 2 – произвольные выражения порядкового (целого) типа.

Пример: FOR j := a+b TO 2*S DO k:=k+1 ;

Вычисляется выражение1 и переменной цикла i присваивается его значение. Затем вычисляется выражение 2 и сравнивается с i. Если i> выражения 2, то оператор FOR завершает работу, так не чего и не сделав.


В противном случае выполняется оператор (составной оператор) стоящий после DO. После выполнения этого оператора значение i увеличивается на единицу и снова сравнивается с выражением 2.

Если i > выражения 2 то оператор FOR завершает работу, иначе снова выполняется оператор стоящий после DO, снова значение i увеличивается на единицу и так далее.

После DO может стоять только один оператор, по этому при необходимости используют составной оператор, заключённый в операторные скобки BEGIN и END.


Произвольные значения, хранящиеся изначально в переменных должны быть ”уничтожены” – обнулены. Поэтому мы присваиваем переменной обозначающей сумму значение ноль (summa:=0), а переменной обозначающей произведение значение единицы (proizvidenie:=1). Иначе в операции сложения при выполнении цикла будет участвовать произвольное значение переменной summa (proizvedenie ) т.е. любое произвольное число выбранное ПАСКАЛЕМ, а в повторном выполнении значение предыдущего сеанса работы.



Пример:

Написать 20 раз слово ИНФОРМАТИКА.


PROGRAM kopirovanie ;

VAR i : INTEGER ;

BEGIN

FOR i:= 1 TO 20 DO

WRITELN (‘ИНФОРМАТИКА’);

END.



Пример:

Найти сумму натуральных чисел от 1 до 20.

PROGRAM summa_schisel ;

VAR i , summa : INTEGER ;

BEGIN

summa = 0;

FOR i:= 1 TO 20 DO

summa := summa + i;

WRITELN (‘сумма 20 чисел равна’, summa);

END.




Циклы с пред и пост условием:

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

Цикл с постусловием (оператор REPEAT):

Синтаксис конструкции цикл с постусловием.

REPEAT <оператор 1; оператор 2; ... оператор n;> UNTIL <условие>

REPEAT (рипит) - повторяй.

UNTIL (ан’тил) - до тех пор, пока не станет истинным условие.


Принцип работы оператора REPEAT - повторяй выполнение операторов, стоящих между словами REPEAT и UNTIL до тех пор, пока не станет истинным условие.

С начала компьютер по очереди выполняет операторы, стоящие после слова REPEAT, пока не дойдёт до слова UNTIL. После чего проверяет истинность условия, стоящего после UNTIL. Если условие ложно, то компьютер снова по очереди выполняет эти операторы и снова проверяет истинность условия и так далее.

Если условие оказывается истинным, то работа оператора REPEAT прекращается и компьютер переходит к выполнению следующего по порядку оператора.

Таким образом, инструкции, находящиеся между REPEAT и UNTIL, выполняется до тех пор, пока условие ложно (значение выражения равно FALSE).

Обратите внимание:

Инструкция цикла, между REPEAT и UNTIL, всегда будут выполнены хотя бы один раз.

Для того, чтобы цикл завершился, необходимо, чтобы инструкции цикла, находящиеся между REPEAT и UNTIL, изменяли значения переменных, входящих в выражение условие.







БЛОК СХЕМА

hello_html_m6ebdac35.gif

















ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ


PROGRAM название программы

VAR описание переменных


BEGIN

RIADLN (ввод данных);


REPEAT

ОПЕРАТОР 1 ;

ОПЕРАТОР 2 ;

ОПЕРАТОР n ;

UNTIL (условие)


WRITELN (вывод результата)

END.

Пример:

Возведите число a в степень n (число и значение степени вводится с клавиатуры).

PROGRAM vozvedenie v stepen ;

VAR a : INTEGER ;

n : INTEGER ;

i : INTEGER ;

otvet : INTEGER ;

BEGIN

WRITELN (‘введите число a ’);

READLN (a);

WRITELN (‘введите значение степени n ’);

READLN (n);

otvet := 1;

i := 1;


REPEAT

otvet := otvet *a ;

i := i + 1 ;

UNTIL i > n ;

WRITELN (a , ‘в степени ‘ , n , ‘ = ‘, otvet);

END.


Цикл с предусловием (оператор WHILE):

Оператор WHILE - близнец оператора REPEANT, они почти равны по возможностям и почти одинаково выполняются.

Синтаксис конструкции цикл с постусловием.

WYILE <условие> DO <оператор>;

WHILE (вайл) - пока.

DO (ду) - делай.

Принцип работы оператора WHILE - пока истинно условие, делай (выполняй) оператор.

С начала компьютер проверяет истинность условия, стоящего после слова WНILE, если условие истинно, то выполняется оператор, стоящий после DO. Затем снова проверяется истинность условия и в случае истинности, снова выполняется этот оператор и так далее. Если условие ложно, то оператор WHILE прекращает свою работу и компьютер переходит к выполнению следующего оператора.

После WHILE может стоять только один оператор, но он может быть составным, по этому тело цикла у оператора WHILE, так же как и у оператора REPEAT, может состоять из многих операторов, заключённых между операторными скобками BEGINEND.


БЛОК СХЕМА

hello_html_m49aa65de.gif
















ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ


PROGRAM название программы ;

VAR описание переменных ;


BEGIN

RIADLN (ввод данных);


WHILE (условие) DO

ОПЕРАТОР 1 ;

ОПЕРАТОР 2 ;

ОПЕРАТОР n ;


WRITELN (вывод результата)

END.


Пример:

Возведите число a в степень n (число и значение степени вводится с клавиатуры).

PROGRAM vozvedenie v stepen ;

VAR a : INTEGER ;

n : INTEGER ;

i : INTEGER ;

otvet : INTEGER ;

BEGIN

WRITELN (‘введите число a ’);

READLN (a);

WRITELN (‘введите значение степени n ’);

READLN (n);

otvet := 1;

i := 1;


WHILE i <= n DO

BEGIN

otvet := otvet *a ;

i := i + 1 ;

END ;

WRITELN (a , ‘в степени ‘ , n , ‘ = ‘, otvet) ;

END.





Отличие операторов REPEAT и WHILE:

  1. компьютер выходит из цикла оператора REPEAT тогда, когда условие истинно, а из цикла оператора WHILE - когда условие ложно;

  2. в конструкции WHILE может ни разу не выполнится оператор, стоящий после DO, в конструкции REPEAT операторы, стоящие между REPEAT и UNTIL хотя бы раз выполняются;

  3. в операторе REPEAT не надо использовать составной оператор, операторные скобки BEGINEND;

  4. при компиляции оператор WHILE даёт несколько более эффективную программу, чем оператор REPEAT.




Коротко о главном.

  1. Программа с линейной структурой:

  • Программы с линейной структурой является простейшими и используются, как правило, для реализации обычных вычислений по формулам;

  • В программах с линейной структурой инструкции выполняются последовательно, одна за другой;

  • В программах с линейной структурой инструкции используются только операторы (команды): присваивания, ввода, вывода.

2. Ветвление(IF):

  • Конструкция IF используется для выбора одного из двух направлений дальнейшего хода программы (последовательности инструкций, которые должны быть выполнены);

  • Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от выполнения условия;

  • Условие - это выражение логического типа, которая может принимать одно из двух значений: TRUE (истина - условие выполняется) или FALSE (ложь - условие не выполняется);

  • При помощи логических операций AND (логическое «И») и OR (логическое «ИЛИ») из простых условий можно строить сложные.

3. Выбор (CASE):

  • Конструкция CASE используется для выбора одного из нескольких направлений дальнейшего хода программы (последовательности инструкций, которые должны быть выполнены);

  • Выбор последовательности инструкций осуществляется во время выполнения программы в зависимости от равенства значения переменной - селектора константе, указанной перед группой инструкций;

  • В качестве переменной - селектора можно использовать переменную порядкового типа: целого (INTEGER) или символьного (CHAR).

4. Цикл со счётчиком (FOR):

  • Конструкция FOR используется для организации циклов с фиксированным, определяемым во время разработки программы, числом повторений;

  • Количество повторений цикла определяется начальным и конечным значениями переменной - счётчика;

  • Переменная - счётчик должно быть порядкового типа: целого (INTEGER) или символьного (CHAR).

5. Цикл с постусловием (REPEAT):

  • Число повторений инструкций цикла REPEAT определяется ходом выполнения программы;

  • Инструкции цикла REPEAT выполняется до тех пор, пока условие, стоящие после слова UNTIL, ложно;

  • После слова UNTIL надо записывать условие завершения цикла;

  • Для завершения цикла REPEAT в теле цикла обязательно должны быть инструкции, выполнение которых влияет на условие завершения цикла;

  • Цикл REPEAT - это цикл с постусловием, то есть инструкции тела цикла будут выполнены хотя бы один раз;

  • Цикл REPEAT, как правило, используется для организации приближённых вычислений, задач поиска и обработки данных, вводимых с клавиатуры или из файла;

6. Цикл с предусловием (WHILE);

  • Число повторений инструкций цикла WHILE определяется ходом выполнения программы;

  • Инструкция цикла WHILE выполняется до тех пор, пока условие, записанное после слова WHILE, истинно;

  • После слова WHILE надо записывать условие выполнения инструкций цикла;

  • Для завершения цикла WHILE в теле цикла обязательно должны присутствовать инструкции, влияющие на условие выполнения инструкций цикла;

  • Цикл WHILE - это цикл с предусловием, то есть инструкции тела цикла вообще могут быть не выполнены;

  • Цикл WHILE, как правело, используются для организации приближённых вычислений, задач поиска и обработки данных, вводимых












Графический интерфейс системы программирования Turbo PASCAL .


Для запуска Турбо ПАСКАЛЯ необходимо запустить файл turbo.exe.


F10 клавиши управления курсором

ALT + первая буква пункта меню

Создание новой программы

File Nev ENTER


Запуск, компиляция и выполнения программы

Run Run ENTER

CTRL + F9

Открытие окна вывода результата работы программы


ALT + F5

Переход из окна вывода результата в окно программы


ENTER

Сохранение файла на диске

File Save ENTER

F2

Сохранение нескольких программ на диске

Save All ENTER


Открыть хранящуюся на диске программу

File Open ENTER

F3

Переход между листами введённых программ


ALT + номер листа

Выход из среды ТУРБО-ПАСКАЛЬ

File Exit ENTER

ALT + X

Компиляция программы

Compile

ALT + F9

Справка

Help

F1

Отладочный режим


F4

Увеличение строки отладки на весь экран


F5

Смена окна редактора на отладочное


F6

Выделение фрагмента программы


SHIFT + перемещение курсора

Вырезать фрагмент

Edit Cut

CTRL + DELETE

Скопировать фрагмент

Edit Copy

CTRL + INSERT

Вставить фрагмент

Edit Paste

SHIFT + INSERT

Переход с русского языка на английский



Переход с английского языка на русский






28


Автор
Дата добавления 29.10.2016
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров71
Номер материала ДБ-299550
Получить свидетельство о публикации

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ


Идёт приём заявок на международный конкурс по математике "Весенний марафон" для учеников 1-11 классов и дошкольников

Уникальность конкурса в преимуществах для учителей и учеников:

1. Задания подходят для учеников с любым уровнем знаний;
2. Бесплатные наградные документы для учителей;
3. Невероятно низкий орг.взнос - всего 38 рублей;
4. Публикация рейтинга классов по итогам конкурса;
и многое другое...

Подайте заявку сейчас - https://urokimatematiki.ru

Похожие материалы

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