Урок №2
Алгоритмические конструкции: следование, ветвление, цикл. Линейный алгоритм
«Предел науки – бесконечность»
Ванневар Буш
МКОУ СОШ № 1 Курского муниципального района Ставропольского края
Учитель информатики : Перверзева Елена Геннадьевна
Проверка домашнего задания
- Кто был основателем кибернетики?
- Что такое управление, как оно связано с кибернетикой?
- Что такое алгоритм? Приведите примеры алгоритмов.
- Как сделать управление более эффективным?
- Какие свойства алгоритмов вы знаете?
- Какие виды алгоритмов вы знаете?
- Какие способы записи алгоритмов вы знаете?
- Что такое исполнитель алгоритмов?
Основы алгоритмизации
- Алгоритм - описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
- Исполнитель - человек, живое существо или автоматическое устройство, которое способно к восприятию и исполнению команд.
Основы алгоритмизации
Формы записи алгоритмов:
- Словесная
- Графическая
- Язык программирования
Игра Баше
- Играют двое. Перед ними 21 предмет, допустим, камни (также может быть 11, 16, 26 и т. д.). Игроки берут камни по очереди.
- За один ход можно взять 1, 2, 3, 4 камня. Проигрывает тот, кто забирает последний камень.
- Имеется выигрышная тактика для игрока, берущего камни вторым. В чем она заключается?
Переливание воды
- Есть два сосуда А и В с жидкостями (например, компот и молоко), как поменять их содержимое местами?
Основы алгоритмизации
Начало
1. Налить воды в чайник.
2. Поставить чайник на электроплиту.
3. Включить электроплиту.
4. Подождать, пока вода закипит.
5. Выключить электроплиту.
Конец
Словесная форма записи - алгоритм записан словами и предназначен для человека
Основы алгоритмизации
Графическая форма записи (блок-схема) -
состоит из геометрических фигур (блоков) и внутри блока дается описание команд или условий.
начало
Х=5
да
нет
Х
Х=Х-5
Х=Х+7
Х
конец
Основы алгоритмизации
Алгоритм записан определенными словами алгоритмического языка или языка программирования и предназначен для выполнения компьютером
Программа Сумма
Описание
а,в,с:Целый
Конец _ описания
а:=5
в:=9
с:=а+в
Вывод ( ‘ сумма= ‘, с)
Конец_Программы
Вид стандартного графического объекта
Назначение
Начало алгоритма
Конец алгоритма
Выполняемое действие записывается внутри прямоугольника
Условие выполнения действий записывается внутри ромба
Счетчик кол-во повторов
Последовательность выполнения действий
Начало
Конец
Гуляю
Встречу?
Счетчик
Основы алгоритмизации
начало
Х:=5
У:=Х*Х+5
алгоритм, в котором все команды выполняются одна за другой в порядке их записи.
Вывод(У)
конец
0 У:=Х*Х У:=(-Х+8)/2 конец " width="640"
Основы алгоритмизации
начало
Х:=5
- алгоритм, в котором после проверки условия в разных ситуациях исполняется один из двух наборов команд
Х 0
У:=Х*Х
У:=(-Х+8)/2
конец
Основы алгоритмизации
начало
Х:=0
Х
нет
- алгоритм, в котором команды выполняются несколько раз, пока выполняется некоторое условие
да
Х:=Х+1
S := S+ Х
конец
- Чтобы дать компьютеру соответствующие инструкции, вы должны уметь разговаривать на понятном ему языке.
- Что это за язык?
- Какие виды языков Вы знаете?
Классы языков программирования
Языки программирования
Процедурные
(императивные)
Непроцедурные
(декларативные)
Классы языков программирования
Языки программирования
Процедурные
Языки
операторного
типа
Непроцедурные
(декларативные)
Функциональные
На теории
рекурсивных
функций
Логические
На символической
логике
Объектно-
ориентированные
На понятии
объект
Классы языков программирования
Языки программирования
Непроцедурные
(декларативные)
Процедурные
Языки
БЕЙСИК
ПАСКАЛЬ
СИ
Функциональные
ЛИСП
РЕФАЛ
Логические
ПРОЛОГ
Объектно-
ориентированные
Visual BASIC
Delphi
C++
Язык программирования
- это фиксированная система обозначений для описания алгоритмов и структур данных.
Бейсик
В 1960 году профессор Дартмутского колледжа Джон Кемени, создал язык программирования для людей, которые не являются профессиональными программистами, но имеют дело с компьютерами.
Он был назван B ASIC (Beginners All – purpose Symbolic Instruction Code) . Каждая новая версия языка имеет свои особенности, сохраняя основной принцип - простоту и удобство.
Visual Basic
- Visual Basic — средство разработки программного обеспечения, разработанное корпорацией Microsoft и включающее язык программирования и среду разработки. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бэйсик, у которого есть немало диалектов. В то же время Visual Basic — современный язык программирования, сочетающий процедуры и элементы объектно-ориентированных и компонетно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.
Паскаль
В 1968-1970 годах профессор Никлаус Вир т создал в Цюрихском политехническом университете язык PASCAL , названный в честь Блеза Паскаля - первого конструктора устройства, которое теперь относится к классу цифровых вычислительных машин.
Он создавался как язык , который , с одной стороны, был бы хорошо приспособлен для обучения программированию, а с другой - давал бы возможность эффективно решать самые разнообразные задачи на современных ЭВМ. При создании этого языка Вирт большое внимание уделял хорошему стилю программирования - структурному программированию, благодаря которому конструкции PASCAL позволяют писать надежные, легко проверяемые программы с ясной и четкой структурой.
Си++
- В начале 1980-х годов в научно-исследовательской фирме Bell Telephone Laboratories американской корпорации AT&T ( A merican T elephone and T elegraph ) Бьерном Страуструпом в результате дополнения и расширения языка Си был создан язык, получивший название “Си с классами” . В 1983 году это название было заменено на Си++.
- Язык Cи++ является языком объектно-ориентированного программирования.
Основные средства языков.
- Символы языка - это элементарные знаки, используемые при составлении любых текстов. Набор таких символов называют алфавитом языка.
Алфавит (набор символов) языка включает:
- все латинские прописные и строчные буквы
- (A-Z,a-z);
- арабские цифры 0-9;
- знаки + - * \ / ^ , . ; : ‘ ( ) _ и др. ;
- служебные слова
- Для записи команд, имен функций, поясняющих терминов QBasic и Turbo Pascal 7.0 предусматривают набор строго определенных слов, которые называются служебными или зарезервированными (это английские мнемонические сокращения).
Служебные слова делятся на три категории:
- - операторы (коды операций) (PRINT, WRITELN и т.д.)
- - функции (имена функций) (SIN,COS и т.д.)
- - ключевые слова (AND, VAR, BEGIN, END и т . д .)
Переменная
- - это величина, которая может меняться при выполнении программы. Объявляя переменную или константу заданного типа, Вы отводите в памяти место, где будет храниться ее значение. Тип определяет размер и структуру памяти под переменную.
Х := Х + Х
Х «присвоить» Х + Х
Типы переменных величин:
- числовые : константы - 1, 2, 3, и т. д.;
переменные - А1, Х1, и т. д.
- символьные : А$, B $ и т. д.
- логические : false , true .
- Работа программы не имеет смысла, если она не содержит выдачи какой-нибудь информации.
Рабочее окно BASIC
Диалог с компьютером?!
Меню «файл»
Диалог с компьютером?!
Сообщение об ошибке…
Рабочее окно Pascal
Меню «файл»
Проект Visual Basic
Создание программы на форме
Пример проекта на Visual Basic
Рабочее окно Pascal АВС
Первая программа
- PRINT – оператор вывода на экран
- INPUT – оператор ввода переменной
- NAME $ - имя переменной
Программа «Привет!»
Результат работы
Простые вычисления
- Ввод данных с клавиатуры
- Вычисление значения
- Вывод результата
Понятно и красиво вывести данные на экран – элемент хорошего стиля программирования!
Если разделитель запятая, то очередной элемент выводится в начале следующей зоны (через 4 позиции).
Если разделитель точка с запятой, то очередной элемент выводится на следующую символьную позицию.
Вывод числовых данных с заданным форматом
Программа
Результат
Решение задач. BASIC
Задача №1.
- Вычислить периметр прямоугольника со сторонами А и В.
- Решение.
- Обозначим периметр буквой Р, тогда Р =(А+В)*2
- Составим программу при конкретных значениях А и В. Пусть А = 8, В = 4.
BASIC Описание
- Описываем переменные.
- Производим очистку экрана.
- Присваиваем переменным значения.
- Вычисляем периметр прямоугольника.
- Выводим значения периметра на экран.
- DEFINT A-B, P
- CLS
- A =8
- B =4
- P=(A+B)*2
- PRINT “ P=”;P
- END
Задача №2.
- Напечатать случайное число в диапазоне от А до В.
- Решение: Включаем генератор случайных чисел ( RANDOMIZE TIMER ), записываем случайное число:
- P = RND *( B - A ) + A
Генератор случайных чисел
- RND – функция, возвращает случайное число в диапазоне от 0 до 1.
- RANDOMIZE – оператор, переустанавливает базу генератора случайных чисел.
- TIMER – функция, возвращает число секунд от начала суток до текущего момента времени.
Примеры
- a = INT( RND * 100) – натуральные числа [0, 99]
- b = INT( RND * 100-50) – натуральные числа [-50, 49]
- с = INT( RND * 100-50)/10 – дроби [ -5. 0, 4. 9]
- d = INT( RND *(B-A) +A ) – натуральные числа [ А , В ]
BASIC Описание
- DEFINT A-B, P
- CLS
- RANDOMIZE TIMER
- A = 1
- B = 5
- P = RND *(B-A) +A
- PRINT “ P=”;P
- END
- Генератор чисел
- Случайное число от А до В
Задача №3.
- Идет k -я секунда суток (значение k с клавиатуры). Определить сколько целых часов h и целых минут m прошло с начала суток.
Арифметические операции
- Тип integer – основной тип для работы с целочисленными данными.
- Значениями переменных являются целые числа от -32 768 до 32 767
- К переменным целочисленных типов применимы арифметические операции:
- + , - , * - сложение, вычитание, умножение
- /, \ - обычное деление, деление нацело (дробная часть отбрасывается)
- mod – остаток от деления нацело.
BASIC Описание
DEFINT c, h,m
- CLS
- INPUT c
- h = c\ 3600
- m = c\60 MOD 60
- PRINT “h=”; h, “m=”; m
- END
- Деление нацело на 3600.
- Деление нацело на 60 и нахождение остатка при делении на 60.
Справка.
- Для справки на нужном операторе щёлкнуть правой кнопкой.
- Нужную информацию можно копировать и вставлять в свою программу.
- Выход Esc .
- Работа с программой.
- Переход с латинского языка на русский и назад осуществляется клавишами: Shift + Ctrl c левой и правой стороны.
- Запуск программы - F 5.
- Аварийная остановка программы: Ctrl + Break .
Домашнее задание
- § 26, 27 гл. 5 №1,2 стр. 324, стр. 328 №8(3)
Творческое домашнее задание
- Напишите мини сочинение по теме: «Будущее компьютеров», «Я и компьютер», «Рождение и смерть языков программирования», «История развития языков программирования».