11 класс
Моим ученикам для самостоятельной работы
Учебные материалы 11 класс к учебнику И.Г.Семакина, Т.Ю.Шеиной, Л.В.Шестаковой
Часть материала с сайта http://metodist.lbz.ru, http://www.klyaksa.net, https://lbz.ru/metodist/authors/informatika/3/, https://bosova.ru/, https://lbz.ru/metodist/authors/informatika/2/, https://kpolyakov.spb.ru/school/ege.htm, часть создана самостоятельно
Скачать:
Вложение | Размер |
---|---|
Виды Информационных моделей | 356 КБ |
Информационная модель объекта | 205.5 КБ |
Понятие модели | 1.31 МБ |
Этапы решения задач на ПК | 55.5 КБ |
Понятие программирования | 77.5 КБ |
Понятие структурного программирования | 175 КБ |
Основные понятия языка Паскаль | 34.5 КБ |
Данные в языке | 46.5 КБ |
Условный оператор | 113.5 КБ |
Циклы с параметром | 283 КБ |
Циклы с параметром (продолжение) | 89 КБ |
Массивы | 191 КБ |
Двумерные массивы | 302 КБ |
Квадратные матрицы | 275.5 КБ |
Вложенные циклы с параметром | 130.5 КБ |
Вложенные циклы с параметром (продолжение) | 161.5 КБ |
Основные сведения об алгоритмах | 1.83 МБ |
Предварительный просмотр:
Подписи к слайдам:
Классификация информационных моделей: Информационные модели Табличные Графы Типа «Объект-свойство» Типа «Объект-объект» Двойная матрица Иерархические Сетевые Семантические
В табличной модели перечень однотипных объектов или свойств размещены в первом столбце (или строке) таблицы, а значения их свойств размещаются в следующих строках (или столбцах) таблицы
Таблица типа «Объект-свойство» Дата Осадки Температура 14.03 Снег - 15 0 15.03 Дождь - 20 0 В одной строке содержится информация об одном объекте или событии
Таблица типа «Объект-объект» Ученик Алгебра Геометрия Иванов 5 3 Петров 3 4 Отражают связи между объектами
Таблица типа «Двойная матрица» х 1 2 1 1 2 2 2 4 Отражает качественный характер связи между объектами
Табличные информационные модели Статическая Цена отдельных устройств компьютера (1997г) Наименование устройства Цена (в y.e.) Системная плата 100 Процессор Pentium II (300 МГц) 200 Память 16 МБ 30 Жесткий диск 4 Гб 150 Дисковод 3.5 ” 20 Видеоплата 4 Мб 30 Монитор 15” 200 Корпус 25 Клавиатура 10 Мышь 5
Табличные информационные модели Динамическая Изменение цены компьютера Годы 1997 1998 1999 Цена компьютера Pentium II 1800 1200 800
Граф – это средство наглядного представления состава и структуры схемы
Иерархическая модель – система, элементы которой находятся друг с другом в отношении вложенности или подчиненности. Иерархическая модель – граф, в котором вершины связаны между собой по принципу « один ко многим »
Иерархические информационные модели Статическая Классификация компьютеров Карманные Настольные Компьютеры Супер-компьютеры Рабочие станции Персональные компьютеры Портативные
Иерархические информационные модели Динамическая Генеалогическое дерево Рюриковичей ( X-XI века) Изяслав Всеволод Святослав Ярослав Мудрый Борис Глеб Святослав Ярополк Владимир
Сетевая модель – граф, в котором вершины связаны между собой по принципу « многие ко многим »
Сетевые информационные модели
Семантическая модель – граф, в основе которого лежит то, что любые знания можно представить в виде совокупности объектов (понятий) и связей (отношений) между ними.
«Однажды в студеную зимнюю пору я из лесу вышел.» Однажды из лесу вышел Я зимнюю в студеную в пору Что сделал? Кто? Откуда? Когда? В какую?
Предварительный просмотр:
Подписи к слайдам:
Выбрать мобильный телефон по внешнему виду. Какие сведения об объекте имеют значение? Как называется набор сведений об объекте? Какие свойства отражает предложенная информация?
Сведения о внешнем виде телефона, имеющее значение при его покупке Параметр Значение параметра Форма Обтекаемая Цвет Металлическая Длина 8 см Толщина 1 см
Выбрать надежный мобильный телефон, обладающий широкими функциональными возможностями Какие сведения об объекте имеют значение? Какие свойства отражает предложенная информация?
Сведения о внешнем виде телефона, имеющее значение при его покупке Параметр Значение параметра Фирма-производитель Samsung Стоимость 200 y.e. Стандартная батарея Li-lon Работа в режиме разговора 5 ч. Работа в режиме ожидания 150 ч. Дисплей 4 строки Встроенный виброзвонок Да Инфракрасный порт (ИК-порт) Нет
Информационная модель - целенаправленно отобранная информация об объекте, которая отражает наиболее существенные для исследователя свойства этого объекта
Значение цели при создании информационной модели
Примеры моделей объекта «город» Реальный объект - город Цель Модель Определение маршрута передвижения План города Обзор самых известных мест в городе Набор открыток Общие сведения о городе Содержание экскурсии Сведения о телефонах организаций Телефонный справочник Отражение личного восприятия города Художественные произведения (стихи, картины, фильмы)
Примеры моделей объекта «школа» Реальный объект - школа Цель Модель Аттестационная карта Сайт База данных по кадрам Сочинение на тему «Почему я люблю свою школу»
Формы представления информационной модели
Формы представления информации Словесная Жесты и сигналы Символьная Графическая Табличная
Предварительный просмотр:
Подписи к слайдам:
Модель – это некий новый объект, который отражает некоторые существенные свойства изучаемого явления или процесса
Модель (фр.сл. м odele , ит. сл. modelo, лат. сл. modelus) – мера, образец
Один и тот же объект может иметь множество моделей , а разные объекты могут описываться одной моделью
Человек: Кукла Манекен Скелет Скульптура Реальный объект - оригинал Модели
Свойства объекта, которые должна отражать модель, определяются поставленной целью его изучения. Объект «Человек» Цель: первое знакомство Цель: демонстрация одежды Цель: отражение красоты тела Цель: изучение костного строения Кукла Манекен Скульптура Скелет
Классификация моделей по способу представления: Модели Материальные (Предметные) Информационные (Знаковые)
Материальные модели – Воспроизводят геометрические, физические и другие свойства объектов в материальной форме Пример: Глобус (модель земного шара) - география
Информационные модели – Представляют объекты и процессы в форме схем, чертежей, таблиц, формул, текстов и т.д. Пример: Рисунок цветка – ботаника, формула - математика
Классификация моделей по области использования: Учебные модели; Опытные модели; Научно-технические модели; Игровые модели; Имитационные модели.
Классификация моделей с учетом фактора времени: Статические; Динамические. Если модель учитывает изменение свойств моделируемого объекта от времени, то модель называется динамической , в противном случае статической . Примеры: динамические: заводные игрушки; статические: глобус; мягкие игрушки; учебники.
Классификация моделей по области использования: Биологические; Исторические; Физические; И др.
Предварительный просмотр:
Подписи к слайдам:
Постановка задачи : с высоты h сбросили предмет. Какова его скорость при падении Математическая модель : Дано: g,h Надо: v Математические соотношения: Алгоритм : ввод g,h вывод v
Порядок работы с оболочкой Turbo Pascal turbo имя_файла - запустить оболочку Набрать программу (редактировать) F2 – сохранить программу на диске
Трансляторы Компиляторы Интерпретаторы Программа, переводящая программу, написанную на языке программирования в машинный код.
Предварительный просмотр:
Подписи к слайдам:
Понятие программирования
Назначение – разработка программ управления ПК с целью решения различных информационных задач. Программа – алгоритм, записанный на языке программирования Язык – знаковая информационная система Формальный Язык Естественный
Составляющие языка Алфавит – фиксированный набор букв алфавита. Синтаксис – система правил, определяющих допустимые конструкции из букв алфавита. Семантика – система правил истолкования отдельных языковых конструкций, позволяющих однозначно произвести процесс обработки данных . Язык программирования – это фиксированная система обозначений для описания алгоритмов и структур данных. Система программирования – это программное обеспечение ПК, предназначенное для разработки, отладки и исполнения программ, записанных на языке программирования .
Обзор языков программирования
Типы языков Структурные Логические Объектно-ориентированные
Структурные (алгоритмические) языки Фортран 1956 Для решения технико-экономических задач Кобол 50-е Для массовой обработки данных в сферах управления и бизнеса Алгол-60 1960 Для записи алгоритмов, которые строились в виде последовательности процедур Бейсик 1965 Язык обучения программированию ПЛ /1 1965 Сочетал лучшие стороны Алгола, Кобола и Фортрана Паскаль 1970 Для решения задач разного типа (Никлаус Вирт) Си 1972 Для написания программ вычислительного характера и программ ОС Ада 1979 Подходил для использования в системах реального времени
Логические языки Пролог 1972 Логическое программирование базируетс я на убеждении, что не человека следует обучать мышлению в терминах операций компьютера, а компьютер должен выполнять инструкции, свойственные человеку.
Объектно-ориентированные языки С++ 1983 Позволяют организовывать сложные программы с помощью использования наследования, инкапсуляции и полиморфизма Delphi 90-е Visual Basic 90-е Bilder 90-е
Предварительный просмотр:
Подписи к слайдам:
Принципы структурного программирования При построении алгоритма используются три базовые алгоритмические структуры: следование, ветвление, цикл Для построения сложных алгоритмов предпочтительно использовать метод последовательной детализации (построение алгоритма «сверху вниз»)
Способы соединения базовых структур в алгоритме Последовательный Вложенный
Задания: Задание 1 Задание 2 Задание 3 Задание 4 Задание 5 Задание 6 Задание 7 Задание 8 Задание 9 Задание 10 Задание 11 Задание 12 Задание 13 Задание 14 Задание 15
Следование – однозначная последовательность действий. K1; K2; … Kn К 1 К2 К N …
Ветвление – разделение алгоритма на два пути по некоторому условию с дальнейшим выходом на общее продолжение. Ветвление Полная форма Краткая форма
Полная форма ветвления если условие то К1 иначе К2 кв
Краткая форма ветвления если условие то К1 кв
Цикл – многократное повторение последова-тельности действий. Цикл Цикл с предусловием Цикл с постусловием
Цикл с предусловием условие к1 - + пока условие повторять к1 кц
Цикл с постусловием условие к1 - + к n … повторять к1 … к n пока условие
Последовательный способ соединения У1 К1 К2 да нет У2 К3 К4 да нет если У1 то К1 иначе к2 кв если У2 то К3 иначе К4 кв
Вложенный способ соединения У1 да нет У2 К1 К2 да нет пока У1 повторять если У2 то К1 иначе К2 кв кц
Вложенный способ соединения У1 К3 да нет У2 К1 К2 да нет если У1 то если У2 то К1 иначе К2 кв иначе К3 кв
Вложенный способ соединения У1 да нет У2 да К1 нет пока У1 повторять пока У1 повторять К1 кц кц
Задание 1 x<>0 x y = x; z=10 да x=x div 10 z=z*10 x,y,z нет y=2*z+y*10+2 Записать алгоритм в виде словесной записи
Задание 2 x<>0 x y = x; z=1 да x=x div 10 z=z*10 x,y,z нет y=y*z+y Записать алгоритм в виде словесной записи
Задание 3 i>x x i=1; z=1 да i=i+2 z=z*i x,i,s нет Записать алгоритм в виде словесной записи
Задание 4 a,b,c,d ad X<100 y=x 2 +x x=x+10 y=c-d y=c+d a,b,c,d,x,y да да да нет нет нет Записать алгоритм в виде словесной записи
Задание 5 X<100 да X Z=X X=X+20 Z=3y 2 +6 Y=Y+10 Y=0 Y>80 X,Y,Z нет да нет Записать алгоритм в виде словесной записи
Задание 6 X,Y,K a>b K=3 X<10 Y>100 z=x+a S=S+1 X=X+1 нет нет нет нет да да да да X,Y,Z,K,A,B,S Записать алгоритм в виде словесной записи
Задание 7 Нарисовать блок-схему по словесной записи: если У1 то К1 иначе К2 кв если У2 то К3 иначе К4 кв
Задание 8 Нарисовать блок-схему по словесной записи: если У1 то К1 иначе К2 если У2 то К1 иначе К2 кв кв
Задание 9 Нарисовать блок-схему по словесной записи: Пока У1 повторять если У2 то К1 иначе К2 кв кц
Задание 1 0 Нарисовать блок-схему по словесной записи: пока У1 повторять пока У2 повторять К1 кц кц
Задание 1 1 Нарисовать блок-схему по словесной записи и определить значение переменной S после выполнения алгоритма: i:=0;s:=0; Пока i<3 повторять i:=i+1 s:=s+i*i; кц
Задание 1 2 Нарисовать блок-схему по словесной записи и определить значение переменной S после выполнения алгоритма: i:=1;s:=0 пока i>1 повторять s:=s+1/i i:=i-1 кц
Задание 13 Нарисовать блок-схему по словесной записи и определить значение переменной S после выполнения алгоритма: i:=1; s:=0;j:=15 пока i Задание 14 Нарисовать блок-схему по словесной записи и определить значение переменной S после выполнения алгоритма: a:=1;b:=1; пока a+b<10 повторять a:=a+1; b:=b+a кц S:=a+b Метод последовательной детализации Основной алгоритм Вспомогательный алгоритм 1 Вспомогательный алгоритм n … В.А.11 В.А.12 В.А.1 n В.А. n 1 В.А. nn … …
Предварительный просмотр:
Подписи к слайдам:
Алфавит A..Z, a..z, _ 0..9 + - * / = > < { } [ ] ( ) . : ; @ # $ ^ пробел
Структура программы Program < им я >; { заголовок программы } Uses < им я >; { подкл ючение библиотек } Label …; { описание меток } Const …; констант Type …; типов Var …; переменных Procedure …; процедур Function …; функций Begin < оператор 1>; < оператор 2>; … < оператор N>; End. Исполнительны й блок
Комментарий – пояснительный текст, не воспринимаемый транслятором как часть программы. { комментари й } (*комментарий*) Идентификатор – последовательность букв алфавита, цифр (первым символом должна быть буква). Максимальная длина идентификатора 127 символов (63 символа значащие) Идентификаторы: Стандартные – служат для обозначения заранее определенных типов данных, констант, процедур, функций …( integer, real, sin…) Служебные – являются частью языка ( begin,end…) Пользовательские – зада ю тс я пользователем.
Предварительный просмотр:
Подписи к слайдам:
Данные Промежуточные данные Исходные данные Результирующие данные Программа D a, b, c x1, x2 Программа
Величины Переменные Константы Величина, значение которой изменяется в ходе выполнения программы Величина, значение которой не изменяется в ходе выполнения программы
Характеристики величин Имя Значение Тип Адрес в памяти
Константа Величина, значение которой не изменяется в ходе выполнения программы Типы констант: именованные a, b, a1, x литералы ‘ Hello’ строковая константа ‘ A’,’2’ символьные константы 3.5 вещественная константа 10 целочисленная константа
Описание констант Const имя=значение ; Пример: Const g=9.8; p=3.14; a=g+p; name=‘Pit’; dol=‘$’;
Описание переменных Var имя : тип ; Пример: Var a,b:integer; c:real; d:string;
Тип Тип – это множество значений плюс множество операций, выполняемых над этими значениями
Классификация типов Структурированные (составные) Простые (скалярные) Вещественные (real) Упорядоченные Пользовательские Стандартные Перечисляемые Диапазоны Целый ( integer) Логический ( boolean) Символьный (char) Строки (string) Множества ( set) Записи (record) Файлы ( file) Массивы ( array )
Предварительный просмотр:
Подписи к слайдам:
Назначение Позволяет выбрать один вариант из двух возможных
Формат оператора If < условие > then K1 else K2; If < условие > then K1;
Полная форма If < условие > then K1 else K2;
Краткая форма If < условие > then K1;
Блок- схема If < условие > then K1 else K2; If < условие > then K1; Полная форма Краткая форма
Условие Условие - выражение или переменная логического типа ( boolean ) Простые : A>B A=B+C Составные : (A>B) and (A=B+C) or (A=8) ( x>7) and (X<9)
Примеры If a=b then writeln(‘*******’) else writeln(‘----------’); If a>b+10 then writeln(‘*******’);
Вложенные операторы If < У1 > then if < У2 > then K1 else K2 else if < У3 > then P1 else P2;
Вложенные операторы If a>0 then if a<10 then x:=1 else x:=2 else if a>-20 then x:=3 else x:=4;
Предварительный просмотр:
Подписи к слайдам:
1. Назначение Используется в тех случаях, когда заранее известно количество повторений группы команд.
2. Формат оператора For I : = A to B do < оператор >; (шаг +1) For I : = A downto B do < оператор >; (шаг -1) I – параметр - переменная упорядоченного типа А - начальное значение параметра B – конечное значение параметра ( var А,В, I: real;) выражения, переменные упорядоченного типа
3. Алгоритм выполнения For I : = A to B do < оператор >; Для каждого значения параметра I из промежутка от A до В выполняется тело цикла I= A тело цикла I=A +1 тело цикла I=A +2 тело цикла ……………………………………… I= В тело цикла Тело цикла A
3. Алгоритм выполнения For I : = A downto B do < оператор >; Для каждого значения параметра I из промежутка от A до В выполняется тело цикла I= A тело цикла I=A- 1 тело цикла I=A- 2 тело цикла ……………………………………… I= В тело цикла A>B
5 . Количество повторений AB For i:=a to b do …; For i:=a downto b do…;
5 . Количество повторений AB For i:=a to b do …; B-A+1 1 0 For i:=a downto b do…;
5 . Количество повторений AB For i:=a to b do …; B-A+1 1 0 For i:=a downto b do…; 0 1 A-B+1
5 . Блок - схема I= A,B Оператор (тело цикла)
5 . Особенности 1. For I = A to B do begin < оператор 1>; < оператор 2>; end; 2. I,A,B – величины одного типа
6 . Задачи Вывод чисел ( первых N натуральных ) readln(n); for i:= 1 to n do write(i:3); Вывод чисел, обладающих заданным свойством первых N натуральных четных чисел readln(n); for i:= 1 to n do if i mod 2 = 0 then write(i:3);
Для самостоятельного выполнения Написать программу вычисления факториала числа n. n!= 1 * 2 * 3 * … * n Вывести все двузначные числа сумма цифр, которых кратна 3. 54 5+4=9 кратно 3 выводить 55 5+5=10 не кратно 3 не выводить
Предварительный просмотр:
Подписи к слайдам:
Типы задач 1. «Найти элементы…» for x:=A to B do begin ……… if … then writeln(x); end; 2. «Найти количество…» k:=0; for x:=A to B do begin ……… if … then k:=k+1 ; end; writeln(k); 3. «Найти сумму…» s:=0; for x:=A to B do begin ……… if … then s:=s+x; end; writeln(s); 4. «Найти элементы и их кол-во…» k:=0; for x:=A to B do begin ……… if … then begin writeln(x); k:=k+1; end end; writeln(k);
Предварительный просмотр:
Подписи к слайдам:
Что такое массив? Массив – фиксированное количество элементов одного типа, объединенных одним именем Назначение: хранение данных -10 -5 2 3 0 -7 -24 Значение элемента 1 2 3 4 5 6 7 Индекс (номер) А: Имя массива
Размерность Номер элемента – данные любого перечисляемого типа. Число элементов массива ( размерность ) фиксируется при описании и не меняется в процессе выполнения программы
Обращение к элементам массива a [ i ] a [ 2 ]=-5 -10 -5 2 3 0 -7 -24 Значение элемента 1 2 3 4 5 6 7 Индекс (номер) А: Имя массива
Описание массива Var a: array [n1..n2] of < тип элементов >; Номер первого элемента Номер последнего элемента
Примеры описаний
Операции над элементами массива Те же, что и над элементами данного типа
Вывод массива По одному элементу For i:= 1 to n do write (a[i]:4); Writeln;
Ввод массива По одному элементу С клавиатуры С помощью оператора присваивания Из файла Описание массива как константы
Ввод с клавиатуры Var a: array[1..40] of integer; i, n:integer; Begin writeln(‘ введите размерность массива ’); readln(n); for i:=1 to n do read (a[i]); for i:= 1 to n do write (a[i]:4); writeln; End. Ввод с клавиатуры Вывод массива
Ввод с помощью оператора присваивания Var a: array[1..40] of integer; i, n:integer; Begin writeln(‘ введите размерность массива ’); readln(n); for i:=1 to n do a[i] := X; for i:= 1 to n do write (a[i]:4); writeln; End. Вывод массива Заполнение массива
Пример1. Заполнить массив элементами, равными своему порядковому номеру ( 1, 2, 3, 4,…) Var a: array[1..40] of integer; i, n:integer; Begin writeln(‘ введите размерность массива ’); readln(n); for i:=1 to n do a[i] := i; for i:= 1 to n do write (a[i]:4); writeln; End. A: 1 2 3 4 i: 1 2 3 4
Задания Заполнить массив символом ‘*’. Заполнить массив элементами, равными половине квадрата своего порядкового номера. Заполнить массив по образцу: 123123123123123… 01230123 abcabcabc
Генератор случайных чисел Randomize; - процедура, задающая начальное значение последовательности случайных чисел. Y:=random(x); – функция, генерирующая целое число из отрезка [0 , x) Y:=random( B-A+1)+A; – функция, генерирующая целое число из отрезка [A,B] Длина отрезка Точка отсчета
Генератор случайных чисел Y:=random ; – функция, генерирующая вещественное число из отрезка [0 , 1 ) Y:=random * ( B-A+1)+A; – функция, генерирующая вещественное число из отрезка [A,B] Длина отрезка Точка отсчета
Пример 1 Заполнить массив случайными целыми числами из отрезка [-5,7]. Var a: array[1..40] of integer; i, n:integer; Begin writeln(‘ введите размерность массива ’); readln(n); randomize; for i:=1 to n do a[i] := random(13) - 5; for i:= 1 to n do write (a[i]:4); writeln; End.
Предварительный просмотр:
Подписи к слайдам:
Что такое массив? Массив – фиксированное количество элементов одного типа, объединенных одним именем
Назначение массивов ? Данные: оценки температуру сведения о билетах и т.д. хранение данных
Типы массивов? Одномерные (линейные, вектор) Двумерные ( таблицы, матрицы) Трехмерные N- мерные -1 -5 2 3 1 0 1 0 0 0 1 1 0 1 0 0
Двумерные массивы строка столбец 0 0 1 0 1 1 0 0 0 1 0 1 4 3 2 1 3 2 1 Матрицы А ( n , m) : прямоугольные ( n m ) квадратные ( n=m) кол-во строк кол-во столбцов
Обращение к элементам массива a [ i , j ] a [ 2,3 ]= 11 Значение элемента Номер строки Имя массива А: 0 2 0 1 0 1 1 1 7 23 12 2 3 1 4 3 2 1 3 2 1 Номер столбца
Описание массива Var a: array [n1..n2 , m1..m2] of < тип элементов >; Номера строк Номера столбцов
Примеры описаний Var a , c: array [1.. 40, 1.. 50 ] of integer; b: array [1..100, 1..100] of real;
Вывод массива for i:= 1 to n do begin for j:= 1 to m do write (a[i,j]:4); writeln; end; А: 0 2 0 1 0 1 1 1 7 23 12 2 3 1 4 3 2 1 3 2 1
Ввод с клавиатуры Var a: array[1..40,1..40] of integer; i, j,n,m:integer; Begin writeln(‘ введите размерность массива ’); readln(n,m); for i:=1 to n do for j:=1 to m do read (a[i,j]); for i:= 1 to n do begin for j:=1 to m do write (a[i,j]:4); writeln; end; end. А: 0 2 0 1 0 1 1 1 7 23 12 2 3 1 4 3 2 1 3 2 1
Ввод с помощью оператора присваивания Вывод массива Заполнение массива Var a: array[1..40,1..40] of integer; i,j, n,m:integer; Begin writeln(‘ введите размерность массива ’); readln(n,m); for i:=1 to n do for j:=1 to m do a[i,j]:=random(20) - 12; for i:= 1 to n do begin for j:=1 to m do write (a[i,j]:4); writeln; end; end.
Обработка массива Найти сумму элементов массива Var a: array[1..40,1..40] of integer; i,j, n,m:integer; Begin readln(n,m); for i:=1 to n do for j:=1 to m do a[i,j]:=random(20) - 12; for i:=1 to n do begin j:=1 to m do write(a[i,j]:4); writeln; end; s:=0; for i:=1 to n do for j:=1 to m do s:=s+a[i,j]; writeln(s) end. if a[i,j]>0 then s:=s+a[i,j];
Задачи Дана матрица А( N,N) : Найти количество положительных элементов, отрицательных и нулей. Найти сумму четных элементов Найти минимальный и максимальный элементы, Поменять местами минимальный и максимальный элементы. Найти сумму элементов в первой строке. Найти произведение элементов в последнем столбце.
Предварительный просмотр:
Подписи к слайдам:
Что такое квадратная матрица? Это матрица, в которой количество строк равно количеству столбцов 5 4 3 2 1 5 4 3 2 1 i j
Квадратные матрицы 5 4 3 2 1 5 4 3 2 1 i j Главная диагональ Побочная диагональ
Главная диагональ 5 4 3 2 1 5 4 3 2 1 i j i j 1 1 2 2 3 3 4 4 5 5 Главная диагональ i = j
Главная диагональ 5 4 3 2 1 5 4 3 2 1 i j i j 2<4 5>2 > < i=j
Побочная диагональ 5 4 3 2 1 5 4 3 2 1 i j i j 1 5 2 4 3 3 4 2 5 1 Побочная диагональ i + j = n +1
Побочная диагональ 5 4 3 2 1 5 4 3 2 1 i +j n+1 i +j n+1 4+5 > 5+1 > 2+3<5+1 < i +j = n+1
Заполнение матрицы 5 4 3 2 1 5 4 3 2 1 i < j i=j Var a: array[1..40,1..40] of integer; i, j, n,m:integer; Begin readln(n); for i:=1 to n do for j:=1 to n do if ________ then a[i,j]:=1 else a[i,j]:=0; for i:= 1 to n do begin for j:=1 to n do write (a[i,j]:4); writeln; end; end. i<=j i >=j
Заполнение матрицы Var a: array[1..40,1..40] of integer; i, j, n,m:integer; Begin readln(n); for i:=1 to n do for j:=1 to n do if ________ then a[i,j]:=1 else a[i,j]:=0; for i:= 1 to n do begin for j:=1 to n do write (a[i,j]:4); writeln; end; end. j>=n div 2 j = n div 2 i=n div 2 i<=n div 2
Заполнение матрицы Var a: array[1..40,1..40] of integer; i, j, n,m:integer; Begin readln(n); for i:=1 to n do for j:=1 to n do if ________ then a[i,j]:=1 else a[i,j]:=0; for i:= 1 to n do begin for j:=1 to n do write (a[i,j]:4); writeln; end; end. (i Задачи Заполнить квадратную матрицу по образцу 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Задачи Заполнить квадратную матрицу по образцу 1 2 3 4 5 5 4 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 1 5 2 4 3 2 4 1 5
Предварительный просмотр:
Подписи к слайдам:
1 . Формат оператора For I := A to B do for J:= C to D do for K:=E to F do < оператор >;
2 . Алгоритм выполнения For I := A to B do for J:= C to D do for K:=E to F do < оператор >; Для каждого значения параметра I из промежутка от A до В выполняется тело цикла ……
3 . Блок - схема I= A,B Оператор J= C,D K= E,F
4 . Количество повторений I J K For I := 1 to 2 do for J:= 11 to 12 do for K:=21 to 23 do < оператор >; 1 2 11 12 11 12 21 22 23 21 22 23 21 22 23 21 22 23
5 . Количество повторений For I := 1 to 2 do for J:= 11 to 12 do for K:=21 to 23 do < оператор >; 2 * 2 * 3 For I := A to B do for J:= C to D do for K:=E to F do < оператор >; (B-F+1) * (D-C+1) * (F-E+1)
Предварительный просмотр:
Подписи к слайдам:
Старинная задача Сколько можно купить быков, коров и телят, если плата за быка - 10 рублей, за корову - 5 рублей, за теленка полтинник (0,5 рубля) и на 100 рублей надо купить 100 голов скота.
b – количество быков ( по 10 рублей) k – количество коров ( по 5 рублей) t – количество телят ( по 0.5 рублей) k=0,20 t=0,200 b=0,10 b+k+t=100 b*10+k*5+t*0.5=100 b+k+t=100 b* 20 +k* 10 +t= 200
k=0,20 t=0,200 b=0,10 b+k+t=100 b*20+k*10+t=200 For b:=0 to 10 do …..
uses crt; var b,k,t:integer; begin clrscr; for b:=0 to 10 do for k:=0 to 20 do for t:= 0 to 200 do if (b+k+t=100) and (20*b+10*k+t=200) then writeln(b,k:4,t:4); readkey; end.
Сокращение перебора uses crt ; var b,k,t:integer; begin clrscr; for b:=0 to 10 do for k:=0 to 20 do begin t:=100-b-k; if 20*b+10*k+t=200 then writeln ( b, k:4, t:4); end; readkey; end.
Предварительный просмотр:
Подписи к слайдам:
алгоритм исполнитель алгоритма свойства алгоритма дискретность детерминированность понятность результативность конечность массовость в ычислительный процесс сложность алгоритма
Художник Василий Тропинин «Золотошвейка» (1826) понимает смысл алгоритма, может его корректировать и изменять, а также отказаться выполнять одну и ту же команду выполняет каждый раз по-разному неформальный исполнитель сам отвечает за свои действия в роли неформального исполнителя чаще всего выступает человек Исполнитель алгоритма Исполнитель алгоритма – это субъект или устройство, способные правильно интерпретировать описание алгоритма и выполнить содержащийся в нём перечень действий. ! не размышляет над выпол няемыми командами, а строго следует пошаговым инструк циям алгоритма одну и ту же команду всегда выполняет одинаково за действия формального исполнителя отвечает управ ляющий им объект в роли формального исполнителя чаще всего выступает техническое устройство Неформальный исполнитель Формальный исполнитель
Понятие алгоритма Алгоритм – точная система предписаний , определяющая содержание и порядок действий исполнителя над некоторыми объектами (исходными и промежуточными данными) для получения искомого результата за конечное число шагов. ! ПРИМЕРЫ АЛГОРИТМОВ Закрыть входную дверь ключом Нахождение n первых простых чисел (метод Эратосфена) Построение перпендикуляра к прямой
Пример 1 Исполнитель : человек Объекты алгоритма : ключ, дверь Алгоритм «Закрыть входную дверь ключом» Вставить ключ в замочную скважину. Повернуть ключ два раза на 180 градусов против часовой стрелки . Вынуть ключ из замочной скважины.
Пример 2 Алгоритм «Нахождение всех простых чисел не больше заданного числа n по методу Эратосфена » Выписать подряд все целые числа от 2 до n ( 2 , 3 , 4 , …, n ) . Присвоить переменной p значе ние 2 ( 2 – первое простое число) . Зачеркнуть в списке числа, кратные p : 2p , 3p , 4p , … Найти первое незачёркнутое число в списке, большее чем p , и прис воить p соответствующее значение . Повторять шаги 3 и 4, пока возможно ( пока p 2 ≤ n ) . Незачёркнутые числа и есть все простые числа от 2 до n . Простые числа от 2 до 100 Выполнить 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
Пример 2 Алгоритм «Нахождение всех простых чисел не больше заданного числа n по методу Эратосфена » 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 Простые числа от 2 до 100 2 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 p = 2 2 3 5 7 11 13 17 19 23 25 29 31 35 37 41 43 47 49 53 55 59 61 65 67 71 73 77 79 83 85 89 91 95 97 p = 3 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 49 53 59 61 67 71 73 77 79 83 89 91 97 p = 5 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 p = 7 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Выписать подряд все целые числа от 2 до n ( 2 , 3 , 4 , …, n ) . Присвоить переменной p значе ние 2 ( 2 – первое простое число) . Удалить из списка числа, кратные p : 2p , 3p , 4p , … Найти первое число в списке, большее чем p , и прис воить p соответствующее значение . Повторять шаги 3 и 4, пока возможно ( пока p 2 ≤ n ) . Оставшиеся числа и есть все простые числа от 2 до n .
Пример 3 Алгоритм «Построение перпендикуляра к прямой, проходящей через заданную точку O , лежащую на прямой с помощью циркуля и линейки» Выполнить Провести окружность с центром в точке O и радиусом 1 см. Обозначить точки пересечения окружности с прямой: левую - A , правую - B . Провести окружность с центром в точке A и радиусом равным A B . Провести окружность с центром в точке В и радиусом равным A B . Обозначить точки пересечения окружностей: верхнюю - C , нижнюю - D . Провести прямую С D .
Пример 3 Алгоритм «Построение перпендикуляра к прямой, проходящей через заданную точку O , лежащую на прямой с помощью циркуля и линейки» О А В С D Провести окружность с центром в точке O и радиусом 1 см. Обозначить точки пересечения окружности с прямой: левую - A , правую - B . Провести окружность с центром в точке A и радиусом равным A B . Провести окружность с центром в точке В и радиусом равным A B . Обозначить точки пересечения окружностей: верхнюю - C , нижнюю - D . Провести прямую С D .
Свойства алгоритма Дискретность Детерминированность Понятность Результативность Массовость Дискретность Выполнение алгоритма разбивается на последовательность законченных действий-шагов. Только выполнив одно действие, можно приступать к выполнению следующего. Произвести каждое отдельное действие исполнителю предписывает специальное указание в записи алгоритма – команда. Детерминированность Каждая команда алгоритма определяет однозначное действие исполнителя, и недвусмысленно указывает , какая команда должна выполняться следую щей . Многократное выполнение алго ритма при одном и том же наборе входных данных, дает одинаковые промежуточные и выходной результаты. Понятность Алгоритм не должен содержать предписаний , смысл которых может восприниматься исполнителем неодно значно , т. е. запись алгоритма должна быть настолько чёткой и полной, чтобы у исполнителя не возникло потребности в принятии каких-либо самостоятельных решений. Результативность При точном исполнении команд алгоритма процесс должен прекратиться за конеч ное число шагов, и при этом должен быть получен ответ на вопрос задачи. В качестве одного из возможных ответов может быть установление того факта , что задача решений не имеет. Массовость Алгоритм пригоден для решения любой задачи из некоторого класса задач, т. е. алгоритм правильно работает на неко тором множестве исходных данных, которое называется областью примени мости алгоритма. Алгоритм – конечная система правил, сформулированных на языке исполнителя, которая определяет последовательность перехода от допустимых исходных данных к конечному результату и обладает свойствами дискретности, детерминированности, понятности, результативности , конечности и массовости. !
Давайте обсудим Можно ли кулинарный рецепт считать алгоритмом? Ответ обоснуйте с точки зрения свойств алгоритма. ?
Способы записи алгоритмов словесная запись алгоритма на естественном языке запись алгоритма на языке программирования с помощью блок-схемы – стандартных графических объектов (геометрических фигур) запись алгоритма с помощью формул , рисунков, таблиц Сложение смешанных дробей Привести дробные части чисел к наименьшему общему знаменателю. Сложить только целые части. Отдельно сложить дробные части. Сложить результаты, полученные в п.2 и п. 3. Если при сложении дробных частей получилась неправильная дробь , выделить целую часть из этой дроби и прибавить к полученной целой части. Сократить полученную дробь. Нахождение максимума из 10 целых чисел Нахождение НОД Program NOD; var a, b, n: integer ; Begin writeln (' Введите два числа: '); readln (a, b); while a <> b do if a>b then a := a - b else b := b – a; n:= a; writeln (' НОД = ', n); End . Шахматный этюд Мат в два хода. Белые начинают и выигрывают № Белые Черные 1 Ф f1-a1 K h8-g8 2 Ф a1-a8 № Белые Черные 1 Ф f1-a1 g6-g5 2 K f6-f7 № Белые Черные 1 Ф f1-a1 С h7-g8 2 K f 6 -g6 Решение:
Правила выполнения блок-схем, внешний вид графических блоков и их назначение определяются стандартом ГОСТ 19.701–90 (ИСО 5807–85) «Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения ». Блок-схема СИМВОЛ ФУНКЦИЯ Пуск/остановка. Начало, конец, прерывание процесса обработки данных или выполнения программы Ввод/вывод. Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов (вывод) Процесс. Выполнение операций или группы операций, в результате которых изменяется значение, форма представления или расположение данных Решение. Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий Модификация. Выполнение операций, меняющих команды или группу команд, изменяющих программу Предопределённый процесс. Использование ранее созданных и отдельно описанных алгоритмов или программ
Понятие сложности алгоритма Теория алгоритмов предоставляет аппарат анализа различных алгоритмов решения одной и той же задачи, на основе которого можно выбрать самый эффективный (наилучший) алгоритм. Вычислительным процессом , порождённым алгоритмом, называется последовательность шагов алгоритма, пройденных при его исполнении . Сложность алгоритма – количество элементарных шагов (действий ) в вычислительном процессе этого алгоритма. ! Для решения задачи могут быть разработаны алгоритмы, имеющие разную сложность. Лучшим среди них считается алгоритм , имеющий наименьшую сложность. Эффективность оценивается количеством элементарных операций, которые необходимо выполнить для решения задачи, а также количеством памяти, требующейся для выполнения алгоритма.
Временная сложность «Найти книгу с секретом» Сложность алгоритма выражают в виде функции от объёма входных данных. Задание. Оцените сложность алгоритмов: «Поиск в телефонной книге» В сейфе оказался клочок страницы с фамилией и первой цифрой номера телефона. Надо найти страницу с нужной фамилией в телефонном справочнике, в котором 1000 страниц . Сложность алгоритма будет O(log 2 n) . Таким образом, в книге объёмом в 1000 страниц страница с нужной фамилией находится не больше, чем за O(log 2 1000) ≈ 10 раз . В данном случае, за счет сортировки имен по алфавиту, можно сократить поиск, применив метод половинного деления (открыв книгу примерно в середине, мы уменьшаем размер «оставшейся проблемы» вдвое ) . При линейном поиске – последовательной проверки всех книг подряд – сложность, в худшем случае, будет равна количеству книг, т.е . O ( n ) = 1000 . В старинной библиотеке в одном из 10 0 0 томов, посвященных кладам и тайникам, спрятана книга-сейф. Надо найти ее.
X 40 Задание. Найти Пример 4 Алгоритм «Возведение числа в натуральную степень ( x n ) » Запишем n в двоичной системе счисления. Заменим каждую 1 парой букв КХ , а каждый 0 – буквой К . Вычеркнем крайнюю левую пару КХ . Полученная строка, читаемая слева направо, даёт правило быстрого вычисления х n , если букву К рассматривать как операцию возведения результата в квадрат, а букву X – как операцию умножения результата на х. Вначале результат равен х . К Х К К Х К К К возведение результата в К вадрат К умножение результата на Х Х 1 0 1 0 0 0 40 = 2 х 2 х 4 х 5 х 10 х 20 х 40
Алгоритм – конечная система правил, сформулированных на языке исполнителя, которая определяет последовательность перехода от допустимых исходных данных к конечному результату и обладает свойствами дискретности, детерминированности, понятности , результативности, конечности и массовости . Исполнитель алгоритма – субъект или устройство, способные правильно интерпретировать описание алгоритма и выполнить содержащийся в нём перечень действий. Один и тот же алгоритм может быть записан разными способами : на естественном языке, псевдокодом, с помощью блок-схем , на языке программирования и т. д. Теория алгоритмов предоставляет аппарат анализа различных алгоритмов решения одной и той же задачи, на основе которого можно выбрать самый эффективный (наилучший) алгоритм.
Алгоритм состоит из команд. Команда – отдельная инструкция в описании алгоритма. Шаг алгоритма – отдельное действие , которое исполнитель выполняет по команде. Вычислительным процессом, порождённым алгоритмом, называется последовательность шагов алгоритма, пройденных при его исполнении. Сложность алгоритма – количество элементарных шагов ( действий ) в вычислительном процессе этого алгоритма. Наряду со сложностью важной характеристикой алгоритма является эффективность . Эффективность оценивается количеством элементарных операций , которые необходимо выполнить для решения задачи, а также количеством памяти, требующейся для выполнения алгоритма.
Вопросы и задания Задание 1. Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам: Складываются первая и вторая, а также вторая и третья цифры исходного числа . Полученные два числа записываются друг за другом в порядке убывания ( без разделителей). Укажите наименьшее число, в результате обработки которого автомат выдаст число 1711 . Решение: Единственный способ разбить запись 1711 на два числа – это 17 и 11. Чтобы число было меньше, надо чтобы сумма первой и второй цифр была наименьшей, в данном случае 11 . Сумма значений двух последних цифр равна 17 . Не трудно заметить, что 17 = 8 + 9 = 9 + 8 . Других вариантов нет. Тогда 11 = 2 + 9 = 3 + 8 . Выбираем пару, которая даст ме́ньшее число. Ответ : 298.
Вопросы и задания Задание 2. Подсчитайте сложность алгоритма сложения двух натуральных чисел «столбиком» при условии, что одно из них состоит из n , а второе – из m десятичных цифр . Решение: Сложение двух чисел столбиком в случае, если одно из них состоит из n , а другое – из m цифр требует не более max ( n , m ) сложений и не более max ( n , m ) запоминаний (в случае перехода через десяток). Т.е. данный алгоритм имеет сложность порядка O ( n + m ). Выражение показывает только порядок величины – постоянные факторы в нем не учитываются.
8 3 3 3 3 3 Вопросы и задания Задание 1. Есть двое песочных часов: на 3 и на 8 минут. Для приготовления эликсира бессмертия его надо варить ровно 7 минут . Как это сделать? Придумайте систему команд исполнителя Колдун. Запишите с их помощью план действий исполнителя по приготовлению эликсира. Графический способ решения:
Информационные источники https://img2.goodfon.ru/original/1920x1080/a/91/zamok-klyuch-otverstie-svet.jpg http://biblo-ok.ru/biblio-ok/Kartiny1/79.files/image001.jpg http://cheeseberry-sibir.ru/photos/vyshivka-na-odejde-izgotovlenie-6259-large.jpg http://europeansectionarcipreste.blogspot.ru/2011_11_01_archive.html http://www.imasitalia.com/wp-content/uploads/2016/04/fogli.jpg http://atotarho12.narod.ru/clipart/k/kar/karanda44.png https://s-media-cache-ak0.pinimg.com/originals/73/96/fd/7396fd0a921a5f895bafd81830adcaa5.jpg https:// chessok.net/zadachi/1165-reshit-legkuyu-dvuhhodovku.html http ://pikabu.ru/story/metod_byistrogo_umnozheniya_karatsubyi_4226758 http ://ozon.ru. Сейф-книга "Вид на реку" https://openclipart.org/image/800px/svg_to_png/171487/1344190891.png http://vamotkrytka.ru/_ph/54/2/531435092.gif http://www.gifmania.ru/Animated-Gifs-Veb-dizayn/Animations-Geometry/Images-Geometric-Stars/Geometric-Stars-89830.gif http://www.freeiconspng.com/free-images/potion-icon-png-15620