Презентация "В помощь начинающему программисту" 9 класс


Подписи к слайдам:
Реализация алгоритмов в языке программирования Turbo Pascal

В помощь начинающему программисту методические рекомендации

  • Из опыта работы Ермаковой В. В.,
  • учителя информатики МБОУ СОШ № 19
  • г. Белово Кемеровской области

Вы мечтали научиться программировать?

  • Вы мечтали научиться программировать?
  • Тогда эти рекомендации для Вас.
  • Загрузите программу FreePascal, используя ссылку: http://www.freepascal.org/download.var
  • И вперёд!
  • Теоретический материал
  • Практические работы

Алфавит Turbo Pascal

  • 1. Прописные и строчные буквы латинского алфавита.
  • A, B, C, D, E… a, b, c, d, e…
  • 2. Десятичные цифры. 0 1 2 3 4 5 6 7 8 9
  • 3. Знаки арифметических операций.
  • + сложение; - вычитание; * умножение; / деление
  • 4. Знаки операций отношений.
  • > больше
  • < меньше
  • < > не равно
  • < = меньше или равно
  • > = больше или равно
  • 5. Специальные символы.
  • {} - . , : ; ‘ # [ ] $ ( ) ^ @ _ пробел
  • : = присвоить
  • (* *) можно использовать вместо фигурных скобок ({ })

Типы данных

  • Числовые – целочисленные (integer) и вещественные [с фиксированной точкой -7.23 и плавающей точкой – 2.437 Е+02 -> 243.7] (real).
  • Символьные (char).
  • Логические (boolean).
  • Строковые (string)

Переменные

  • Переменные - это область в памяти компьютера, для которой предусмотрено уникальное имя (идентификатор) и содержимое которой в ходе работы программы может изменяться.
  • Когда переменной присваивается новое значение, её старое значение теряется.
  • Все используемые переменные должны быть объявлены в разделе описания переменных (var).
  • Переменной задаётся её тип, определяющий, какие значения может принимать данная переменная.

Некоторые зарезервированные слова:

  • Некоторые зарезервированные слова:
  • And, begin, program, then, for, to, goto, else, var, do, repeat, string, of, label…
  • Константы – постоянные значения объявляются в разделе описания констант (const).
  • Операция присваивания:
  • имя переменной: = арифметическое выражение;
  • y: = 5 z: = 78*x a: = b q: = 29+ 196
  • Операция присваивания используется для изменения значений переменных. Тип выражения, находящегося в правой части оператора присваивания, должен соответствовать типу переменной, имя, которой стоит слева.
  • Заголовок программы (program) - это последовательность из букв латинского алфавита, цифр, знаков подчёркивания, начинающаяся с буквы и содержащая не более 8 символов.

Встроенные функции

  • Математическая
  • TURBO PASCAL
  • cos x
  • cos (x)
  • sin x
  • sin (x)
  • sqrt (x)
  • x2
  • sqr (x)
  • |x|
  • abs (x)
  • ln x
  • ln (x)
  • tg x
  • sin (x)/ cos (x)

СТРУКТУРА ПРОГРАММЫ на TURBO PASCAL:

  • program {имя программы}
  • uses {описание стандартных модулей}
  • label {список меток}
  • const {список постоянных значений}
  • type {описание сложных типов данных}
  • var {описание данных программы}
  • begin {начало программного блока}
  • {алгоритм}
  • end. {конец программы}  
  • раздел
  • описания
  • программный блок

Операторы Turbo Pascal

  • сlrscr;
  • Очистка окна вывода.
  • read(список имён переменных );
  • Оператор ввода данных (останавливает работу программы и ждёт ввода данных через пробел с клавиатуры).
  • readln(список имён переменных);
  • Оператор для ввода данных и перевода курсора на новую строку.
  • readln;
  • Пустой оператор для задержки изображения на экране монитора, используется в конце программы.
  • write(список вывода);
  • Оператор вывода.
  • writeln(список вывода);
  • Оператор вывода и перевода курсора на новую строку.
  • writeln;
  • Пустой оператор для перевода курсора на новую строку.
  • uses crt;
  • Вызов модуля Сrt.

Запись арифметических и алгебраических выражений в среде программирования Turbo Pascal

  • Математическая запись
  • Turbo Pascal
  • 2x
  • 2*x
  • 56:23
  • 56/23
  • 3
  • 4
  • 3/4
  • 3x-1
  • x+4
  • (3*x-1)/(x+4)
  • a0,5
  • sqrt (a)
  • a1,5
  • a* sqrt (a)
  • y2
  • sqr (y)
  • cos x
  • cos (x)
  • sin2 x
  • sqr (sin (x))

Арифметика в Turbo Pascal

  • Пример 1: 1034,56· - (346,456 + 269): =?
  • Программа
  • program primer_1;
  • uses crt;
  • var c:real;
  • begin
  • writeln(‘Вычисление’);
  • c:=1034.56*1/2-(346.456+269)/(3/2);
  • writeln(‘Ответ’,c);
  • readln;
  • end.

Пример 2: 1034,56x· y - (346,456 + 269): =?

  • Пример 2: 1034,56x· y - (346,456 + 269): =?
  • при x=0,7; y=1,2
  • Программа
  • program primer_2;
  • uses crt;
  • var c,x,y:real;
  • begin
  • writeln(‘Введите исходные данные с клавиатуры’);
  • readln(x,y);
  • c:=1034.56*x*1/2*y-(346.456+269)/(3/2);
  • writeln(‘Ответ’,c);
  • readln;
  • end.

Пример 3: 1034,56x· y - (346,456 + 269): =?

  • Пример 3: 1034,56x· y - (346,456 + 269): =?
  • при x= ; y=
  • Программа
  • program primer_3;
  • uses crt;
  • var c,x,y:real;
  • begin
  • x:=1/3;
  • y:=1/4;
  • c:=1034.56*x*1/2*y-(346.456+269)/(3/2);
  • writeln(‘Ответ’,c);
  • readln;
  • end.

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

  • {Вычисление суммы двух чисел, введённых с клавиатуры}
  • Начало
  • Конец
  • Ввод a, b
  • Вывод с
  • c:=a + b

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

  • {Вычисление суммы двух чисел, введённых с клавиатуры}
  • program summa;
  • uses crt;
  • var
  • a,b:real;
  • c:real;
  • begin
  • writeln(‘Вычисление суммы’);
  • readln(a,b);
  • c:=a + b;
  • writeln(‘ Ответ:с= ‘,c:6:2);
  • readln;
  • end.

Алгоритмическая структура «Ветвление»

  • {Нахождение наибольшего числа из двух чисел, введённых с клавиатуры}
  • Начало
  • Конец
  • Ввод a, b
  • Вывод с
  • c:=a
  • c:= b
  • a>b
  • да
  • нет

Алгоритмическая структура «Ветвление»

  • {Нахождение наибольшего числа из двух чисел, введённых с клавиатуры}
  • program chislо;
  • uses crt;
  • var
  • a,b:real;
  • c:real;
  • begin
  • writeln(‘Нахождение наибольшего числа’);
  • readln(a,b);
  • if a>b
  • then c:=a
  • else c:=b;
  • writeln(‘ Ответ:с= ‘,c:6:2);
  • readln;
  • end. 
  • IF (условие) THEN оператор 1 ElSE оператор 2;
  • Условный оператор

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

  • {Вывод целых положительных чисел от 1 до 100}
  • Начало
  • Конец
  • Вывод N
  • N:=N+1
  • от 1 до 100
  • да
  • нет

Циклическая алгоритмическая структура (оператор цикла с параметром)

  • for параметр:=начальное значение to конечное значение do
  • оператор;
  • Оператор цикла с параметром
  • {Вывод целых положительных чисел от 1 до 100}
  • program chisel;
  • uses crt;
  • var
  • N:integer;
  • I: integer;
  • begin
  • writeln(‘Вывод чисел от 1 до 100’);
  • for I:=1 to 100 do
  • write( I:4);
  • N:=N+1;
  • readln;
  • end. 

Циклическая алгоритмическая структура с неизвестным числом повторений

  • Начало
  • Конец
  • Вывод сообщения:
  • ‘Введите пароль’
  • Пароль ≠ ‘terminator’
  • да
  • нет
  • Вывод сообщения:
  • ‘Правильно! Вы
  • допущены к работе!’
  • Запрос
  • ввода пароля
  • {Запрос пароля}

Циклическая алгоритмическая структура (оператор цикла с предусловием)

  • while логическое выражение do оператор;
  • Оператор цикла с предусловием
  • {Запрос пароля}
  • program parol;
  • uses crt;
  • var word:string;
  • begin
  • writeln(‘Пароль’);
  • while word <> ‘terminator’ do
  • begin
  • writeln(‘Введите пароль’);
  • readln;
  • readln(word);
  • end;
  • writeln (‘Правильно! Вы допущены к работе!’);
  • readln;
  • end.

Циклическая алгоритмическая структура с неизвестным числом повторений

  • {Решение уравнения y=a*x2}
  • {a=2; x ϵ [0;10] с шагом 2}
  • Начало
  • нет
  • да
  • Вывод значений x, y
  • x:=x_min
  • y:= a*x2
  • x>x_max
  • Конец
  • x:= x+2

Циклическая алгоритмическая структура (оператор цикла с постусловием)

  • Repeat выражения; операторы;
  • until логическое выражение;
  • Оператор цикла с постусловием
  • {Решение уравнения y=a*x2}
  • program Q_Repeat;
  • uses crt;
  • const a=2; x_min=0; x_max=10; hx=2;
  • var i,x,y:integer;
  • begin
  • clrscr;
  • x:=x_min;
  • repeat
  • y:=a*sqr(x);
  • writeln(‘x=’,x:2,’y=’,y:4);
  • x:=x+hx;
  • until
  • x>x_max;
  • readln;
  • end. 

Вспомогательный алгоритм

  • Вспомогательный алгоритм, записанный на языке программирования называется подпрограммой (п/п). Подпрограмма имеет имя (идентификатор), по которому к ней можно обращаться.
  • Параметры: глобальные и локальные.
  • Глобальные – параметры, действующие в любой части программы, имеющие имя, описанное в основной программе.
  • Локальные – параметры, действующие в подпрограмме, их идентификаторы и значения имеют смысл только в пределах данной подпрограммы и недоступны вызывающей программе.
  • Параметры: формальные и фактические.
  • Формальные – имена параметров, которые использованы в описании подпрограммы.
  • Фактические – конкретные значения, которые указываются в основной программе.
  • В языке программирования TURBO PASCAL приняты два вида подпрограмм: процедуры и функции.

  • Объявление процедуры:
  • procedure имя процедуры (список формальных параметров: тип идентификатора);
  • const {описание констант}
  • var {описание переменных}
  • begin {начало тела процедуры}
  • операторы;
  • end; {конец тела процедуры}
  • При вызове процедуры формальные параметры становятся фактическими.

Объявление функции:

  • Объявление функции:
  • function имя функции (список формальных параметров: тип идентификатора): тип идентификатора;
  • const {описание констант}
  • var {описание переменных}
  • begin {начало тела функции}
  • операторы;
  • ИмяФункции:=Значение;
  • end; {конец тела функции}
  • Обращение к функции в основной программе производится по имени функции с указанием фактических параметров. Число, тип, порядок следования фактических параметров должен соответствовать формальным параметрам, указанным в описании функции.

{Поиск максимального числа из трёх введённых чисел}

  • {Поиск максимального числа из трёх введённых чисел}
  • program MAX_3;
  • uses crt;
  • var a,b,c,z1,z2:integer;
  • procedure MAX_2(x,y:integer; var z:integer);
  • begin
  • if x>y then z:=x else z:=y;
  • end;
  • BEGIN
  • clrscr;
  • writeln(‘Поиск максимума из трёх чисел’);
  • writeln(‘Введите три числа через пробел и нажмите Enter’);
  • readln(a,b,c);
  • MAX_2(a,b,z1);
  • MAX_2(c,z1,z2);
  • writeln (‘Максимальное число’, z2);
  • readln;
  • End.

{Рекурсивная функция «Факториал»}

  • {Рекурсивная функция «Факториал»}
  • program factor;
  • uses crt;
  • function factorial (k:integer):integer;
  • begin
  • if k=1
  • then factorial:=1
  • else factorial:=k* factorial(k-1);
  • end;
  • var
  • n:integer; {число, факториал которого надо вычислить}
  • f:integer; {факториал числа n}
  • begin
  • writeln(‘Вычисление факториала’);
  • writeln(‘Введите число, факториал которого надо вычислить’);
  • write(‘ - >’);
  • readln(n);
  • f:= factorial(n);
  • writeln(‘Факториал числа ‘,n, ‘ равен’,f);
  • readln;
  • end.

Использованная литература

  • Использованная литература
  • Культин, Н. Б. TURBO PASCAL в задачах и примерах [Текст] / Н. Б. Культин – СПб.: БХВ-Петербург, 2003.
  • Меженный, О. А. TURBO PASCAL. Самоучитель. [Текст] / О. А. Меженный – М.: Издательский дом «Вильямс», 2003.