Основы языка программирования .Паскаль
план-конспект занятия на тему
Разработка урока предусматривающая работу в Паскале
Скачать:
Вложение | Размер |
---|---|
glava_8_tema_8.1.doc | 181.5 КБ |
glava_8_tema_8.2.doc | 384 КБ |
Предварительный просмотр:
Глава 8 Алгоритмы и исполнители
Тема 8.1. Понятие алгоритма
Курс: 1
Вид занятия: Занятие теоретического обучения
Тип занятия: Лекция
Форма проведения занятия: Индивидуальная и групповая
Место проведения занятия: Кабинет информатики и ИКТ
Цель занятия: Изучить понятие алгоритма и основы программирования
Задачи занятия:
- Учебная – формироввание мотивации и опыта учебно познавательной и практической деятельности. Создать условия для обобщения и систематизации знаний, проверка ЗУН.
- Воспитательная - развить логическое мышление и умение выражать речью результаты собственной мыслительной деятельности. Способствовать развитию умению анализировать, выдвигать гипотезы, предложения.
- Развивающая - способствовать формированию памяти, находчивости, научного мировоззрения
- Методическая - методика использования оптимальных способов повторения изученного материала
Оборудование: Интерактивная доска, канцелярские принадлежности, карточки с заданием.
План занятия:
1.Организационный момент 2. Актуализация знаний 3. Изучение нового материала 4 Система основных понятий 5. Закрепление 6. Итог и задание для самостоятельной работы | 4-5 минут 10-15 минут 40-45 минут 25-30 минут 22-25 минут 8-10 минут |
Ход занятия:
1.Организационный момент
Преподаватель и студенты, здороваются, проводится инструктаж по безопасной работе за компьютерами, студент расписывается за рабочее место за которое он несет ответственность в течении всей пары.
2. Актуализация знаний
- Что обозначает термин «ресурсы»? Какие бывают ресурсы?
- Что такое информационные ресурсы?
- Каким особым свойством обладают информационные ресурсы по сравнению с любыми другими?
- Почему информационные ресурсы можно назвать товарами?
- Почему информационные ресурсы относят к числу стратегических?
- Что представляет собой рынок информационных ресурсов?
- Кто на рынке информационных ресурсов выступает в роли продавца, а кто — покупателя?
- Могли бы вы предложить на рынок информационных ресурсов какой-нибудь свой товар? Как бы вы его оценили?
- Что относится к числу информационных услуг?
- Придумайте новый вид информационных услуг.
- Что является основой мирового рынка информационных ресурсов и услуг?
- Какие виды информационных услуг вы знаете? Пользовались ли вы ими лично?
- Охарактеризуйте виды информационных ресурсов России.
- С какими видами информационных ресурсов России вы лично сталкивались?
- Какие события и процессы определили четыре информационные революции?
- Что такое информационное общество?
- Сформулируйте критерий, определяющий стадии информационного общества.
- К каким изменениям в экономике государства и на рынке труда приводит формирование информационного общества?
- Каково настоящее состояние и перспективы информационных и коммуникационных технологий?
- В чем заключается информационный кризис общества? Каковы пути его преодоления?
- Определите связь между понятиями «информационное общество» и «свобода доступа к информации».
- Что такое информационная культура?
- Как соотносится информационная культура с общечеловеческой культурой?
- Какие проблемы образования будут решены в информационном обществе?
- Определите изменения, которые произойдут в укладе жизни членов информационного общества: в работе, в учебе, в быту.
- Какие наиболее существенные проблемы и опасности существуют на пути к информационному обществу?
- Почему задача движения к информационному обществу для России относится к числу приоритетных?
- Приведите известные вам примеры, отражающие наличие процесса движения России к информационному обществу.Правовое регулирование в информационной сфере
- Какую информацию вы считаете конфиденциальной для государства, для вашей школы, для себя лично?
- Что относится к объектам информационной безопасности России?
- Что относится к национальным интересам России в информационной области?
- Как проявляется информационное неравенство в системе образования?
- Сталкивались ли вы в своей жизни с проявлениями информационного неравенства?
3. Изучение материала
1.Теперь вам предстоит ближе познакомиться еще с одним разделом информатики, который называется «программирование».
Назначение программирования — разработка программ управления компьютером с целью решения различных информационных задач. Для составления программ существуют разнообразные языки программирования.
Язык программирования — это фиксированная система обозначений для описания алгоритмов
и структур данных.
Популярными языками программирования сегодня являются Паскаль, Бейсик, Си, Фортран и др.
Для создания и исполнения на компьютере программы, написанной на языке программирования, используются системы программирования.
Система программирования — это программное обеспечение компьютера, предназначенное для разработки, отладки и исполнения программ, записанных на определенном языке программирования.
Существуют системы программирования на Паскале, Бэйсике и других языках.
Разработка любой программы начинается с построения алгоритма решения задачи. Обсудим особенности алгоритмов решения задач обработки информации на компьютере. Такие алгоритмы называют алгоритмами работы с величинами.
- присваивание;
- ввод;
- вывод;
- обращение к вспомогательному алгоритму;
- цикл;
- ветвление.
Команда присваивания — одна из основных команд в алгоритмах работы с величинами. Записывать ее мы будем так: <переменная> := < выражением
Значок «:=» читается «присвоить». Например:
Z := X + Y.
Компьютер сначала вычисляет выражение, затем результат присваивает переменной, стоящей слева от знака «:=».
Если до выполнения этой команды содержимое ячеек, соответствующих переменным X, Y, Z, было таким:
Прочерк в ячейке Z обозначает, что начальное число в ней может быть любым. Оно не имеет значения для результата данной команды.
Если слева от знака присваивания стоит числовая переменная, а справа — математическое выражение, то такую команду называют арифметической командой присваивания, а выражение — арифметическим.
В частном случае арифметическое выражение может быть представлено одной переменной или одной константой. Например:
Х:= 5 Y:=X.
Значения переменных, являющихся исходными данными решаемой задачи, как правило,
задаются вводом.
Команда ввода в описаниях алгоритмов будет выглядеть так:
ввод <список переменных>. Например: ввод А, В, С.
12.1. Алгоритмы работы с величинами
Вам уже известно, что всякий алгоритм составляется для конкретного исполнителя. Теперь в качестве исполнителя мы будем рассматривать компьютер, оснащенный системой программирования на определенном языке.
Компьютер-исполнитель работает с определенными данными по определенной системе команд.
Данные. Компьютер работает с информацией, хранящейся в его памяти. Отдельный информационный объект (число, символ, строка, таблица и пр.) называется величиной.
Всякая обрабатываемая программой величина занимает свое место (поле) в памяти ЭВМ. Значение величины — это информация, хранимая в этом поле памяти.
Существуют три основных типа величин, с которыми работает компьютер: числовой, символьный и логический.
Изучая базы данных и электронные таблицы, вы уже встречались с этими типами. В данной главе мы будем строить алгоритмы, работающие с числовыми величинами.
Числовые величины в программировании, так же как и математические величины, делятся на переменные и константы (постоянные). Например, в формуле (a2-2ab+b2) а,Ъ — переменные, 2 — константа.
Константы записываются в алгоритмах своими десятичными значениями, например: 23, 3.5, 34. Значение константы хранится в выделенной под нее ячейке памяти и остается неизменным в течение работы программы.
Переменные в программировании, как и в математике, обозначаются символическими именами. Эти имена называют идентификаторами (от глагола «идентифицировать», что значит обозначать, символизировать). Идентификатор может быть одной буквой, множеством букв, сочетанием букв и цифр. Как правило, употребляются буквы только латинского алфавита и первый символ в идентификаторе — буква. Примеры идентификаторов: А, X, ВЗ, prim, г25 и т.п.
Система команд. Вам известно, что всякий алгоритм строится исходя из системы команд исполнителя, для которого он предназначен. Независимо от того, на каком языке программирования будет написана программа, алгоритм работы с величинами составляется из следующих команд:
На современных компьютерах ввод чаще всего выполняется в режиме диалога с пользователем. По команде ввода компьютер прерывает выполнение программы и ждет действий пользователя. Пользователь должен набрать на клавиатуре вводимые значения переменных и нажать клавишу <ВВОД>. Введенные значения присвоятся соответствующим переменным из списка ввода, и выполнение программы продолжится.
Вот схема выполнения приведенной выше команды.
1. Память до выполнения команды:
— | В | — | с | — |
- Процессор ЭВМ получил команду ввод А, В, С, прервал свою работу и ждет действий пользователя.
- Пользователь набирает на клавиатуре:
13 5
и нажимает клавишу <ВВОД> или
- Память после выполнения команды:
1 | в | 3 | с | 5 |
5. Процессор переходит к выполнению следующей команды программы. При выполнении пункта 3 вводимые числа должны быть отделены друг от друга какими-нибудь разделителями. Обычно это пробелы.
Из сказанного выше можно сделать вывод:
Переменные величины получают конкретные значения в результате выполнения команды присваивания или команды ввода.
Если переменной величине не присвоено никакого значения (или не введено), то она является неопределенной. Иначе говоря, ничего нельзя сказать, какое значение имеет эта переменная.
Результаты решения задачи сообщаются компьютером пользователю путем выполнения команды вывода.
Команда вывода в алгоритмах будет записываться так:
вывод <список вывода>. Например: вывод XI, Х2.
По этой команде значения переменных XI и Х2 будут вынесены на устройство вывода (чаще всего это экран).
О других командах, применяемых в вычислительных алгоритмах, вы узнаете позже.
.2. Линейные вычислительные алгоритмы
Поскольку присваивание является важнейшей операцией в алгоритмах, работающих с величинами, то поговорим о ней более подробно.
Переменная величина получает значение в результате присваивания.
Присваивание производится компьютером при выполнении двух команд из представленной выше системы: команды присваивания и команды ввода.
Рассмотрим последовательность выполнения четырех команд присваивания, в которых участвуют две переменные величины а и Ъ. В приведенной ниже таблице напротив каждой команды указываются значения переменных, которые устанавливаются после ее выполнения. Такая таблица называется трассировочной таблицей, а процесс ее заполнения называется трассировкой алгоритма. Компьютер выполняет команды в порядке их записи в алгоритме.
Команда | а | Ь |
а:= 1 | 1 | — |
Ъ:= 2 х а | 1 | 2 |
а:= Ь | 2 | 2 |
Ь:= а + Ь | 2 | 4 |
Прочерк в таблице обозначает неопределенное значение переменной. Конечные значения, которые получают переменные а и Ъ, соответственно равны 2 и 4.
Этот пример иллюстрирует три основных свойства присваивания. Вот эти свойства:
- пока переменной не присвоено значения, она остается неопределенной;
- значение, присвоенное переменной, сохраняется в ней вплоть до выполнения следующего присваивания этой переменной нового значения;
- новое значение, присвоенное переменной, заменяет ее предыдущее значение.
Рассмотрим еще один очень полезный алгоритм, с которым при программировании часто приходится встречаться. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями. Например, если первоначально было X — 1; У = 2, то после обмена должно стать: X = 2, У - 1.
Хорошим аналогом для решения такой задачи является следующая: даны два стакана, в первом — молоко, во втором — вода; требуется произвести обмен их содержимым. Всякому ясно, что в этом случае нужен дополнительный третий пустой стакан. Последовательность действий будет следующей:
- перелить из 1-го в 3-й;
- перелить из 2-го в 1-й;
- перелить из 3-го во 2-й.
Цель достигнута!
По аналогии для обмена значениями двух переменных нужна третья дополнительная переменная. Назовем ее Z. Тогда задача решается последовательным выполнением трех операторов присваивания (пусть начальные значения 1 и 2 для переменных X и У задаются вводом):
Команда | X | У | Z |
ввод X,У | 1 | 2 | - |
Z:=X | 1 | 2 | 1 |
X:=Y | 2 | 2 | 1 |
Y:=Z | 2 | 1 | 1 |
вывод X,Y | 2 | 1 | 1 |
Действительно, в итоге переменные X и У поменялись значениями. На экран будут выведены значения X и Y в таком порядке: 2, 1. В трассировочной таблице выводимые значения выделены жирным шрифтом.
Аналогия со стаканами не совсем точна в том смысле, что при переливании из одного стакана в другой первый становится пустым. В результате же присваивания (Х:=У) переменная, стоящая справа (У), сохраняет свое значение.
И наконец, рассмотрим пример составления алгоритма для решения следующей математической задачи: даны две простые дроби; получить дробь, являющуюся результатом их деления.
В школьном учебнике математики правила деления обыкновенных дробей описаны так:
- Числитель первой дроби умножить на знаменатель второй.
- Знаменатель первой дроби умножить на числитель второй.
- 3. Записать дробь, числителем которой является результат выполнения пункта 1, а знаменателем — результат выполнения пункта 2. В алгебраической форме это выглядит следующим образом:
a\d : c\d = ad\bc=m\n
Теперь построим алгоритм деления дробей для компьютера. В этом алгоритме сохраним те же обозначения для переменных, которые использованы в записанной выше формуле. Исходными данными являются целочисленные переменные а, Ъ, с, d. Результатом — также целые величины тип.
Ниже алгоритм представлен в двух формах: в виде блок-схемы и на алгоритмическом языке (АЯ).
Раньше прямоугольник в схемах алгоритмов управления мы называли блоком простой команды. Для вычислительных алгоритмов такой простой командой является команда присваивания. Прямоугольник будем называть блоком присваивания или вычислительным блоком. В форме параллелограмма рисуется блок ввода-вывода. Полученный алгоритм имеет линейную структуру (рис. 12.1).
/ выводы m, n / (^конец^)
Алг деление дробей
Цел а, Ь, с, d, m, n
Нач ввод a, b, с, d
m:=axd
n:=bxc
Кон
Рис. 12.1. Алгоритм деления дробей
В алгоритме на АЯ строка, стоящая после заголовка алгоритма, называется описанием переменных. Служебное слово цел означает целый тип. Величины этого типа могут иметь значения только целых чисел.
Описание переменных имее: <тип переменных> <с: Список переменных включа< данного типа, входящие в алг В блок-схемах типы перемен разумеваются. Запись алгорнт: языкам программирования, че
4. Система понятий
Программирование — это раздел информатики, занимающийся вопросами разработки программ управления компьютером.
Алгоритм решения любой задачи на ЭВМ составляется из следующих команд: присваивания; ввода; вывода; обращения к вспомогательному алгоритму; цикла; ветвления.
Программа для ЭВМ — это алгоритм, записанный на языке программирования.
Язык программирования — это фиксированная система обозначений для описания алгоритмов и структур данных.
Всякая обрабатываемая программой величина занимает определенное поле в памяти ЭВМ. Значение величины — это информация, хранимая в этом поле.
Переменная величина получает значение в результате выполнения команды присваивания и команды ввода.
Формат арифметической команды присваивания: <пере- менная> := <арифметическое выражением-. Сначала вычисляется арифметическое выражение, затем полученное значение присваивается переменной.
Ввод — это занесение данных с внешних устройств в оперативную память компьютера. Исходные данные для решения задачи обычно задаются вводом.
Результаты решения задачи выносятся на устройства вывода (дисплей, принтер) по команде вывода.
Основные свойства присЕал;
- значение переменной не о п но никакого значения;
- новое значение, присваив ее старое значение;
- присвоенное переменной вплоть до нового присваив
Обмен значениями двух перх третью дополнительную перем;
Трассировочная таблица исп полнения алгоритма с целью е В алгоритмах на АЯ указыва Такое указание называется ош
Числовые величины, принт ные значения, описываются
Вопросы и задания
- Что такое программирование?
- Что такое величина? Чем отличаются переменные и постоянные величины?
- Чем определяется значение величины?
- Какие существуют основные типы величин в программировании?
- Как записывается арифметическая команда присваивания?
- Что такое ввод? Как записывается команда ввода?
- Что такое вывод? Как записывается команда вывода?
- В схематическом виде (как это сделано в параграфе) отразите изменения значений в ячейках, соответствующих переменным А и В в ходе последовательного выполнения команд присваивания:
1) А:=1 2) А:=1 3) А:=1 В:=2 В:=2 В:=2
А:=А+В С:=А А:=А+В
В:= 2хА А:=В В:=А-В
В:=С А:=А-В
9. Вместо многоточия впишите в алгоритм несколько команд присваивания, в результате чего получится алгоритм возведения в 4-ю степень введенного числа (дополнительные переменные, кроме А, не использовать):
ввод А ... вывод А.
10. Из каких команд составляется горитм?
11. Что такое трассировка? Как он^
12.В каком случае значение пере: ным?
13. Что происходит с предыдущие присваивания ей нового значен
14. Как вы думаете, можно ли испо ражении оператора присваива ную? К каким последствиям эт<
- Написать на АЯ алгоритм слоя сокращения дроби).
6. Итог и задание для самостоятельной работы
Выполнит самостоятельную работу №26
1. Запишите исполнителей для приведённых ниже видов работ:
Уборка мусора во дворе - Перевозка пассажиров в поезде - Выдача заработной платы - Приём экзаменов в школе - Сдача экзамена в университете - Набор текста на компьютере - Приготовление еды в ресторане -
2. Определите полный набор данных для решения следующих задач обработки информации:
а) вычисление стоимости покупок в магазине
б) вычисление суммы сдачи от данных Вами продавцу денег
в) определение времени показа по телевизору интересующего Вас фильма
г) вычисление площади треугольника
д) определение времени падения кирпича с крыши дома
е) определение месячной платы за расход электроэнергии
ж) перевод русского текста на итальянский язык
з) перевод итальянского текста на русский язык
3. Есть исполнитель «Перевозчик», который перевозит через реку волка, козу и капусту. Напишите алгоритм перевоза через реку волка, козы и капусты, если СКИ «Перевозчика» содержит 5 команд: ВЗЯТЬ КОЗУ, ВЗЯТЬ ВОЛКА, ВЗЯТЬ КАПУСТУ, ВЫСАДИТЬ, ПЕРЕПЛЫТЬ. В лодку может поместиться только один предмет или животное. Нельзя оставлять на берегу одних волка с козой и козу с капустой.
4. Напишите алгоритм приготовления какого-либо блюда (алгоритм должен иметь линейную структуру).
5. Есть исполнитель «Арифмометр», который понимает следующие команды:
- взять число N (занести в память число N),
- умножить (перемножаются занесённые в память последние два числа),
- сложить (складываются занесённые в память последние два числа),
- вычесть (вычисляется разность занесенных в память последних двух чисел),
- результат (вывести результат) Например, в результате выполнения алгоритма:
- взять число 5,
- взять число 10,
- взять число 2,
- вычесть,
- умножить,
- результат
получим ответ 40, так как 5*(10-2)=40.
Какой результат будет получен при выполнении приведённого ниже алгоритма?
- взять число 4,
- взять число 8,
- взять число 2,
- вычесть.
- взять число 10,
- умножить,
- взять число 56.
- вычесть,
- вычесть.
- результат.
Дайте объяснение своему ответу (приведите формулу для вычисления).
6. Почему приведённые ниже алгоритмы для исполнителя «Арифмометр» не могут быть выполнены (какие свойства алгоритма нарушены)?
А) - взять число 4, | Б) - взять число 6, | В) - взять число, |
- взять число 5, | - взять число 3. | - взять число, |
- умножить. | - разделить. | - сложить, |
- вычесть, | - результат | - результат |
- результат. | ||
А) | Б) | В) |
Предварительный просмотр:
Тема 8.2. Основы языка программирования Паскаль
Курс: 1
Вид занятия: Занятие теоретического обучения
Тип занятия: Лекция
Форма проведения занятия: Индивидуальная и групповая
Место проведения занятия: Кабинет информатики и ИКТ
Цель занятия: Изучить язык программирования Паскаль
Задачи занятия:
- Учебная – формироввание мотивации и опыта учебно познавательной и практической деятельности. Создать условия для обобщения и систематизации знаний, проверка ЗУН.
- Воспитательная - развить логическое мышление и умение выражать речью результаты собственной мыслительной деятельности. Способствовать развитию умению анализировать, выдвигать гипотезы, предложения.
- Развивающая - способствовать формированию памяти, находчивости, научного мировоззрения
- Методическая - методика использования оптимальных способов повторения изученного материала
Оборудование: Интерактивная доска, канцелярские принадлежности, карточки с заданием.
План занятия:
1.Организационный момент 2. Актуализация знаний 3. Изучение нового материала 4 Система основных понятий 5. Закрепление 6. Итог и задание для самостоятельной работы | 4-5 минут 10-15 минут 40-45 минут 25-30 минут 22-25 минут 8-10 минут |
Ход занятия:
1.Организационный момент
Преподаватель и студенты, здороваются, проводится инструктаж по безопасной работе за компьютерами, студент расписывается за рабочее место за которое он несет ответственность в течении всей пары.
2. Актуализация знаний
- Какие языки программирования вам знакомы?
- Есть ли между ними различия?
- Что такое алгоритм? Из каких блоков он состоит?
. Знакомство с языком Паскаль
После того как построен алгоритм решения задачи, составляется программа на определенном языке программирования.
Среди современных языков программирования одним из самых популярных является язык Паскаль. Этот язык разработан в 1971 году и назван в честь Блеза Паскаля — французского ученого, изобретателя механической вычислительной машины. Автор языка Паскаль — швейцарский профессор Никлаус Вирт.
Паскаль — это универсальный язык
программирования, позволяющий решать самые
разнообразные задачи обработки информации.
Команду алгоритма, записанную на языке программирования, принято называть оператором.
Программа на Паскале близка по своему виду к описанию алгоритма на алгоритмическом языке. Сравните алгоритм решения уже знакомой вам задачи — деление простых дробей с соответствующей программой на Паскале:
алг деление дробей Program Division;
цел a,b,c,d,m,n var a,b,c,d,m,n: integer;
нач begin
ввод a, b, c, d readln(a,b,c,d); {Ввод}
m:= axd m:= a*d; {Числитель}
n:= bxc n:= b*c; {Знаменатель}
вывод m, n write(m, n) {Вывод}
кон end.
Даже не заглядывая в учебник по Паскалю, в этой программе можно все понять (особенно помогает знание английского языка).
Заголовок программы начинается со слова Program (программа), за которым следует произвольное имя, придуманное программистом.
Program < имя программы>.
Раздел описания переменных начинается со слова Var (variables — переменные), за которым идет список имен переменных через запятую. Тип указывается после двоеточия. В стандарте языка Паскаль существуют два числовых типа данных: вещественный и целый. Слово integer обозначает целый тип (является идентификатором целого типа). Вещественный тип обозначается словом real. Например, раздел описания переменных может быть таким:
Var a, b : integer; с, d : real.
Идентификаторы переменных составляются из латинских букв и цифр; первым символом обязательно должна быть буква.
Раздел операторов — основная часть программы. Начало и конец раздела операторов программы отмечаются служебными словами begin (начало) и end (конец). В самом конце программы ставится точка.
begin
< операторы > end.
Ввод исходных данных с клавиатуры происходит по оператору read (read — читать) или readln (read line — читать строку).
read(
При выполнении команды ввода компьютер ожидает действий пользователя. Пользователь набирает на клавиатуре значения переменных в том порядке, в каком они указаны в списке, отделяя их друг от друга пробелами. Одновременно с набором данных на клавиатуре они появляются на экране. В конце нажимается клавиша <ВВОД> или
Вывод результатов происходит по оператору write (write — писать) или writeln (write line — писать в строку).
write(
Результаты выводятся на экран компьютера в порядке их перечисления в списке. Элементами списка вывода могут быть константы, переменные, выражения.
Разница в выполнении операторов writeln и write состоит в том, что после выполнения вывода по оператору writeln экранный курсор перемещается в начало новой строки, а по оператору write этого не происходит.
Арифметический оператор присваивания на Паскале имеет следующий формат:
<числовая переменная> := <арифметическое выражение>
Арифметическое выражение может содержать числовые константы и переменные, знаки арифметических операций, круглые скобки. Кроме того, в арифметических выражениях могут присутствовать функции.
Знаки основных арифметических операций записываются так:
+ сложение, - вычитание, * умножение, / деление.
Запись арифметических выражений на Паскале похожа на обычную математическую запись. В отличие от математики, где часто пропускается знак умножения (например, пишут 2а), в Паскале этот знак пишется обязательно: 2*а. Например, математическое выражение
а2 + Ь2 - 12с
на Паскале записывается так:
А*А + В*В - 12*С.
Это же выражение можно записать иначе: SQR(A) + SQR(B) - 12*С.
Здесь использована функция возведения в квадрат — SQR. Аргументы функций всегда пишутся в круглых скобках.
Последовательность выполнения операций определяется по их приоритетам (старшинству). К старшим операциям относятся умножение (*), деление (/). Операции сложения и вычитания — младшие. В первую очередь выполняются старшие операции. Несколько операций одинакового старшинства, записанные подряд, выполняются в порядке их записи слева направо. Приведенное выше арифметическое выражение будет вычисляться в следующем порядке (порядок вычислений указан цифрами сверху):
1 4 2 5 3
А*А + В*В-12*С.
Круглые скобки в арифметических выражениях влияют на порядок выполнения операций. Как и в математике, в первую очередь выполняются операции в скобках. Если имеются несколько пар вложенных скобок, то сначала выполняются операции в самых внутренних скобках. Скобки раскрываются изнутри наружу. Например:
6 1 3 2 4 5
А + ((С -D) / (2+К) - 1)*В.
Необходимо строгое соблюдение правописания (синтаксиса) программы. В частности, в Паскале однозначно определено назначение знаков пунктуации.
Точка с запятой (;) ставится в конце заголовка программы, в конце раздела описания переменных, является разделителем операторов. Перед словом end точку с запятой можно не ставить.
Запятая (,) является разделителем элементов во всевозможных списках: список переменных в разделе описания, список вводимых и выводимых величин.
Строгий синтаксис в языке программирования необходим потому, что компьютер является формальным исполнителем программы. Если, допустим, разделителем в списке переменных должна быть запятая, то любой другой знак будет восприниматься как ошибка. Если точка с запятой является разделителем операторов, то в качестве оператора компьютер воспринимает всю часть текста программы от одной точки с запятой до другой. Если программист забыл поставить «;» между какими-то двумя операторами, то компьютер будет принимать их за один с неизбежной ошибкой.
В программу на Паскале можно вставлять комментарии. Комментарий — это пояснение к программе, которое записывается в фигурных скобках. В комментариях можно использовать русские буквы. На исполнение программы комментарий никак не влияет.
Заметим, что в Паскале нет различия между строчными и прописными буквами. Разница только внешняя. Например, для Паскаля тождественны следующие варианты записи слова: begin, Begin, BEGIN, BeGiN. Использование строчных или прописных букв — дело вкуса программиста
. Алгоритмы с ветвящейся структурой
Рассмотрим несколько задач, решение которых на компьютере получается с помощью ветвящихся алгоритмов.
Полное и неполное ветвление. Первая задача: даны значения двух величин; выбрать большее из них.
Пусть исходными данными являются переменные А и В. Их значения будут задаваться вводом. Значение большего из них должно быть присвоено переменной С и выведено на экран компьютера. Например, если А=5, В=8, то должно получиться: С=8.
Блок-схема алгоритма решения этой задачи:
Рис. 12.2. Алгоритм выбора большего из двух (с полным ветвлением)
Нетрудно понять смысл этого алгоритма. Если значение переменной А больше, чем В, то переменной С присвоится значение А. В противном случае, когда А < В, переменной С присвоится значение В.
Условием, по которому разветвляется алгоритм, является отношение неравенства А>В. Изучая базы данных и электронные таблицы, вы узнали, что такое отношение является логическим выражением. Если оно справедливо, то результатом будет логическая величина «истина» и выполнение алгоритма продолжится по стрелке «да»; в противном случае логическое выражение примет значение «ложь» и выполнение алгоритма пойдет по ветви «нет».
До выполнения на компьютере правильность алгоритма можно проверить путем заполнения трассировочной таблицы. Вот как будет выглядеть трассировка нашего алгоритма для исходных значений А=5, В=8.
Шаг | Операция | А | В | С | Проверка условия |
1 | ввод А,В | 5 | 8 | ||
2 | А>В | 5 | 8 | 5>8, нет (ложь) | |
3 | С:=В | 5 | 8 | 8 | |
4 | вывод С | 5 | 8 | 8 |
Ветвление является структурной командой. Его исполнение происходит в несколько шагов: проверка условия (выполнение логического выражения) и выполнение команд на одной из ветвей «да» или «нет». Поэтому в трассировочной таблице записываются не команды алгоритма, а отдельные операции, выполняемые компьютером на каждом шаге.
В алгоритме на рис. 12.2 используется полное ветвление. Эту же самую задачу можно решить, применяя структурную команду неполного ветвления. Вот блок-схема такого алгоритма:
Рис. 12.3. Алгоритм выбора большего из двух (с неполным ветвлением)
Выполните самостоятельно трассировку этого алгоритма для вариантов 1) А=0.2, В=0.3; 2) А=7, В=4; 3) А=5, В=5. Если вы все проделаете правильно, то убедитесь, что алгоритм верный.
А теперь запишем рассмотренные алгоритмы на алгоритмическом языке. Во-первых, нужно решить вопрос о том, как описать переменные в этом алгоритме. Вспомним, что для всех переменных в алгоритме на алгоритмическом языке необходимо указать их тип.
Переменные А, В, С — числовые величины. В этой задаче они могут принимать любые значения. В программировании числовые величины, которые могут иметь любые значения — целые, дробные называются вещественными. Им ставится в соответствие вещественный тип. На алгоритмическом языке этот тип указывается служебным словом вещ.
Как выглядит команда ветвления, вы уже знаете. Вот два алгоритма на АЯ, соответствующие блок-схемам на рис. 12.2 и 12.3.
алг БИД1 алг ВИД2
вещ А, В, С Вещ А, В, С
нач ввод А, В Нач ввод А, В
если >В с:= А
то С:=А если в>А
иначе С:=В хо С:=В
кв кв
вывод С вывод С
кон кон
Под сокращенным названием алгоритмов ВИД подразумевается «Большее из двух».
Для программирования характерно то, что одна и та же задача может быть решена с помощью разных алгоритмов. И чем сложнее задача, тем больше можно придумать различных алгоритмов ее решения. Для больших задач (производственных, научных) практически невозможно точное совпадение алгоритмов, составленных разными программистами.
Следующая задача: упорядочить значения двух переменных X и Y по возрастанию. Смысл этой задачи следующий: если для исходных значений переменных справедливо отношение X
Алгоритм обмена значениями двух переменных был рассмотрен в предыдущем параграфе. Вспомним, что для обмена нужна третья вспомогательная переменная.
В алгоритме решения данной задачи используется неполное ветвление. Блок-схема и алгоритм на АЯ имеют следующий вид:
ввод X, y7
<8>
3
алг СОРТИРОВКА вещ X, Y, С нач ввод X, Y
если X>Y
то С:=Х X:=Y Y:=C
KB
вывод X, Y
кон
Рис. 12.4. Алгоритм упорядочения двух величин
Здесь роль вспомогательной переменной для обмена выполняет С.
Последовательные и вложенные ветвления. Получим алгоритм решения еще одной задачи: найти наибольшее значение среди трех величин: А, В, С.
Естественно, возникает следующая идея этого алгоритма: сначала нужно найти большее значение среди А и В и присвоить его какой-то дополнительной переменной, например D; затем найти большее среди D и С. Это значение можно присвоить той же переменной D.
Решение задачи сводится к двукратному применению уже знакомого алгоритма нахождения большего из двух. Вот соответствующие блок-схема и алгоритм на АЯ (рис. 12.5).
Нетрудно догадаться, что БИТ обозначает «Большее из трех». В структуре этого алгоритма содержатся два последовательных ветвления: первое — полное, второе — неполное.
Шаг | Операция | А | В | С | D | Проверка условия |
1 | ввод А,В,С | 5 | 7 | 2 | - | |
2 | А >В | 5 | 7 | 2 | - | 5>7, нет |
3 | В>С | 5 | 7 | 2 | - | 7>2, да |
4 | D:=B | 5 | 7 | 2 | 7 | |
5 | вывод D | 5 | 7 | 2 | 7 |
Рис. 12.6. Алгоритм «БИТ» с вложенными ветвями
Эту же задачу можно решить с помощью алгоритма совсем другой структуры. Приведенная на рис. 12.6 блок-схема имеет структуру вложенных ветвлений.
4. Система понятийПаскаль — универсальный язык программирования. Программа на Паскале состоит из заголовка, описаний и операторов.
Формат заголовка программы:
Program <имя программы>; Формат описания переменных:
Var <список однотипных переменных> : <тип>;... Раздел операторов: begin
end.
Операторы ввода данных с клавиатуры:
read(
write(
<переменная>:=<арифметическое выражение> Арифметическое выражение может содержать любое количество арифметических операций и функций.
Последовательность выполнения операций определяется расстановкой скобок и старшинством операций (приоритетами). Старшие операции: *, /; младшие операции: +, - .
Точка с запятой ставится в конце заголовка программы, в конце описаний, а также является разделителем операторов. Текст всей программы заканчивается точкой.
В команде ветвления в качестве условия может использоваться отношение неравенства между величинами.
Числовые величины, которые могут принимать любые значения (целые и дробные), имеют вещественный тип (вещ).
Для решения одной и той же задачи можно построить несколько вариантов алгоритмов.
Несколько ветвлений в одном алгоритме могут быть последовательными и вложенными.
5. Закрепление
Вопросы и задания
- Когда появился язык Паскаль и кто его автор?
- Как записывается заголовок программы на Паскале?
- Как записывается раздел описания переменных?
- С какими типами числовых величин работает Паскаль?
- Как записываются операторы ввода и вывода в Паскале?
- Что такое оператор присваивания?
- Как записываются арифметические выражения?
- По каким правилам определяется порядок выполнения операций в арифметическом выражении?
- Какую структуру имеет алгоритм нахождения большего значения из двух величин?
- Почему отношение неравенства можно назвать логическим выражением?
- В каком случае для числовой переменной следует указывать тип целый, в каком — вещественный?
- Опишите алгоритм (в виде блок-схемы и на АЯ) нахождения меньшего значения из двух.
- Опишите алгоритм нахождения меньшего значения из трех.
- Составьте алгоритм, по которому на компьютере будет происходить следующее: в переменную S вводится возраст Саши, в переменную М вводится возраст Маши. В качестве результата на экран выводится фраза «Саша старше Маши» или «Маша старше Саши» (предполагаем, что кто-нибудь из них обязательно старше).
- Решите предыдущую задачу, учитывая возможность одинакового возраста Саши и Маши. В таком случае будет получен ответ: «Саша и Маша ровесники».
- Составить алгоритм упорядочения значений трех переменных по возрастанию, т.е. при любых исходных значениях А, В, С отсортировать их так, чтобы стало А<В<С. Проверить алгоритм трассировкой при разных вариантах значений исходных данных.
6. Итог и задание для самостоятельной работы
Выполнение самостоятельной работы №27-28
Самостоятельная работа №27
1. Графический исполнитель стоит в левом верхнем углу поля. Направление - произвольное. Что будет изображено на экране после выполнения графическим исполнителем следующего алгоритма (опишите все возможные варианты): если впереди край то
поворот иначе прыжок прыжок конец ветвления пока впереди не край
шаг конец цикла
2. Напишите для графического исполнителя алгоритм, который чертит вдоль границ поля пунктирную рамку (размеры поля - произвольные). Расстояние между пунктирами - 1 шаг, длина пунктира - 1 шаг. Исходное положение исполнителя - произвольное.
3. Напишите для графического исполнителя алгоритм изображения слова НАГАН. Для написания алгоритма использовать последовательную детализацию. Высота букв - 4 шага, ширина - 2 шага. Расстояние между буквами - 1 шаг. Укажите начальное направление движения графического исполнителя.
4. Что получится в результате работы следующего алгоритма, если 1) а=2, b=5, 2) а=0, b=-2
5. Запишите алгоритм нахождения минимума из трёх целых чисел а, b, c.
Самостоятельная работа №28
1. Составьте на Паскале программу определения минимума из трёх чисел с использова- нием логических операций. Программа должна иметь дружественный интерфейс.
2. Составьте на Паскале программу, которая запрашивает возраст двух детей (Саши и Маши), а затем выводит информацию о том, кто из них старше.
3. Запишите на языке Паскаль программу, которая по номеру для недели будет выводить его название.
4. Что вычисляет приведённая ниже программа?
Program example;
Var x,y,z,I: integer;
Begin ReadLn(a,b,c);
i:=0;
If a>0 then i:=i+l;
Ifb>0 then i:=i+l;
If O0 then i:=i+l;
WriteLn(i)
End.
По теме: методические разработки, презентации и конспекты
История развития языков программировани
План - конспект открытого урока. Включает в себя основной тематический материал и сценку по данной теме. ...
Статья по теме: «Инструментальные системы для создания контролирующих и обучающих программ без знания языков программирования»
Данная тема актуальная для подготовки к учебным занятия по дополнительной специальности "Теория и методика обучения информатике"...
Презентация на тему "Работа с массивами в языке программирования С"
Определение одномерных и двумерных массивов. Инициализация, примеры....
Презентация. Программирование циклов (Язык программирования C++)
В презентации рассматриваются виды циклов, порядок их работы, а также вложенные циклы....
К олимпиаде по программированию. Тема "Длинная арифметика" (Язык программирования C++)
Разработка составлена в помощь студентам и содержит изложение материала по теме "Длинная арифметика", которая в литературе освещена не достаточно полно. Рассмотрены простейшие математические операции:...
Конспект по дисциплине «Основы языка программирования PHP»
PHP, в настоящее время, – один из наиболее популярных языков для реализации веб-приложений. Данный курс уроков посвящен изучению его основ. Цель курса знакомство с языком PHP, развитие навыков п...
Материалы к вебинару по теме "Основы языка программирования Python"
На вебинаре рассматриваются преимущества и недостатки языка Python, его применения; дается подробная информация о начале работы с языком, основные алгоритмические конструкции и предлагаются упражнения...