Язык программирования "Паскаль".pptx
- Количество слайдов: 57
Язык программирования Паскаль (часть 1) Додохова К. А.
Алгоритм Язык программирования Паскаль Программирование линейных алгоритмов Программирование алгоритмов ветвления Программирование циклических алгоритмов Типы данных. Простые типы данных.
Алгоритм
АЛГОРИТМ – это описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов. АЛГОРИТМ – это конечная последовательность команд исполнителю. ! Каждый алгоритм предназначен для определенного исполнителя. Исполнитель – живое существо или автоматическое устройство, которое способно к восприятию и исполнению команд.
Свойства алгоритмов q q q Дискретность; Детерминированность(однозначность); Конечность; Массовость; Результативность.
Типы алгоритмов q q q Линейные алгоритмы Разветвляющиеся алгоритмы Циклические алгоритмы
Линейный алгоритм – описание действий, выполняются однократно в заданном порядке. которые Алгоритм называется линейным, если исполнитель выполняет команды последовательно друг за другом (в порядке их записи). Пример. 1. Достать ключ из кармана. 2. Вставить ключ в замочную скважину. 3. Повернуть ключ два раза против часовой стрелки. 4. Вынуть ключ.
Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий. Пример: Если завтра на улице будет пасмурная погода, то я возьму с собой зонтик, в противном случае зонтик оставлю дома.
Циклический алгоритм – это описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие. Пример: 1. Покрасить доску; 2. Если есть еще доска, переместиться к следующей доске и перейти к действию 1; 3. Если доски закончились завершить работу.
Способы описания алгоритмов q q q Словесный способ Графический способ Алгоритмический язык или язык программирования.
Графический способ описания алгоритма - это способ представления алгоритма с помощью общепринятых графических фигур, называемых блок-схемами, каждая из которых описывает один или несколько шагов алгоритма. Начало Конец Ввод Вывод Действие Условие Счетчик
Графический способ Да Начало Подойти к переходу Дождаться зеленого света Перейти улицу Конец Берем зонт Идет дождь? Нет Не берем зонт
Язык программирования Паскаль
История создания языка Создан в 1971 году; Никлаус Вирт – швейцарский профессор; Назван в честь французского ученого Блеза Паскаля; В 1979 году утвержден в качестве стандартного языка программирования; • С помощью этого языка можно составлять программы для решения различных задач, также можно составлять программы-приложения. • •
Алфавит языка • символы, используемые в идентификаторах; • разделители; • специальные символы; • неиспользуемые символы. Идентификатор - это имя любого объекта языка. Состоит из латинских букв (a. . . z), цифр (0. . . 9) и знака подчеркивания и не должен начинаться с цифры. Разделители используются для отделения друг от друга идентификаторов, чисел и зарезервированных слов. К разделителям относятся: пробел и комментарий. К специальным знакам относятся знаки пунктуации (. () []. . : ; ), знаки операций и зарезервированные слова (служебные слова). Знаки операций могут быть как символьные (+, -, *, / и т. д. ), так и буквенными (mod, div, not). Неиспользуемые символы - это коды ASCII. К ним относятся все русские буквы, а также символы %, &, ! и т. п
Структура программы на языке паскаль program <имя_программы>; <раздел описаний> begin <Тело программы> end. uses <Подключение модулей> Const <Раздел описания констант> Label <Раздел описания меток> Type <Раздел описания типов> Var <раздел описания переменных>
Программирование линейных алгоритмов
Базовые операторы Оператор вывода Оператор ввода Оператор присваивания
Оператор вывода Write( ) Writeln( ) Write – от англ «пиши» Предназначен для вывода на экран текста или результата вычислений
Оператор вывода команда Результат на экране Write(‘текст‘) текст 3 Write(‘X=‘, X) Х=3 Write(X) X=3 Write(‘текст1’); Write(‘текст2’); Write(‘текст1’, ‘ ‘); Write(‘текст2’); Или Write(‘текст1’); Write(‘ ‘, ‘текст2’); текст1 текст2 текст1 текст2
Оператор вывода Writeln( ) Делает переход на следующую строку команда Результат на экране Write(‘текст1’); Writeln(‘текст2’); Текст1 Текст2 Write(‘текст1’); Writeln; Write(‘текст2’); Текст1 текст2
Оператор ввода Read( ) Readln( ) Read- от англ «читай» Предназначен для ввода данных с клавиатуры
Оператор ввода Read(a, b, c) Readln(a, b, c) Вводит значения для переменных a, b, c в одну строку. Вводит значения для переменных a, b, c «столбиком»
Оператор присваивания Переменная : = число/выражение Правильная запись Не правильная запись A: =2; A+2: =2 A: =B+1 2: =A+2
Оператор присваивания Команды Результат A: =2; B: =a+2; A=? B=? b: =2; A: =B; C: =a+B A=? B=? C=? A: =1; B: =a; A: =B A=? B=?
Программирование линейных алгоритмов Вывести на экран приветствие: Program privet; Привет, это я! Begin Write(‘Привет, это я!’); End. Вывести на экран приветствие: Привет, это я! Program privet; Begin Write(‘Привет, ’); Writeln(‘это я!’) End.
Программирование линейных алгоритмов Найти периметр прямоугольника P=(a+b)*2 а в Начало Ввод сторон прямоугольника a и b P=(a+b)*2 Вывод рез-та P Конец Program perimetr; Var a, b, P: integer; Begin Write(‘введите стороны прямоугольника’); Read(a, b); P: =(a+b)*2; Writeln(‘P=’, P); End.
Программирование алгоритмов ветвления
Операторы ветвления: Условный оператор Оператор выбора
Условный оператор Полная форма: If <логическое выражение> then <действие 1> else <действие 2> ДА Условие Действие 1 НЕТ Действие 2 Не полная форма: If <логическое выражение> then <действие > ДА Действие Условие НЕТ
Условный оператор Задача. Написать программу для нахождения максимального значения из двух целых чисел начало Ввод чисел а и b да a>b нет Max=b Max=a Вывод Max конец Program sravnenie; Var A, B, Max: integer; Begin Write(‘введите два числа’); Read (A, B); If A>B then Max: =A else Max: =B; Writeln(Max); End.
Условный оператор Задача. Написать программу, которая выводит на экран число, если оно больше 3. начало Ввод числа а да a>3 Вывод а конец нет Program chislo; Var A: integer; Begin Write(‘введите число’); Read (A); If A>3 then writeln(A); End.
Условный оператор Задача. Составить программу, которая определяет количество корней квадратного уравнения по дискриминанту. Решение: начало Ввод коэффициентов Вычисление дискриминанта D: =B*B+4*A*C нет да D>=0 Вывод: «нет вещх корней» нет Вывод: «один вещ. корень» конец D>0 да Вывод: «два вещ. корня» Program Diskr; Var A, B, C, D: real; Begin Write(‘введите коэффициенты A, B, C: ’); Readln(A, B, C); D: =Sqr(B)-4*A*C; If D>=0 then If D>0 then writeln(‘два вещ корня’) else writeln(‘один вещ корень’) else writeln(‘нет вещ корней’); Readln; End.
Оператор выбора Case K of A 1: <оператор1>; A 2: <оператор2>; … An: <оператор n> Else <оператор n+1> End; Где K – выражение-селектор (имеет только порядковый целый, логический, символьный тип); A 1, …, An – константы (того же типа, что и селектор);
Оператор выбора Задача: Составить программу, которая преобразует введенные с клавиатуры целые числа из диапазона (1. . 4) в их словесное представление. Program chislo; Var N: integer; Begin Write(‘введите число: ’); Readln(N); Case N of 1: writeln(‘один’); 2: writeln(‘два’); 3: writeln(‘три’); 4: writeln(‘четыре’) Else writeln(‘введено другое число’) End; End.
Программирование циклических алгоритмов
Операторы цикла Цикл с предусловием (цикл – пока) Цикл с постусловием (цикл – до) Цикл с параметром
Цикл с предусловием (цикл – пока) Форма записи: While <логическое выражение> do <операторы –тело цикла> Блок-схема: условие да Тело цикла нет
Цикл с предусловием (цикл – пока) Задача. Вычислить сумму натурального ряда чисел от 1 до N. начало Ввод N A<=N да s: =s+a; a: =a+1 Вывод s конец нет Program primer; Var a, s, n: integer; Begin Write(‘введите N’); Readln(N); S: =0; While a<=N do begin s: =s+a; a: =a+1; End; Writeln(‘результат суммирования равен’, s); Readln; end.
Цикл с предусловием (цикл – пока) Определить, что будет в переменной zz после выполнения следующей программы. Program AA; var zz, n, k : integer; begin zz: =0; n: =2; k: =1; while n>k do begin zz: =zz+1; n: =n+5; k: =k*2; end; Writeln(zz); end.
Цикл с постусловием (цикл – до) Форма записи: repeat <тело цикла> until <логическое условие> Блок-схема: Тело цикла условие да нет
Цикл с постусловием (цикл – до) Задача. Вычислить сумму натурального ряда чисел от 1 до N. начало Ввод N s: =s+a; a: =a+1 A>N да Вывод s конец Program primer; Var a, s, n: integer; Begin Write(‘введите N’); Readln(N); s: =0; repeat s: =s+a; a: =a+1; нет until a>n; Writeln(‘результат суммирования равен’, s); Readln; end.
Цикл с постусловием (цикл – до) Определить, что будет в переменной xx после выполнения следующей программы. Program AA; var xx, k : integer; begin xx: =0; k: =2; repeat xx: =xx+1; k: =k+1; until k=7; Writeln(xx); end.
Цикл c параметром Формы записи: 1) for i: =n to m do <операторы – тело цикла> 2) for i: =m downto n do <операторы – тело цикла> Блок-схема Счетчик: =N 1…N 2 Тело цикла
Цикл c параметром Задача. Написать программу, которая выводит на экран кубы чисел от 1 до 10 начало да Счетчик: =1. . 10 нет С=a*a*a конец Program kub; Var a, c: integer; Begin For a: =1 to 10 do begin c: =a*a*a; Writeln(‘kub chisla=’, c); end; end.
Цикл c параметром Задача. Написать программу, которая выводит на экран квадраты чисел от 10 до 1. начало да Program primer_4; Var n, c: integer; Счетчик: =N… 1 Вывод N*N; конец нет Begin For n: =10 downto 1 do writeln (n*n); end.
Цикл c параметром Определить, какие числа будет выдавать на экран дисплея следующая программа. program Pr; var k : integer; begin for k: =1 to 2 do writeln(k); end.
Цикл c параметром Определить, что будет в переменной xx после выполнения следующей программы. Program AA; var xx, i : integer; begin xx: =0; for i: =3 to 5 do xx: =xx+1; Writeln(xx); end.
Типы данных
Типы данных Простые типы q Целые; q Вещественные; Составные типы q Символьные; q Логические. q q q массивы; записи; файлы;
Целые типы данных Тип Диапазон значений Объем памяти Byte 0 … 255 1 байт, без знака Short. Int – 128 … 127 1 байт, со знаком Word 0 … 65535 2 байта, без знака Integer – 32768 … 32767 2 байта, со знаком Long. Int – 2147483648 … 2147483647 4 байта, со знаком
Вещественные типы данных Single Действительные короткие 4 байта Real Действительные (основной тип) Double Действительные длинные 8 байтов Extended Действительные очень длинные 6 байтов 12 байтов
Символьные типы данных. Char 1 символ 1 байт String Строка символов от 1 до 255 байтов
Логические типы данных. Boolean Значение True или False 1 байт
Простые типы данных. Формат вывода Для того, чтобы данные не «слипались» при выводе их на экран и для десятичного представления действительных чисел, в командах Write и Writeln используется формат вывода. Для целых чисел и символьных данных: Переменная : общее число знаков х: 5 Для действительных чисел: Переменная : общее число знаков : число знаков после точки х: 6: 2
Задача. Составить программу, которая запрашивает пользователя имя и возраст. Затем выводит на их на экран. Program Dialog; Var a: integer; b: string; Begin Writeln(‘Привет! Как тебя зовут? '); Readln (b); Writeln (‘Рад с тобой познакомиться ', b); Writeln(‘Сколько тебе лет? '); Readln (a); Writeln (b, ' Тебе ', a, ‘ лет '); Readln; end. у
Использованная литература: 1. Паскаль для школьников. –СПб. Жпитер, 2007. – 256 с. 2. Информатика. Базовый курс. 7 -9 классы/ И. Г. Семакин, Л. А. Залогова, С. В. Русаков, Л. В. Шестакова. – М. Бином. Лаборатория знаний, 2003 г. – 390 с. 3. Изучаем TURBO PASCAL. – СПб. Жпитер, 2001. – 320 с. 4. Л. Л. Босова, УМК по информатике для 5 -7 классов Москва, 2007 Алгоритмы и исполнители. Типы алгоритмов. 5. Данные. Типы данных. Диалоговые программы. М. Е. Макарова. (http: //uchinfo. com. ua)


