Линейные алгоритмы в языке программирования Паскаль.
учебно-методический материал по информатике и икт
Предварительный просмотр:
Подписи к слайдам:
Выражение Выражение – совокупность операндов и операций. Операнды – константы, переменные, функции. Арифметические операции – бинарные операции + - * / , (* - умножение / - деление) унарные операции + и - . бинарные операции div и mod определены только для целых чисел, переменных типа integer . div – деление нацело 5 div 2 = 2 mod – остаток от деления 43 mod 10 = 3
Приоритет операций Приоритет - порядок выполнения операций в выражении. Операции, имеющие одинаковый приоритет, выполняются слева направо. Для изменения порядка операций используют скобки (), скобки обладают наивысшим приоритетом. Таблица приоритетов операций вычисление функций 0 n ot 1 (высший) *, /, div, mod, and , 2 +, -, or, xor 3 =, <>, <, >, <=, >=, in 4 (низший)
Правила записи выражений Все записи в одну строку. Знаки умножения опускать нельзя. Главный критерий правильности записи выражения - совпадение порядка выполнения операций с принятым в математике.
Арифметические выражения Какие из приведенных выражений правильно записаны на языке ПАСКАЛЬ? 1 (A+B+C)/2 2 A^ 2C 3 SIN(X+2)*2 4 2COS(A+2)-A 5 X^.Y+Z-5.1 6 (X+Y*3.2-A)B 7 X+Y/(Z*Z) 8 X*X+Y*Y=R*R 9 SQRT(A*2+B*B) 1 3 7 9
Оператор присваивания := Выполняет изменение значения переменной Синтаксис <имя переменной> := <выражение>; Семантика Вычисляется <выражение> в правой части, Результат записывается в <переменную> . Ограничение. Тип выражения должен быть совместим по присваиванию с переменной . Например: Одинаковые типы совместимы. Выражение типа integer можно присвоить переменной типа real. Обратное неверно. Пример использования оператора присваивания. a := (3 + 5) * 8; b := a + 2;
Оператор присваивания Среди приведенных выражений указать правильные операторы присваивания 1 X:=X+5 5 X+2:=Y 2 Y:=7 6 K+5:=X+Y 3 WRITE(“C=”,C:6:2) 7 WRITE(“A+B”) 4 Z:=SQR(Z)+5.3*X 8 X:=X*X+A*X+B 1 2 4 8
Оператор присваивания Какое значение получит переменная Y после выполнения следующей программы? Х:= 5; A:= 2; В:= -1; У:= A*X+B; 9
Оператор присваивания Какое значение получит переменная Y после выполнения следующей программы? А :=12; В:=14; А:=10; В:=В+5; У:=А+В; END. 29
Оператор присваивания Какое значение получит переменная X после выполнения следующей программы? A:= 3; B:= 4; A:=(A+B)/2+A*2; X:=SQRT(A+B*B-0.5); END. 5
Оператор присваивания Какое значение получит переменная S после выполнения программы? A:=5; B:=6; S:=A*B; A:=-1; B:=3; S:=S+A* B 27
Оператор ввода read , readln Синтаксис read (<список переменных>) ; readln (<список переменных>) ; Семантика Происходит считывание данных с клавиатуры и запись их в переменные из <списка переменных> по порядку. Вводить данные нужно через пробел или по нажатию
Вывод write , writeln . Вывод в окно вывода Синтаксис : Write (<список выражений>) ; writeln (<список выражений>) ; Параметры в списке перечисляются через запятую . Семантика : Вычисление значений выражений . Вывод значений . Процедура writeln после вывода своих параметров осуществляет переход на следующую строку. Пустой writeln вызывает пропуск строки.
Вывод write writeln . Форматы вывода. В процедурах вывода write и writeln можно указать формат вывода , в виде :m:n , где m и n - целые значения. . :m - ширина поля вывода . : n - количество знаков после десятичной точки Если длина выводимого значения меньше ширины поля вывода , то выводимый текст слева дополняется пробелами. Выравнивание по правому краю. Если длина выводимого значения больше ширины поля вывода , то формат игнорируется. Значения с форматом вывода вида :m будутпредставлены в экспоненциальной форме. Например, если a, b - целые переменные, то при выполнении операторов a:=-2437; b:=13555; writeln (a :6 ,'Привет!' :9 ); writeln (b :1 ); в окно вывода будет выведен следующий текст: -2437 Привет! 13555 Например: writeln (-14.859:10:3); // ___-14.859 writeln (-14.859:10:5); // _-14.85900 writeln (-14.859:10:2); // ____-14.86 writeln (-14.859:10:0); // _______-15 writeln (-14.859:10:7); // -14.8590000 writeln ((0,1):10:1); // _(0.0,1.0) (здесь символом _ изображены пробелы).
Оператор write , writeln 1 write (' A=',A:5:2) 5 write(x:6:3,f:7:4) 2 write(a,b,c) 6 write(s,d) 3 writeln 7 write(‘s= ‘, s:6:3, ‘ ‘,’w=’,w:8:4) 4 write (‘ x=', x: 10:5) 8 write(sqrt(25)+5) 1. Какие из операторов вывода, приведенные в таблице, выводят только значения переменных? 2. Какие из приведенных операторов вывода выводят имена переменных и их значения? 3. Какой оператор определяет пропуск строки? 2 5 6 1 4 7
Примеры использования := Program swap1; var x, y, v : integer; begin read(x,y); writeln( ‘x=‘, x, ' y= ', y); v := x; x := y; y := v; writeln( ‘x=‘, x, ' y= ', y); end. Program swap2; var x, y: integer; begin read(x, y); writeln( ‘x=‘, x, ' y= ', y); x := x + y; y := x - y; x := x - y; writeln( ‘x=‘, x, ' y= ', y); end. Пример 1 . Перемена местами двух целых значений. Дано: x, y;
Задания на линейные алгоритмы Разработать математическую модель. Составить блок-схему алгоритма и тест. Написать программу на языке Pascal. Задача 1 . Даны катеты прямоугольного треугольника a и b . Найти его гипотенузу c , периметр P и площадь S . ( begin12) Задача 2 . Найти длину окружности L и площадь круга S заданного радиуса R . ( L=2 π R ; S= π R 2 ; считать, что π =3,14 ) . ( begin 7) Задача 3 . Скорость первого автомобиля V1 км/ч, второго — V2 км /ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга. ( begin 36) Задача 4. ( begin 20) Найти расстояние между двумя точками с заданными координатами ( x 1 , y 1 ) и ( x 2 , y 2 ) на плоскости. Расстояние вычисляется по формуле Задача 5 . ( begin 21) Даны координаты трех вершин треугольника: ( x 1, y 1), (x 2, y 2), ( x 3, y 3). Найти его периметр P и площадь S. Для нахождения площади треугольника со сторонами a , b , c использовать формулу Герона 73. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 12.5 должно быть преобразовано к виду 12 руб. 50 коп.
Операции div и mod ВНИМАНИЕ!!! Операции div и mod определены только для данных типа integer Целочисленное деление x div y = x / y , округленное до ближайшего целого по направлению к нулю. Остаток от целочисленного деления x mod y = x - (x div y) * y . Пример использования 1. Для определения четности числа: x mod 2 = 0 <-> x — четное x mod 2 <> 0 <-> x — нечетное 2. Для операций с цифрами числа Сумма цифр целого трехзначного числа А. s:=a div 100+a mod 100 div 10 +a mod 10;
Задание : составьте алгоритм посадки дерева. Выкопать в земле ямку; Опустить в ямку саженец; Засыпать ямку с саженцем землей; Полить саженец водой. начало конец Выкопать яму Опустить в ямку саженец Засыпать ямку с саженцем землей Полить саженец водой
Линейный Алгоритм
Базовая структура линейного алгоритма начало конец Команда 1 Команда 2 Команда n
Этапы решения задач на компьютере: Постановка задачи . Построение математической модели. Алгоритмизация. Написание задачи на языке программирования. Отладка и тестирование программы. Анализ полученных результатов .
Задача Вычислить периметр произвольного треугольника по его трем сторонам.
Решение 1.Постановка задачи Переменная Смысловое значение Тип значения a Стороны треугольника вещественный b вещественный c вещественный P Периметр треугольник вещественный Исходные данные Результат
Решение 2.Построение математической модели: P=a+b+c 3 .Алгоритм решения: начало Конец. P=a+b+c Вывод: P Ввод : a,b,c
Решение 4 .Программа: Program zad_1; Uses crt; Var a,b,c:integer; Begin Clrscr; Write(‘ Введите значение сторон треугольника ’); Readln(a,b,c); P:=a+b+c; Write(‘ Периметр треугольника P=‘, P); Readln; End.
5. Тест. Задаем значения a=3 b=5 c=8 P=3+5+8=16
Что происходит после запуска программы? Введите через запятую значение сторон треугольника 3,5,8
Домашнее задание 1.Выучить записи в тетради. 2.Задача: Вычислить периметр произвольного прямоугольника по двум его сторонам.(Запись в тетради болк - схемы и алгоритм программы на языке ABC Pascal )
По теме: методические разработки, презентации и конспекты
Контрольная работа. Знакомство с языком программирования Паскаль.
Контрольная работа представлена в 6 вариантах....
![](/sites/default/files/pictures/2013/10/13/picture-315162-1381690278.jpg)
Язык программирования Паскаль. Алгоритмы и программы.
Представленная разработка составлена в виде контрольно-измерительного материала (каталог задач по ЕГЭ В2) для курса информатики и ИКТ 10 класса по теме "Язык программирования"...
![](/sites/default/files/pictures/2014/01/12/picture-379911-1389548964.png)
Основы программирования: ТЕМА 01. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ.
ОСНОВЫ ПРОГРАММИРОВАНИЯВВЕДЕНИЕОдним из популярных сегодня ЯП является Паскаль. Он позволяет составлять программы для решения математических задач, обработки текстов, построения изображений на экране ...
Краткий сборник задач (с решением) по теме «Организация линейных, разветвляющихся и циклических алгоритмов на языке программирования Паскаль»
Данный сборник пригодится педагогам, которые преподают в осноыной школе программирование на языке Паскаль, а также для увлекающихся начальным программированием учеников....
![](/sites/default/files/pictures/2015/11/13/picture-708332-1447417185.jpg)
Программирование. Язык программирования Паскаль
Цель• Познакомить обучающихся с языком программирования Паскаль• Отрабатывать практические умения обучающихся по работе в сре...
![](/sites/default/files/pictures/2017/01/22/picture-882035-1485114890.jpg)
Алгоритмы с ветвлениями. Их реализация на языке программирования ПАСКАЛЬ.
Презентация "Алгоритмы с ветвлениями. Их реализация на языке программирования Паскаль" краткий теоретический материал по теме "Алгоритмическая конструкция Ветвление. Программирование ветвлений н...
![](/sites/default/files/pictures/2023/03/27/picture-1466009-1679897401.jpg)
Конспект урока по теме «Запись алгоритмов на языках программирования. Язык программирования Python»
Вся история человечества – это история раздвигания граней неизвестного. Одним из вечно спорных и до сих пор нерешенных вопросов человека к самому себе остается вопрос о возможности создания иску...