→ Языки программирования паскаль презентация 6 слайдов. Основы программирования на паскале. Математические операции. Функции

Языки программирования паскаль презентация 6 слайдов. Основы программирования на паскале. Математические операции. Функции



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

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



АЛФАВИТ ЯЗЫКА

Все латинские прописные и строчные буквы (A-Z, a-z);

Арабские цифры (0-9);

Знаки +, -, *, /, ….

Служебные слова.


F1 – справка или справочная служба (помощь).

F2 – записать редактируемый текст в дисковый файл (сохранить ) .

F5 – распахнуть активное окно на весь экран.

F6 – сделать активным следующее окно.

F9 – компилировать программу, но не выполнять ее.

F10 – перейти к главному меню.


Основные функциональные клавиши

Alt – X – выход из программной среды.

Ctrl – F9 – выполнить прогон программы: компилировать программу, находящуюся, в редакторе, загрузить ее в оперативную память и выполнить.

Alt – F5 – сменить окно редактора на окно вывода результатов работы (прогона) программы.

Tab – переключение между элементами окон.


Для перехода от состояния выбора режима из главного меню в состояние редактирования нужно нажать клавишу Esc .

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


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

Программа состоит из трех основных частей:

Заголовок программы.

Раздел описаний (соглашения).

Исполняемая часть (операторы).


Служебные слова

Program ;

Label ;

Const ;

Type ;

Procedure ,

Function


Программы на Паскале содержат следующие «знаки препинания»:

  • Точка с запятой;
  • Точка.

Точкой с запятой отделяют операторы друг от друга; точка ставится в конце программы.

Служебные слова BEGIN и END от операторов точкой с запятой не отделяются.




Переменная – это величина, которая может меняться при выполнении программы.

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

Тип определяет размер и структуру памяти под переменную.


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

  • формат представления данных в памяти;
  • множество допустимых значений;
  • множество допустимых операций.

ОПИСАНИЕ ПЕРЕМЕННЫХ

Описание переменных начинается со служебного слова VAR (переводится – «переменная»).

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


Простые

Структурированные

Ссылочные

Процедурные

Объектные


Простые

типы

порядковые

вещественные


Простые

порядковые типы

Целые типы

Логические типы

Символьные типы


Целочисленные типы

Диапазон возможных значений

2147483648... 2147483647


Например:

a, f, m, n: integer;


Вещественные типы

Диапазон

2.9*10 -39 ... 1.7*10 38

5.0*10 -45 ... 3.4*10 38

5.0*10 -324 ... 1.7*10 308

3.4*10 -4932 ... 1.1*10 4932


Например:

a, f, m, n: real;


Логический тип

Логический тип данных Boolean представляет такой тип данных, когда параметр (переменная) может принимать два значения True и False .


Например:


Символьный тип

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

Значения такого типа записывается в апострофах: a = ‘d’, r=‘g’.


Перечисляемый тип

Данный тип определяется набором идентификаторов, с которыми могут совпадать значения параметров (переменных). Список идентификаторов указывается в круглых скобках и разделяются между собой запятыми. Объявление типа должно быть сделано в разделе объявлений и ему должно предшествовать кодовое слово Type .


Например:

Color=(black, white, blue, green, red)



Арифметические операции

Сложение

Вычитание

Умножение

Деление вещественное

Деление целочисленное

Получение остатка от деления целых чисел


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

  • Read;

read (имена переменных),

Например:

read (a, b, c) .

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


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

  • Readln

Readln (имена переменных) ,

Например:

Readln (a, b, c)

При использовании этого оператора после ввода данных курсор переходит на новую строку.


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

Write (‘ текст ’ , имена переменных: m, n)

Writeln (‘ текст ’ , имена переменных: m, n)

Например:

Write (‘ сумма, С= ’ , с)

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

При использовании оператора Writeln осуществляется переход на новую строку.

Тема урока: «Циклы (повтор) в программах»

1)Повторить и закрепить знания составления линейных, разветвляющихся программ; 2)Научиться составлять программы, используя циклический оператор – FOR i:=1 TO n DO Begin операторы(тело цикла) end ; 3)Применять операторы в решении типовых задач. Цель урока:

Вставьте пропущенное: Program Sql; Var A,B,C,D, XI, Х2: ??? ; Begin Writeln ("Введите коэффициенты квадратного уравнения ’); Readln (???); D:=B*B-4*A*C; If D

Вопросы группе: 1)В чем отличие программ с ветвлением от линейных? 2)С помощью каких операторов осуществляется выбор в программах? 3) begin….end – Что это? Каковы правила использования в программе?

1)Операторы Ввода/вывода; 2)Операторы выбора; 3) а:=а+3 – что произойдет? 4)Перечислить типы данных; 5)Убрать лишнее AND,OR,END, NOT,IF ; 6) ; - что обозначает? 7) Как обозначается конец программы? 8) Перечислить арифметические операции. 9) Чему равно 120 mod 65 = ? 10) Операторы цикла.

Расставьте соответственно: 1. Read 2. End 3. Begin 4. Integer 5. ; 6. If .. Then 7. := 8. Ввод 9. Конец 10. Целые 11. Прис- воить 12. Следу-ющее действие 13.Начало 14.Если..то

Действительно ли результат а меньше 3 ? a:= 7 b:= - 10 a:=a*(- 7) b:=159 a:=b+a

Найдите 5 ошибок в программе: Program krug ; VAR Pi, r, S: real; Pi:=3.14, WRITELN(‘vvedite radiuc r=’), READ(r); S=Pi *r*r; WRITELN(‘Ploshad kruga S= ’, S) end

Program krug ; VAR Pi, r, S: real; begin Pi:=3.14 , WRITELN(‘vvedite radiuc r=’) , READ(r); S: =Pi *r*r; WRITELN(‘Ploshad kruga S= ’, S) end .

Задача №1 Дано целое N , определить является ли оно четным или нечетным. 2, 4, 6, …- четные, т.к. делятся без остатка на 2(N mod 2 =0) 1, 3, 7, … - нечетные, т.к. делятся на 2 с остатком 1(N mod 2 =1)

Алгоритм Алгоритм Chislo ; перем N: целые; начало Вывод(‘vvedite chislo’) ; Ввод (N) ; ЕСЛИ N mod 2 =0 Т O Вывод(N,‘- chetnoe‘); ЕСЛИ N mod 2 =1 Т O Вывод(N,‘- nechetnoe‘); конец.

Задача № 2 Дано целое двузначное число N (DE), где D – количество десятков, Е – единиц. Определить будет ли сумма цифр этого числа равна 10. Пример: у 28-ми сумма S =2+8=10 – будет, а у 27-ми S=2+7=9 не будет Будем считать десятки: D= N div 10 , а единицы: E= N mod 10

Алгоритм Алгоритм Chislo ; перем N,E,D,S: целые; начало Вывод(‘vvedite chislo’) ; Ввод (N) ; E:=N mod 10; D:=N div 10; S:=E+D; ЕСЛИ S = 10 Т O Вывод(‘summa= 10’) Иначе (‘summa10‘); конец.

Определение: Программы в которых многократно повторяются однотипные действия – циклические программы (с повтором).

Задача: Дано 100 натуральных чисел от 1 до 100 (1,2,3, … 99,100) Посчитать их сумму и вывести в переменную S.

Алгоритм сумма; Перем i,S: целые; Начало S:=0; Для i:=1 до 100 повторять Начало S:= S + i тело Конец; цикла Вывод (S) Конец.

Program summa; VAR i , S: integer; Begin S:=0; FOR i:=1 TO 100 DO begin S:=S+i тело end; цикла WRITE(S) end.

Program summa; VAR i , S: integer; Begin S:=0; FOR i:=1 TO 100 DO begin S:=S+i ; тело WRITE(‘S’, i, ’=‘, s) цикла end; end.

Тело цикла – те самые действия, которые нужно многократно повторять. Тело цикла заключаем в операторные скобки begin … .. end;

ALT + F9 - исправление ошибок CTRL + F9 – запуск программы ALT + F5 – просмотр результата

Задача: 1)Вывести столбец таблицы умножения любого целого числа N на числа от 1 до 10. Пример: N =5, то столбец будет такой- 1*5=5 2*5=10 3*5=15 i * N = P, где i изменяется от …… .. 1…10 10*5=50

Домашнее задание: прокомментировать программу для задачи «Про столбец таблицы умножения»

СПАСИБО ЗА ВНИМАНИЕ!

  1. 1. Pascal
  2. 2. Pascal Паскаль был разработан швейцарским ученым Никлаусом Виртом. Паскаль считается важнейшим инструментом для обучения методам структурного программирования и с 1983 г. введен в учебные курсы в школах для учащихся, которые специализируются в области информатики. В дальнейшем язык Паскаль совершенствовался и приобрел новые свойства, отличные от авторского варианта.
  3. 3. Язык Паскаль относительно прост в изучении, довольно ясен и логичен и, будучи первым изучаемым языком программирования, приучает к хорошему стилю.
  4. 4. Как и естественные языки, каждый язык программирования имеет свой стиль и свои правила. Синтаксис языка программирования – это набор правил, которые определяют способы построения правильных программ из символов алфавита.
  5. 5. Алфавит языка Паскаль 26 латинских строчных и 26 латинских прописных букв: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z подчеркивание _ 10 цифр: 0 1 2 3 4 5 6 7 8 9 знаки операций: + - * / = <> < > <= >= := @ ограничители (разделители): . , " () (. .) { } (* *) .. : ; спецификаторы: ^ # $
  6. 6. Структура программы {1. заголовок программы} program Имя_Программы; {2. раздел указания используемых модулей} uses Список_Используемых_Модулей; {3. Раздел описаний} label Описания_меток; const Описания_Констант; type Описания_Типов; var Описания_Переменных; procedure Описания_Процедур_и_функций; function exports Описания_Экспортируемых_Имен; {4. Раздел операторов} begin Операторы end.
  7. 7. Упрощенная структура программы {1. заголовок программы} program Имя_Программы; {2. раздел указания используемых модулей} uses Список_Используемых_Модулей; {3. Раздел описаний} const Описания_Констант; var Описания_Переменных; {4. Раздел операторов} begin Операторы программы end.
  8. 8. Команды языка программирования называются операторами Разделителем операторов в Паскале является; (точка с запятой)
  9. 9. Комментарий представляет собой фрагмент текста программы, ограниченный символами { }. Комменнтарии в программе выполняют информационную функцию. {Моя первая программа } program first; begin writeln(‘Hello, World!’) end.
  10. 10. Пример: периметр прямоугольника program perimetr; {заголовок программы} uses crt; {crt – необходим для очистки экрана} var a,b:integer; {объявление переменных} P:integer; Begin {начало программы} clrscr; {очистка экрана} a:=12; {присваиваем переменной а значение 12} b:=7; {присваиваем переменной b значение 7} P:=2*(a+b); {значение выражения присваиваем P} write("P = ",P); {выводим на экран значение P} end. {конец программы}
  11. 11. Программа в своей работе имеет дело с данными. Некоторые данные устанавливаются еще до того, как программа начнет выполняться, а после ее запуска сохраняют свои значения неизменными на всем протяжении работы программы. Это константы. Другие данные могут изменяться во время выполнения программы. Они называются переменными.
  12. 12. Различие между переменной и константой довольно очевидно: во время выполнения программы значение переменной может быть изменено, а значение константы нет. переменныепеременные константыконстанты данныеданные
  13. 13. Под переменной мы будем понимать ячейку («коробку»), куда компьютер может записывать («складывать») данные. Под ячейкой мы в действительности подразумеваем «кусочек памяти» в котором хранится информация. Чтобы воспользоваться информацией, хранящейся в ячейке, нужно, чтобы каждая ячейка имела свое имя или, как часто говорят, - идентификатор. a b sum 5 3 8
  14. 14. Идентификаторы. Именами (идентификаторами) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатором является последовательность букв, цифр и знаков подчеркивания, которая начинается с буквы или символа подчеркивания и не содержит пробелов.
  15. 15. Имя может содержать произвольное количество символов, но значащими являются 63 символа. Не разрешается в языке ПАСКАЛЬ использовать в качестве имен служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и файлы. Примеры имен языка ПАСКАЛЬ: A b12 r1m SIGMA gamma I80_86
  16. 16. В Паскале разница между строчными и прописными буквами игнорируется, поэтому имена NaMe и name одинаковы.
  17. 17. Служебное слово – это слово, которое в языке ПАСКАЛЬ имеет определенное смысловое значение, которое не может быть изменено. Иногда его называют ключевым словом.
  18. 18. Служебные (зарезервированные) слова: ABSOLUTE EXPORTS LIBRARY SET ASSEMBLER EXTERNAL MOD SHL AND FAR NAME SHR ARRAY FILE NIL STRING ASM FOR NEAR THEN ASSEMBLER FORWARD NOT TO BEGIN FUNCTION OBJECT TYPE CASE GOTO OF UNIT CONST IF OR UNTIL CONSTRUCTOR IMPLEMENTATION PACKED USES DESTRUCTOR IN PRIVATE VAR DIV INDEX PROCEDURE VIRTUAL DO INHERITED PROGRAM WHILE DOWNTO INLINE PUBLIC WITH ELSE INTERFACE RECORD XOR END INTERRUPT REPEAT EXPORT LABEL RESIDENT
  19. 19. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов. Существуют имена которые называются стандартными. sin cos real true В отличие от служебных слов смысл стандартных имен может быть переопределен программистом.
  20. 20. Это указание компилятору, сколько памяти необходимо зарезервировать для переменных нашей программы. В откомпилированной программе для всех переменных отведено место в памяти, и всем переменным присвоены нулевые значения. Все переменные, используемые в программе необходимо объявить в разделе описания переменных после зарезервированного слова var. Объявление переменных
  21. 21. Данные бывают различных типов...
  22. 22. Типы данных Имена стандартных типов являются предопределенными идентификаторами и действуют в любой точке программы. Они описаны в стандартном модуле System, который по умолчанию подключается в список используемых модулей. Пользовательские типы – это дополнительные типы (простые и структурированные) описанные пользователем.
  23. 23. Стандартные типы данных 1. группа целых типов (Shortint, Integer, Longint, Byte, Word); 2. группа действительных типов(Single, Real, Double, Extended, Comp); 3. логические (булевские типы)(Boolean, ByteBool, WordBool, LongBool); 4. символьный(Char); 5. строковый (String); 6. указательный (Pointer); 7. текстовый тип (Text).
  24. 24. Группа целых типов Название типа Тип диапазон значений требуемая память Короткое целое со знаком Shortint -128 .. 127 1 байт Целое со знаком Integer -32768 .. 32767 2 байта Длинное целое со знаком Longint -2147483648 .. 2147483647 4 байта Короткое целое без знака Byte 0 .. 255 1 байт Целое без знака Word 0 .. 65535 2 байта
  25. 25. Var b: byte; summa, count: integer; Объявление переменных целого типа summa:= -365; Испозование
  26. 26. Числа в языке ПАСКАЛЬ обычно записываются в десятичной системе счисления. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например: 217 -45 8954 +483
  27. 27. Группа вещественных типов определяет те данные, которые реализуются подмножеством действительных чисел. Var A: real; begin ... A:=0.65; … End.
  28. 28. Название типа Тип Диапазон значений Количество цифр мантиссы Размер (байт) Вещественное число одинарной точности Real 2.9e-39 .. 1.7e+38 11 6 Вещественное число Single 1.5e-45 .. 3.4e+38 7 4 Вещественное число двойной точности Double 5.0e-324 .. 1.7e+308 15 8 Вещественное число повышенной точности Extended 3.4e-4932 .. 1.1e+4932 19 10 Целое число в формате вещественного Comp -9.2e+18 .. 9.2e+18 19 8
  29. 29. Действительные числа записываются в форме с десятичной точкой или в форме с использованием десятичного порядка, который изображается буквой Е: 28.6 0.65 -0.018 4.0 5Е12 -1.72Е9 73.1Е-16
  30. 30. Булевскому типу данных соответствует идентификатор Boolean. Переменные булевского типа имеют размер 1 байт и могут содержать значения TRUE или FALSE. Значению FALSE соответствует 0, любое число отличное от нуля считается TRUE. Var knopka, flag: boolean; Begin knopka:=true;
  31. 31. Символьному типу соответствует стандартный идентификатор Char. Переменные и константы символьного типа могут принимать значения из множества символов кода ASCII. Var simvol, bukva, z: char; Объявление символьных переменных
  32. 32. Строковому типу соответствует стандартный идентификатор String. Var S: String; {строка от 0 до 255 символов} S2: String; {стока из 5-ти символов}
  33. 33. Строка символов представляет собой последовательность символов из набора символов кода ASCII, заключенную в одиночные кавычки. Строки в языке ПАСКАЛЬ - это последовательность символов, записанная между апострофами. Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа. Примеры строк: "СТРОКА" "STRING" "АД""ЮТАНТ"
  34. Символьный тип, а также целые и булевские типы относят к, так называемым, порядковым типам.  Множество допустимых значений любого порядкового типа представляет собой упорядоченную последовательность, каждый элемент которой имеет свой порядковый номер (начиная с 0).
  35. 35. Функция Ord возвращает порядковый номер этого значения в описании типа. Ord(2)=2, Ord(‘0’)=48 Writeln(ord(‘e’)); Writeln(ord(‘9’));
  36. 36. Таблица кодировки ASCII ASCII (American Standard Code for Information Interchange; произносится «а́ски») -компьютерная кодировка для представления латинского алфавита, арабских цифр, некоторых знаков пунктуации и управляющих символов. Ее ввел американский институт стандартизации ANSI.

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

Что такое алгоритм? 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);

 

 

Это интересно: