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

Тема урока: Язык программирования «ПАСКАЛЬ» Текстовой редактор языка.

Учитель информатики

ГБОУ Школы №293 им. А.Т. Твардовского г. Москвы

Бахтинова Наталия Валерьевна


Цель занятия :

  • Сформировать первые сведения о языке Pascal; Получить навыки работы в текстовом редакторе языка Pascal .

Исторические сведения о языке «Паскаль»

  • Язык программирования Паскаль получил своё название в честь великого французского математика и физика Блеза Паскаля, который в 1642г. изобрёл счётную машину для арифметических операций, так называемое "паскалево колесо". В конце 1968 г. профессор Вирт и его сотрудники из швейцарского федерального института технологии в Цюрихе разработали первую версию языка Паскаль. Спустя два года - первый вариант компилятора. В 1971 г. Вирт выпустил описание своего языка.

Блез Паска́ль - французский математик, механик, физик, литератор и философ


Создавая Паскаль Вирт преследовал две цели:

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

Никлаус Вирт (нем. Niklaus Wirth, род. 15 февраля 1934 года) - швейцарский учёный, один из известнейших теоретиков в области разработки языков программирования. Ведущий разработчик и создатель языков программирования Паскаль, Модула-2, Оберон.


Запуск языка «Паскаль»

Для запуска языка Паскаль нужно загрузить файл PASCAL.EXE находящийся, как правило, в каталоге PASCAL.

Например: D:\PASCAL\PASCAL.EXE



  • На синем фоне будем писать программу.
  • На сером фоне написаны строки подсказки.
  • Верхняя строка содержит раскрывающиеся меню: Ф айл, Т екст, В ыполнение, К омпиляция, Р ежимы, О тладка, Н аблюдение.
  • Для перехода в верхнее меню нажимаем F10. Нажатие клавиши alt и первой буквы любого из слов верхнего меню раскрывает окно. (пример alt + B)

  • Ввод программы в компьютер представляет собой ввод текста в компьютер. Ниже перечислены наиболее часто используемые команды текстового редактора Турбо Паскаля.

  • PgUp - на страницу вверх;
  • PgDn - на страницу вниз;
  • Home - в начало строки;
  • End - в конец строки;
  • Ctrl-PgUp - в начало текста;
  • Ctrl-PgDn - в конец текста.

  • Backspace (←) - стереть символ слева от курсора;
  • Del - стереть символ, на который указывает курсор (справа от курсора);
  • Ctrl-Y - стереть строку, на которой располагается курсор;
  • Enter - вставить новую строку, разрезать старую;
  • Ctrl-Q L - восстановить текущую строку (действует, если курсор не покидал изменённую строку).

  • Ctrl-K B - пометить начало блока;
  • Ctrl-K K - пометить конец блока;
  • Ctrl-K Y - стереть блок;
  • Ctrl-K C - копировать блок;
  • Ctrl-K V - переместить блок;
  • Ctrl-K W - записать блок в дисковый файл;
  • Ctrl-K R - прочитать блок из дискового файла;
  • Ctrl-K P - напечатать блок;
  • Ctrl-K H - убрать выделение блока.

  • В каком году появилась первая версия языка программирования Pascal?
  • Какими достоинствами обладает язык Pascal?
  • Какие клавиши удобно использовать для быстрого перемещения курсора по программе из верхнего левого угла экрана в нижний правый угол? (а если наоборот?)
  • Что необходимо сделать, чтобы скопировать часть программы?
  • Можно ли восстановить изменения сделанные в тексте программы?

Программирование на языке Паскаль Алгоритм и его свойства

Что такое алгоритм? 3 Мухаммед ал-Хорезми (ок. 783–ок. 850 гг.)Алгоритм - это точное описание порядка действий, которые должен выполнить исполнитель для решения задачи за конечное время. Исполнитель – это устройство или одушёвленное существо (человек), способное понять и выполнить команды, составляющие алгоритм. Формальные исполнители: не понимают (и не могут понять) смысл команд (одну и ту же команду всегда выполняют одинаково).

Свойства алгоритма 4 Дискретность - алгоритм состоит из отдельных команд, каждая из которых выполняется за конечное время. Детерминированность (определённость) - при каждом запуске алгоритма с одними и теми же исходными данными получается один и тот же результат. Понятность - алгоритм содержит только команды, входящие в систему команд исполнителя. Конечность (результативность) - для корректного набора данных алгоритм должен завершаться через конечное время. Корректность - для допустимых исходных данных алгоритм должен приводить к правильному результату.

Как работает алгоритм? 5 дискретный объект 1 2 3 4 алгоритм шаг 1 шаг 2 шаг 32 3 4 5 5 4 3 2 дискретный объект 25 16 9 4 получает на вход дискретный объект в результате строит другой дискретный объект (или выдаёт сообщение об ошибке) обрабатывает объект по шагам на каждом шаге получается новый дискретный объект

Способы записи алгоритмов 6 естественный язык псевдокод установить соединение пока не принята команда «стоп» принять команду выполнить команду завершить сеанс связи установить соединение нц принять команду выполнить команду кц_при команда = ‘stop’ завершить сеанс связи

Способы записи алгоритмов 7 блок-схема set. Connection; repeat cmd: = get. Command; execute. Command(cmd); until cmd = «stop»; close. Connection; программа принять командуустановить соединение завершить соединение выполнить команду «стоп» ? данет

9 Программа – это алгоритм, записанный на каком-либо языке программирования набор команд для компьютера Команда – это описание действий, которые должен выполнить компьютер. откуда взять исходные данные? что нужно с ними сделать? 1970 – язык Паскаль (Н. Вирт)Оператор – это команда языка программирования высокого уровня.

Простейшая программа 10 Program { название программы } ; begin { начало программы } { тело программы } end. { конец программы } комментарии в скобках {} не обрабатываются Что делает эта программа? ? название алгоритма

Вывод на экран 11 program z 1; begin write(‘2+’); { без перехода } write ln (‘2=? ‘); { на новую строку } write ln (‘ Ответ: 4’); end. Протокол: 2+2=? Ответ:

Вывод на экран 12 write({ список вывода }); { без перехода } write ln ({ список вывода }); { на новую строку } Список вывода: 1. Значение арифметиче ского выражения. 2. Список переменных через запятую. 3. Текст в апострофах. Примеры: write(SQRT (58) / 0. 5); writeln(a, b, c); writeln(‘ Чётное ‘);

Вывод данных 13 { вывод значения переменной a} { вывод значения переменной a и переход на новую строку } { вывод текста и значения переменной c}write(a); write ln (a); writeln(‘ Привет! ‘); writeln(‘ Ответ: ‘ , c); writeln (a, ‘+’ , b, ‘=’ , c);

Арифметические выражения 14 a: = (c + b * 5 * 3 — 1) / 2 * d; Приоритет (старшинство): 1) функция 2) скобки 3) умножение и деление 4) сложение и вычитание 213 4 5 6 d bc a

Стандартные функции 15 abs (x) - модуль sqrt (x) - квадратный корень sqr (x) - квадрат sin (x) - синус угла, заданного в радианах cos (x) - косинус угла, заданного в радианах exp (x) - экспонента е х ln (x) - натуральный логарифм trunc (x) - отсечение дробной части round (x) - округление до ближайшего целого writeln(‘x^8 ‘, exp (ln (x)*8): 0: 3);

Задания 16 « A »: Вывести на экран значение переменной V (объёма шара) , если R=5 (R- радиус). По виду: V = { значение } « B »: Вывести на экран рисунок из букв Ж ЖЖЖЖЖЖЖ HH HH ZZZZZ « C »: Вывести на экран значение переменной V (объёма куба) , если H = 7 (H – длина ребра куба) . По виду: V = { значение }

Сложение чисел 17 Задача. Ввести с клавиатуры два числа и найти их сумму. Протокол: Введите два целых числа 25 30 25+30=55 компьютер пользователь компьютер считает сам! 1. Как ввести числа в память? 2. Где хранить введенные числа? 3. Как вычислить? 4. Как вывести результат? ?

Сумма: псевдокод 18 program qq; begin { ввести два числа } { вычислить их сумму } { вывести сумму на экран } end. Псевдокод: алгоритм на русском языке с элементами Паскаля. Компьютер не может исполнить псевдокод! !

Переменные 19 Переменная – это величина, имеющая имя, тип и значение. Значение переменной можно изменять во время работы программы. Значение Имя Поместится? ? Другой тип данных В переменной хранятся данные определенного типа!!

Имена переменных 20 МОЖНО использовать латинские буквы (A-Z) цифры знак подчеркивания _ заглавные и строчные буквы НЕ различаются имя не может начинаться с цифры Какие имена правильные? AXby R&B 4 Wheel Вася “Pes. Barbos” TU 154 _ABBA A+

Объявление переменных 21 Типы переменных: integer { целая } real { вещественная } и другие… Объявление переменных: var a, b, c: integer ; выделение места в памяти variable – переменная тип – целые список имен переменных

Тип переменной 22 область допустимых значений допустимые операции объём памяти формат хранения данных для предотвращения случайных ошибок

Ввод значения в переменную 23 read (a); 1. Программа ждет, пока пользователь введет значение и нажмет Enter. 2. Введенное значение записывается в переменную a. ! оператор ввода

Ввод значений переменной 24 через пробел: 25 30 через Enter: 25 30 read (a, b); Ввод значений двух переменных (через пробел или Enter). a 25 b

Изменение значений переменной 25 var a, b: integer ; . . . a: = 5 ; b: = a + 2 ; a: = (a + 2)*(b – 3); b: = b + 1 ; a ? 5 5 b ? 5+27 a 5 7*428 b 7 7+

Вывод данных 26 { вывод значения переменной a} { вывод значения переменной a и переход на новую строку } { вывод текста и значения переменной c}write(a); write ln (a); writeln(‘ Привет! ‘); writeln(‘ Ответ: ‘ , c); writeln (a, ‘+’ , b, ‘=’ , c);

Сложение чисел: простое решение 27 program Sum ; var a, b, c: integer ; begin read (a, b); c: = a + b; writeln (c); end. Что плохо? ?

Сложение чисел: полное решение 28 program Sum ; var a, b, c: integer ; begin writeln(‘ Введите два целых числа ‘); read (a, b); c: = a + b; writeln (a, ‘+’ , b, ‘=’ , c); end. Протокол: Введите два целых числа 25 30 25+30=55 компьюте р пользователь

Снова про оператор вывода 29 a: = 123 ; write(a: 5); Форматный вывод: Вычисление выражений: writeln (a, ‘+’ , b, ‘=’ , a+b); a+b 123 5 знаков

Арифметические выражения 30 a: = (c + b * 5 * 3 — 1) / 2 * d; Приоритет (старшинство): 1) скобки 2) умножение и деление 3) сложение и вычитание 213 4 5 6 d bc a

Стандартные функции 31 abs (x) - модуль sqrt (x) - квадратный корень sin (x) - синус угла, заданного в радианах cos (x) - косинус угла, заданного в радианах exp (x) - экспонента е х ln (x) - натуральный логарифм trunc (x) - отсечение дробной части round (x) - округление до ближайшего целого

Программирование на языке Паскаль



В 1970 году в мире программирования произошли по крайней мере два великих события- появились операционная система UNIX и новый язык программирования, созданный профессором Никлаусом Виртом из швейцарского Федерального Технологического Института в Цюрихе. Вирт назвал его в честь великого французского математика и философа XVII века Блеза Паскаля.

Никлаус Вирт (Niklaus Wirth)

Блез Паскаль


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

потому, что учит как правильно написать программу, но и тому, как правильно

разрабатывать методы решения задач программирования


  • прописные и строчные буквы латинского алфавита от A до z , а также символ подчеркивания (_), который тоже считается буквой.
  • Прописные и строчные буквы взаимозаменяемы (рАвНоЗнАчНы);
  • арабские цифры 0 1 2 3 4 5 6 7 8 9 ;
  • специальные одиночные знаки: + – * / = . , : ; ^ $ # @ ;
  • специальные парные знаки: () { } ;
  • составные знаки: = .. (* *) (..) .

Структура программы

Программа на языке Паскаль состоит из:

// Заголовок (необязательная часть)


  • Описание меток;
  • Определение констант;
  • Определение типов;
  • Описание переменных;
  • Описание процедур и функций.

  • begin { начало программы }
  • { тело программы }
  • end. { конец программы }

Структура программы

Program имя программы; { заголовок программы }

Uses …; {раздел подключения модулей}

Label ; { раздел описания меток }

Const ; { раздел описания констант }

Туре ; { раздел определения типов }

Var ; { раздел описания переменных }

Function ; Procedure ; { раздел описания функций и процедур }

... { раздел операторов }


Из чего состоит программа?

Константа – постоянная величина, имеющая имя.

Переменная – изменяющаяся величина, имеющая имя (ячейка памяти).

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

Функция – вспомогательный алгоритм для выполнения вычислений (вычисление квадратного корня, sin ) .


Константы

i2 = 45; { целое число }

pi = 3.14; { вещественное число }

q = " Вася "; { строка символов }

L = True; { логическая величина }

целая и дробная часть отделяются точкой

можно использовать русские буквы!

может принимать два значения:

  • True (истина, «да») False (ложь, «нет»)
  • True (истина, «да»)
  • False (ложь, «нет»)

Переменные

Типы переменных:

  • integer { целая } real { вещественная } char { один символ } string { символьная строка } boolean { логическая }
  • integer { целая }
  • real { вещественная }
  • char { один символ }
  • string { символьная строка }
  • boolean { логическая }

Объявление переменных ( выделение памяти ) :

variable – переменная

тип – целые

var a, b, c: integer ;

список имен переменных


Пример программы

write(‘ Это моя первая программа ! ’);

Запустите программу на исполнение просмотрите результат.


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

Write(‘ текст ’); - оператор вывода текста и переменных на экран (оставляет курсор на текущей строке);

Writeln(‘ текст ’); - оператор вывода текста и переменных на экран (переносит курсор на новую строку);


Задание

  • Выведите следующий текст на экран:

Привет всем!

Я лучший программист ОСШ №3!

Обратите внимание на то, что текст выводится в две разные строчки



Вычисление математических выражений в ABC Pascal


  • Приоритет выполнения операций в ABC Pascal такой же, как и в математике.
  • Достаточно только научиться правильно записывать математические выражения на языке Pascal

Арифметические действия

Операция

Наименование

Сложение

Вычитание

Умножение

Деление (только для вещественного типа)

А div B

Вычисление целой части (неполного частного)

Вычисление остатка

Вычисли:

10 div 3 18 mod 4


Примеры

Математическая запись

Запись на языке Pascal

37(25+87,5)-17(4,6+1,9)

37*(25+87.5)-17*(4.6+1.9)

(a +2* b-3*c)/(5*a+4)

(a+b)/(a-b)+a*b/3.14

Десятичная запятая в Pascal обозначается точкой


Стандартные функции

Функция Паскаля

Математическая запись

Название

Абсолютная величина числа Х (модуль)

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

Экспонента

Вычисление квадратного корня

Вычисляет дробную часть числа

Округляет до ближайшего целого числа

Отсекает дробную часть

Определите результат:

Frac(16.68); Round(16.68); Trunc(16.68);


Стандартные функции

Функция Паскаля

Математическая запись

Название

Вычисление синуса

Вычисление косинуса

Целая часть числа

Вычисление натурального логарифма

Возведение числа в степень

Возвращает случайное число в диапазоне от 0 до Х

Число π


Градусы в Pascal нужно перевести в радианы

Запись на языке Pascal

Математическая запись


Операторы ЯП Pascal ABC


:= выражение; Арифметическое выражение может включать константы имена переменных знаки арифметических операций: константы имена переменных знаки арифметических операций: + - * / div mod + - * / div mod вызовы функций круглые скобки () вызовы функций круглые скобки () деление нацело умножение остаток от деления деление" width="640"

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

имя переменной := выражение ;

Арифметическое выражение может включать

  • константы имена переменных знаки арифметических операций:
  • константы
  • имена переменных
  • знаки арифметических операций:

+ - * / div mod

  • + - * / div mod
  • вызовы функций круглые скобки ()
  • вызовы функций
  • круглые скобки ()

деление нацело

умножение

остаток от деления


Какие операторы неправильные?

program qq;

var a, b: integer;

x, y: real;

10 := x;

y:= 7 , 8;

b:= 2.5;

x:= 2*(a + y);

a:= b + x;

имя переменной должно быть слева от знака :=

целая и дробная часть отделяются точкой

нельзя записывать вещественное значение в целую переменную


Оператор ввода

read (a); { ввод значения переменной a}

read (a, b); { ввод значений переменных a и b}

Как вводить два числа?

через пробел:

через Enter :


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

write (a); { вывод значения переменной a}

write ln (a); { вывод значения переменной a и переход на новую строчку }

writeln (" Привет! "); { вывод текста }

writeln (" Ответ: ", c); { вывод текста и значения переменной c}

writeln (a, "+", b, "=", c);


Сложение двух чисел

Задача. Ввести два целых числа и вывести на экран их сумму.

Простейшее решение:

program qq;

var a, b, c: integer;

read (a, b);

c:= a + b;

writeln (c);


Полное решение

program qq;

var a, b, c: integer;

writeln(" Введите два целых числа ");

read (a, b);

c:= a + b;

writeln (a, "+", b, "=", c);

компьютер

Протокол :

Введите два целых числа

25+30=55

пользователь



ВЫЧИСЛИТЬ:

12 div 4 =

1 9 div 5 =

12 mod 3 =

1 36 mod 10 =


На Паскале

На языке математики

Модуль числа х

Возведение в квадрат числа х

Trunc(x)

е х

Round(x)

Вычисление дробной части

Корень квадратный из х

Округляет до ближайшего целого числ

Random(x)

Отсекает дробную часть

Синус х

Exp/y*ln(x))

Возвращает случайное число от 0 до х

Косинус х

[ х ]

х у

Ln x


Домашнее задание

1. Вычислить длину окружности и площадь круга по заданному радиусу

2. Вычислить периметр прямоугольного треугольника по его катетам




Условный оператор ( полная форма )

полная форма ветвления

условие

Действие1

Действие2

вывод


then begin { что делать, если условие верно } end else begin { что делать, если условие неверно } end ; Особенности: перед else НЕ ставится точка с запятой begin и end перед else НЕ ставится точка с запятой если в блоке один оператор, можно убрать слова begin и end" width="640"

Условный оператор (полная форма)

if условие then begin

{ }

else begin

{ что делать, если условие неверно }

Особенности:

  • перед else НЕ ставится точка с запятой если в блоке один оператор, можно убрать слова begin и end
  • перед else НЕ ставится точка с запятой
  • если в блоке один оператор, можно убрать слова begin и end

Условный оператор (не полная форма )

неполная форма ветвления

условие

Действие

вывод


then begin { что делать, если условие верно } end ; Особенности: если в блоке один оператор, можно убрать слова begin и end если в блоке один оператор, можно убрать слова begin и end" width="640"

Условный оператор (неполная форма)

if условие then begin

{ что делать, если условие верно }

Особенности:

  • если в блоке один оператор, можно убрать слова begin и end
  • если в блоке один оператор, можно убрать слова begin и end


Домашнее задание

  • Составьте программу, которая уменьшает первое число в пять раз, если оно больше второго.

2. Запишите программу, в которой значение переменной с вычисляется по формуле: a+b , если а нечетное и a*b , если а четное .



b then c:= a + b else c:= b – a;" width="640"

Домашнее задание

1. Написать программу решения задачи:

а). Известно значение х. Вычислить у, если

б). Даны координаты точки. Выяснить лежит ли эта точка в 3 координатной четверти?

2. Определите значение переменной c после выполнения следующего фрагмента программы:

a:= 6 ;

b:= 15 ;

a:= b – a*2;

if a b then

c:= a + b

else c:= b – a;




Цикл – это многократное выполнение одинаковой последовательности действий.

  • цикл с известным числом шагов (цикл с параметром ) цикл с неизвестным числом шагов (цикл с условием )
  • цикл с известным числом шагов (цикл с параметром )
  • цикл с неизвестным числом шагов (цикл с условием )



:= начальное значение to конечное значение do begin { тело цикла } end; Уменьшение переменной на 1 (шаг -1) : for переменная:= начальное значение downto конечное значение do begin { тело цикла } end;" width="640"

Увеличение переменной на 1 (шаг 1):

for переменная := начальное значение to

конечное значение do begin

{ тело цикла }

Уменьшение переменной на 1 (шаг -1) :

for переменная := начальное значение downto

конечное значение do begin

{ тело цикла }


Особенности:

  • integer ) to ) или -1 ( downto ) begin и end можно не писать: to ) не выполняется ни разу (
  • переменная цикла может быть только целой ( integer )
  • шаг изменения переменной цикла всегда равен 1 ( to ) или -1 ( downto )
  • если в теле цикла только один оператор, слова begin и end можно не писать:
  • если конечное значение меньше начального, цикл ( to ) не выполняется ни разу ( проверка условия в начале цикла, цикл с предусловием)

for i:= 1 to 8 do

writeln( " Привет " );


  • в теле цикла не разрешается изменять переменную цикла
  • при изменении начального и конечного значения внутри цикла количество шагов не изменится:

for i:= 1 to n do begin

writeln( " Привет " );

n:= n + 1;

нет зацикливания




do begin { тело цикла } end; Особенности: можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать: можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать: while (a d o begin { тело цикла } end; while a d o a:= a + 1;" width="640"

while условие do begin

{ тело цикла }

Особенности:

  • можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать:
  • можно использовать сложные условия:
  • если в теле цикла только один оператор, слова begin и end можно не писать:

while (a d o begin

{ тело цикла }

while a d o

a:= a + 1;


b d o a:= a – b; a:= 4; b:= 6; while a d o d:= a + b;" width="640"
  • условие пересчитывается каждый раз при входе в цикл
  • если условие на входе в цикл ложно, цикл не выполняется ни разу
  • если условие никогда не станет ложным, программа зацикливается

a:= 4; b:= 6;

while a b d o

a:= a – b;

a:= 4; b:= 6;

while a d o

d:= a + b;




until условие " width="640"

Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла.

тело цикла

until условие


ЗАДАЧА

Найти сумму квадратов всех натуральных чисел от 1 до 100. Решим эту задачу с использованием всех трех видов циклов.


"Пока" .

Program qq;

var a, s: integer;

s:=s+a*a;

writeln(s);


100 ; writeln(s); end." width="640"

"До"

Program qq;

var a, s: integer;

s:=s+a*a;

until a 100 ;

writeln(s);


"С параметром"

Program qq;

var a, s: integer;

for a:=1 to 100 do

s:=s+a*a;

writeln (s);


Задача.

Вывести на экран квадраты и кубы целых чисел от 1 до 8.

Особенность:

одинаковые действия выполняются 8 раз.


блок «цикл»

i 1 := i * i;

i 2 := i 1 * i;

тело цикла

i, i 1 , i 2


Программа

program qq;

var i, i1, i2: integer;

for i:=1 to 8 do begin

i1:= i*i;

i2:= i1*i;

writeln(i, i1, i2);

начальное значение

переменная

конечное значение


Цикл с уменьшением переменной

Задача. Вывести на экран квадраты и кубы целых чисел от 8 до 1 (в обратном порядке).

Особенность: переменная цикла должна уменьшаться.

Решение:

for i:=8 1 do begin

i1:= i*i;

i2:= i1*i;

writeln(i, i1, i2);

down to




Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом.

Особенности:

  • все элементы имеют один тип весь массив имеет одно имя
  • все элементы имеют один тип
  • весь массив имеет одно имя
  • все элементы расположены в памяти рядом

Примеры:

  • список учеников в классе квартиры в доме школы в городе
  • список учеников в классе
  • квартиры в доме
  • школы в городе
  • данные о температуре воздуха за год

НОМЕР элемента массива

(ИНДЕКС )

массив

ЗНАЧЕНИЕ элемента массива

НОМЕР (ИНДЕКС) элемента массива: 2

ЗНАЧЕНИЕ элемента массива: 10


Объявление массивов

Зачем объявлять?

  • определить имя массива определить тип массива определить число элементов выделить место в памяти
  • определить имя массива
  • определить тип массива
  • определить число элементов
  • выделить место в памяти

Массив целых чисел:

Размер через константу:

элементов

конечный индекс

начальный индекс

var A : array[ 1 .. 5 ] of integer ;

var A: array of integer ;

const N=5;


Что неправильно?

var a: array of integer;

A := 4.5;

var a: array ["z".."a"] of integer;

A["B"] := 15;

["a".."z"]

var a: array of integer;

A := "X";


Объявление:

Ввод с клавиатуры:

Поэлементные операции:

Вывод на экран:

const N = 5;

var a: array of integer;

i: integer;

a =

a =

a =

a =

a =

for i:=1 to N do begin

write("a[", i, "]=");

read (a[i]);

Почему write ?

for i:=1 to N do a[i]:=a[i]*2;

writeln(" Массив A:");

for i:=1 to N do write(a[i]:4);

Массив A:

1 0 24 68 112 26


Задача:

1. Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое всех элементов массива.

Пример:

Введите пять чисел:

4 15 3 10 14

среднее арифметическое 9.200

РЕШЕНИЕ:


Program qq;

var N: array of integer;

for i:=1 to 5 do begin

write ("N[",i,"]");

for i:=1 to 5 do begin

write(" среднее", k:6:2);

1 слайд

«ЗНАКОМСТВО С ЯЗЫКОМ ПАСКАЛЬ» УРОК НА ТЕМУ: Учитель математики и информатики МБО УСОШ № 2 г. Калача-на-Дону Волгоградской области Анисимовой Н.А.

2 слайд

ЦЕЛЬ УРОКА: выяснить структуру программы, операторы, правила оформления и пунктуацию языка Turbo Pascal.

3 слайд

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

4 слайд

1)язык программирования Тurbo Pascal; 2)интегрированная среда программирования(компилятор: переводит программу в машинный код и интерпретатор: исполняет команды) СОСТАВ СИСТЕМЫ ПРОГРАММИРОВАНИЯ ТР:

5 слайд

1)латинские буквы – большие и малые; 2)буквы русского алфавита - большие и малые; 3)цифры – от 0 до 9; 4)знаки операций - +, -, /, *,=, =; 5)разделительные знаки – () { } ; . , ‘ _% & # и т. Д. Алфавит языка программирования TURBO PASCAL

6 слайд

7 слайд

Заголовок программы Раздел описания переменных Раздел операторов (основная часть)

8 слайд

Раздел описания переменных начинается со слова Var , за которым идет список имен однотипных переменных через запятую. В языке Паскаль существует два числовых типа величин: вещественный (Real) и целый (Integer). Имена переменных составляются из латинских букв и цифр, причем первым символом - буква. VAR список однотипных переменных: INTEGER; список однотипных переменных:REAL;

9 слайд

Раздел операторов – основная часть программы. Начало и ко-нец раздела отмечаются служебными словами BEGIN и END , которые являются операторными скобками. Между этими сло-вами помещаются все команды алгоритма, записанные на языке Паскаль (операторы). Разделителем операторов являет-ся точка с запятой. В самом конце программы ставится точка. BEGIN READ(список ввода); READLN(список ввода); переменная:=арифметическое выражение; WRITE(список вывода); WRITELN(список вывода); END.

10 слайд

Ввод исходных данных с клавиатуры происходит по опе-ратору READ или READLN (читать). Оператор READLN отличается от READ только тем, что после ввода данных курсор перемещается в начало новой строки. переменная:=арифметическое выражение; WRITE(список вывода); WRITELN(список вывода); END. READ(список ввода); READLN(список ввода);

11 слайд

переменная:=арифметическое выражение; Арифметический оператор присваивания: слева- переменная, справа - арифметическое выражение, которое должно быть вычислено. Составной символ:= читается как «присвоить». Сначала вычисляется арифметическое выражение, затем полученное значение присваивается переменной.Пример: a:= sqr (x) + sin (y) / (12*z + 5)

12 слайд

mod div / * - + SIN (x) COS (x) SQR (x) SQRT (x) ABS (x) Sin x Cos x x 2 |x| x сложение вычитание умножение деление деление нацело Остаток от деления

13 слайд

Правила записи арифметических выражений Арифметическое выражение записывается в строку Нельзя ставить подряд два знака арифметических операций Нельзя опускать знак умножения между сомножителями Используются только круглые скобки Последовательность выполнения операций определяется по их приоритетам () F(x) * / + - div mod

14 слайд

Вывод результатов происходит по WRITE или WRITELN (писать). Результаты выводятся в порядке их перечисле-ния в списке. Разница в выполнении операторов WRITE и WRITELN состоит в том, что после выполнения операции вывода по оператору WRITELN курсор перемещается в начало новой строки. WRITE(список вывода); WRITELN(список вывода);

15 слайд

Задание 1: AXby 6) TU154 2) R&B 3) 4Wheel 4) Вася 5) “PesBarbos” 7) 8) _ABBA 9) A+B

16 слайд

program zadacha1; var a, b: integer; x, y: real; begin a:= 5; 10:= x; y:= 7,8; b:= 2.5; x:= 2*(a + y); a:= b + x; end. имя переменной должно быть слева от знака:= целая и дробная часть отделяются запятой и несоответствие типов Несоответствие типов ЗАДАНИЕ 2: Найдите ошибки в записи программы.

Николаус Вирт Но думать, что Паскаль - язык исключительно для обучения, было бы неверно. Вот что говорил об этом Н. Вирт (1984 г.): « Утверждалось, что Паскаль был разработан в качестве языка для обучения. Хотя это утверждение справедливо, но его использование при обучении не являлось единственной целью. На самом деле я не верю в успешность применения во время обучения таких инструментов и методик, которые нельзя использовать при решении каких - то практических задач ». * *


Язык программирования Pascal С тех пор Паскаль становился всё более и более популярным, причем не только, как язык для обучения принципам программирования, но и как средство создания достаточно сложного программного обеспечения. В своем первоначальном виде Паскаль имел довольно ограниченные возможности, но расширенный вариант этого языка – Turbo Pascal является мощным языком программирования.


Почему PASCAL? Язык программирования Pascal был назван в честь французского учёного Блеза Паскаля, который еще в 1642 г. изобрел первую механическую счётную машину. Она представляла собой систему взаимодействующих зубчатых колёсиков, каждое из которых соответствовало одному разряду десятичного числа и содержало цифры от 0 до 9. Когда колёсико совершало полный оборот, следующее сдвигалось на одну цифру. Машина Паскаля была суммирующей машиной.


Основные сведения о языках программирования Язык – система знаков. Язык ЭВМ (машинный язык) – двоичная знаковая система. Поэтому, чтобы компьютер мог понять написанную программу, она должна быть переведена на язык, понятный компьютеру. Этот процесс перевода называется трансляцией.




Интегрированная среда Turbo Pascal-7.0 Огромную роль в массовом распространении Паскаля сыграла компания Borland International. Она сумела создать знаменитую Turbo- среду разработки. Это был огромный шаг вперед в облегчении процесса программирования. Почему Turbo? Turbo в переводе с английского сленга означает ускорение. Компилятор, входящий в состав Turbo Pascal очень быстро переводит программу с языка программирования в машинные коды.




Основные средства языка Символы языка - это элементарные знаки, используемые при составлении текстов. Алфавит языка - набор таких символов. Алфавит языка Turbo Pascal 7.0 включает: все латинские прописные и строчные буквы арабские цифры (0 – 9) символы + - * / =,. ; : _ () { } и др. служебные (зарезервированные) слова


Для записи команд, имен функций, поясняющих терминов Turbo Pascal 7.0 существует набор строго определенных слов, которые называются служебными или зарезервированными (это английские мнемонические сокращения). Служебные слова делятся на три группы: операторы (READ, WRITELN и др.) имена функций (SIN, COS и др.) ключевые слова (VAR, BEGIN, END и др.) Основные средства языка


Именем величины называется её обозначение, это слово из букв, цифр и знаков подчёркивания, начинающееся с буквы. Числа: целые, вещественные: с фиксированной точкой (-1.23; 654.2), с плавающей точкой (2, 437,). Шесть операций: + сложение, - вычитание, / деление, * умножение, mod нахождение остатка, div деление нацело.


Арифметическое выражение конструируется из имён, чисел, знаков арифметических действий, математических функций. Для указания порядка действий используются только круглые скобки. Для возведения в квадрат используется обозначение sqr(х). Для извлечения квадратного корня используется обозначение sqrt(х). Модуль обозначается abs(х).


Оператор присваивания Имя переменной:= арифметическое выражение. х:= 3.24 или х:= х+4. Тип переменной 1.Если переменная слева вещественного типа, то арифметическое выражение может быть как целого, так и вещественного типа. 2.Если переменная слева целого типа, то арифметическое выражение только целочисленное.


Структура программы в Паскале 1 часть – описание данных и операторов. 2 часть – программный блок. Общий вид программы: Program (имя программы) label (список меток) const (список постоянных значений) type (описания сложных типов данных) var (описания данных программы) begin (начало программного блока) (алгоритм) end. (конец программы)


Имя программы: не более 8 знаков, начинается с буквы. end c точкой. Описательная часть состоит из 4 разделов: меток, констант, имён и типов переменных. var имя и тип переменной: integer (целый), real (вещественный). Например: var i, j: integer; x: real; Описание каждого типа заканчивается точкой с запятой. Программный блок содержит операторы, описывающие алгоритм решения задачи.


Операторы ввода и вывода: read (список имён) – останавливает работу программы и ждёт, пока пользователь наберёт на клавиатуре числа (через пробел) и нажмёт ENTER. Например: read (i, j); После работы этого оператора курсор располагается за последним числом но не переводится на новую строку. Для перевода курсора на новую строку после ввода данных надо использовать оператор readln(список имён). write (список вывода) – выводит данные на экран. Список вывода - перечисленные через запятую имена результатов вычисления и пояснительные тексты в апострофах. Например: write(х=, х); На экране напечатается число с фиксированной точкой. Например: write(х=, х:6:2); на экране будет выдано число из 6 знаков из них два после запятой, (х =). Перевод курсора на новую строку осуществляется оператором пустого вывода writeln. Оператор пустого ввода readln






Работа в системе Турбо Паскаль Alt + F10 – меню File – New – создать новый файл Enter – следует поставить в конце каждой строки Сtrl + Y – удалить строку Enter – вставить строку Для выполнения программы надо в меню выбрать Run Транслятор – переводит программу с языка Паскаль на машинный язык и ищет синтаксические ошибки. 1.Если ошибки найдены, то произойдёт возврат в редактор, курсор укажет на ошибку. 2.Если ошибки не найдены, программа выполняется










Иногда после слов THEN и ELSE надо выполнить не один, а несколько операторов. Тогда эти операторы заключаются в операторные скобки. Открывающая скобка – слово BEGIN, закрывающая скобка – слово END. Перед словом ELSE точка с запятой не ставится. Рекомендуется каждую пару BEGIN – END записывать в одном столбце. IF условие THEN begin оператор 1; оператор 2; оператор N end ELSE begin оператор 1; оператор 2; оператор M end ;




Program E3; var a,b: integer; begin write (введите два целых числа через пробел, затем нажмите); readln (a,b); if a mod 2 = 0 then writeln (а – чётное) else writeln (а – нечётное); if b mod 2 = 0 then writeln (b – чётное) else writeln (b – нечётное); readln end.


3, если a>0 6, если a 0 6, если a 0 6, если a 0 6, если a0 6, если a title="3, если a>0 6, если a


Program E31; var a,y: real; begin write (введите число затем нажмите); readln (a); if a >0 then y:=3 else y:=6; write (y=,y); readln end. 0 then y:=3 else y:=6; write (y=,y); readln end."> 0 then y:=3 else y:=6; write (y=,y); readln end."> 0 then y:=3 else y:=6; write (y=,y); readln end." title="Program E31; var a,y: real; begin write (введите число затем нажмите); readln (a); if a >0 then y:=3 else y:=6; write (y=,y); readln end."> title="Program E31; var a,y: real; begin write (введите число затем нажмите); readln (a); if a >0 then y:=3 else y:=6; write (y=,y); readln end.">


A+b, если a>b a*b, если a b a*b, если a b a*b, если a b a*b, если ab a*b, если a title="a+b, если a>b a*b, если a


Program E32; var a,b,x: real; begin write (введите два числа через пробел затем нажмите); readln (a); if a >b then x:=a+b else x:=a*b; write (x=,x); readln end. b then x:=a+b else x:=a*b; write (x=,x); readln end."> b then x:=a+b else x:=a*b; write (x=,x); readln end."> b then x:=a+b else x:=a*b; write (x=,x); readln end." title="Program E32; var a,b,x: real; begin write (введите два числа через пробел затем нажмите); readln (a); if a >b then x:=a+b else x:=a*b; write (x=,x); readln end."> title="Program E32; var a,b,x: real; begin write (введите два числа через пробел затем нажмите); readln (a); if a >b then x:=a+b else x:=a*b; write (x=,x); readln end.">




Организация циклов Повторяющиеся действия в программировании называются циклом Оператор безусловного перехода goto n, n - целое число (не более 4-х символов), метка. Метка повторяется 3 раза: 1.В разделе Label; 2.В операторе goto; 3.Перед оператором на который осуществляется безусловный переход.


Организация циклов с помощью операторов условного и безусловного переходов. Задача. Найти сумму первых двадцати чисел. (1+2+3….+20). а ……………20 S ………….


Алгоритм Евклида: будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба числа не станут равными. Например: Исходные 1 шаг 2 шаг 3 шаг а= 25 b= НОД(а,b)=5


Program E5; var а, b: integer; begin write (НОД=,а); readln; end. write (Введите два натуральных числа через пробел); readln (a,b); while ab do if a>b then a:=a-b else b:=b-a; b then a:=a-b else b:=b-a;"> b then a:=a-b else b:=b-a;"> b then a:=a-b else b:=b-a;" title="Program E5; var а, b: integer; begin write (НОД=,а); readln; end. write (Введите два натуральных числа через пробел); readln (a,b); while ab do if a>b then a:=a-b else b:=b-a;"> title="Program E5; var а, b: integer; begin write (НОД=,а); readln; end. write (Введите два натуральных числа через пробел); readln (a,b); while ab do if a>b then a:=a-b else b:=b-a;">




B then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b);" title="Program E6; var а, b: integer; begin write (НОD=,а); readln; end. repeat until a=b; if a>b then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b);" class="link_thumb"> 40 Program E6; var а, b: integer; begin write (НОD=,а); readln; end. repeat until a=b; if a>b then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b); b then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b);"> b then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b);"> b then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b);" title="Program E6; var а, b: integer; begin write (НОD=,а); readln; end. repeat until a=b; if a>b then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b);"> title="Program E6; var а, b: integer; begin write (НОD=,а); readln; end. repeat until a=b; if a>b then a:=a-b; if b>a then b:=b-a write (Введите два натуральных числа через пробел); readln (a,b);">