9 класс Презентации к урокам
презентация к уроку по информатике и икт (9 класс) на тему
Основы алгоритмизации и программирования
Скачать:
Вложение | Размер |
---|---|
101.83 КБ | |
urok_26._algoritmy_raboty_s_velichinami.pptx | 162.1 КБ |
urok_27._znakomstvo_s_yazykom_paskal.pptx | 134.26 КБ |
urok_28._lineynye_vychislitelnye_algoritmy.pptx | 240.26 КБ |
urok_29._algoritm_s_vetvyashchey_strukturoy.pptx | 94.57 КБ |
urok_30._algoritmy_s_vetvyashcheysya_strukturoy.pptx | 596.65 КБ |
urok_31._algoritmy_so_strukturoy_vybor.pptx | 103.83 КБ |
urok_33._programmirovanie_tsiklov.pptx | 86.6 КБ |
urok_34._programmirovanie_tsiklov.pptx | 103.82 КБ |
Предварительный просмотр:
Подписи к слайдам:
В 1948 г. в США и Европе вышла книга Норберта Винера «Кибернетика, или Управление и связь в животном и машине».
Кибернетика – это наука об общих свойствах процессов управления в живых и неживых системах. Управление – это целенаправленное воздействие одних объектов (управляющих) на другие объекты – управляемые
Все управляющие воздействия производятся в форме команд. Команды отдаются с определенной целью. Последовательность команд по управлению объектом, выполнение которых приводит к достижению заранее поставленной цели, называется алгоритмом управления . Объект управления – исполнитель алгоритма.
Задание 1. 1. Кто играет роль управляющего и исполнителя в следующих системах: школа, класс, самолет, стая волков, стадо коров?
Ответ Администрация – коллектив, учащиеся; Учитель – ученики; Пилот – самолет; Стюардессы – пассажиры; Вожак – остальные волки; Пастух – коровы;
Для этих систем назовите некоторые команды управления и скажите, в какой форме их отдают.
Слово "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми ( Alhorithmi ), жившего в 783—850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе. Понятие алгоритма является не только одним из главных понятий математики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации
Исполнитель алгоритма Это может быть человек или живое существо (неформальный исполнитель, т.е. он может отойти от заранее продуманного плана), или техническое устройство (формальный исполнитель не вносит элементов творчества в выполнении). Каждый исполнитель понимает свой набор команд – Система команд исполнителя СКИ.
Задание 2. Назовите исполнителей следующих видов работы: уборка мусора во дворе; перевозка пассажиров; выдача заработной платы; прием экзамена; сдача экзамена; обучение детей в школе. Продумайте СКИ.
Основные свойства алгоритмов следующие: 1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма. 2. Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных ) шагов (этапов). 3.Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола . Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.
4. Pезультативность (или конечность) состоит в том, что за конечное число шагов алгоpитм либо должен пpиводить к pешению задачи, либо после конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов. 5. Массовость означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма .
И еще один важный момент в теории алгоритмов: для успешного решения задачи исполнитель должен иметь полный набор исходных данных. Если исходных данных не хватает, то задачу совсем нельзя решить, либо она решается неверно.
Задание 3. Определите полный набор данных для решения следующих задач: Вычисления стоимости покупок в магазине; Определение времени показа по телевизору интересующего вас фильма; Вычисления площади треугольника; Определение месячной платы за расход за расход электроэнергии; Алгоритм письменно можно оформить с помощью блок-схем (используя графические примитивы), алгоритмического языка или на одном из языков программирования;
СКИ алгоритмического языка: 1) алг Название алгоритма (решение задачи должно начаться с этой команды); 2) нач Начало тела алгоритма; 3) тело алгоритма, последовательность команд из СКИ; 4) кон Конец тела алгоритма;
Язык программирования Это фиксированная система обозначений для описания алгоритмов и структур данных. Программа – алгоритм , записанный на языке программирования . Иначе: алгоритм и программа не отличаются по содержанию, но отличаются по форме.
Подведем итоги: Что такое алгоритм? Что такое исполнитель алгоритма? Что такое СКИ? Назовите основные свойства алгоритма?
Домашнее задание Написать алгоритм нахождение гипотенузы прямоугольного треугольника, если известны его катеты
Предварительный просмотр:
Подписи к слайдам:
Цель: Познакомиться с понятием «величина » и показать ее назначение в программировании
1. Как называется алгоритм, записанный на «понятном» компьютеру языке ? а ) программа; в ) протокол алгоритма ; б) текст; г ) набор команд
2. Как называется свойство алгоритма, заключающееся в том, что каждое действие и алгоритм в целом должны иметь возможность завершения ? а ) дискретность; б) детерминированность; в) результативность; г) конечность.
3. Как называется свойство алгоритма, заключающееся в том, что каждое действие должно быть строго и недвусмысленно определено в каждом случае ? а) дискретность ; б) детерминированность; в ) понятность; г ) точность.
4. Как называется свойство алгоритма, заключающееся в том, что один и тот же алгоритм можно использовать с разными исходными данными ? а) дискретность ; б) детерминированность ; в ) конечность; г) массовость.
а) схематичное изображение в произвольной форме; б ) система обозначения правил для единообразной и точной записи алгоритмов их исполнения; в) способ представления алгоритма с помощью геометрических фигур; г ) представление алгоритма в форме таблиц и расчетных формул . 5 . Что такое графическое задание алгоритма ( блок-схема )?
Ответы: 1а ; 2г; Зг ; 4г; 5в.
Как вы думаете, на какие категории можно разделить людей , работающих на компьютере ? Какие задачи решают программисты?
Программирование необходимо для разработки программ управления компьютером с целью решения различных информационных задач. Система программирования — это программное обеспечение компьютера, предназначенное для разработки, отладки, исполнения программ, записанных на определенном языке программирования.
Компьютер-исполнитель работает с определенными данными по определенной программе числа , символы, строки , таблицы Данные – величины
Числовые величины
Система команд. Любой алгоритм работы с величинами может быть составлен из следующих команд : присваивание ; ввод ; вывод ; обращение к вспомогательному алгоритму; цикл ; ветвление .
Присваивание: <переменная>:=<выражение>. Например, Х:=5; У:=Х+1 после этого в ячейке с именем У будет лежать 6. Ввод: ввод <список переменных>. Например, ввод A, В, С. Значения переменных, являющихся исходными данными решаемой задачи, задаются вводом. Вывод : вывод <список вывода>. Например, вывод х1, х2, хЗ . Результаты решения задачи сообщаются компьютером пользователю путем выполнения команды вывода.
Задание 1. В схематическом виде отразите изменения в ячейках , соответствующих переменным А и В, в ходе последовательного выполнения команд присваивания: 1) А:=1; В:=2; А:=А+В; В:=2*А. 2) А:=1; В:=2; С:=А; А:=В; В:=С. 3) А:=1; В:=2; А:=А+В; В:=А-В; А:=А-В.
Задание 2. Вместо многоточия впишите в алгоритм несколько команд присваивания, в результате чего должен получиться алгоритм возведения в четвертую степень введенного числа: ввод А ... вывод А.
Домашнее задание Написать последовательность команд на алгоритмическом языке для наиболее быстрого вычисления выражения: (х + х2 + 5х4)4. Написать алгоритм вычитания двух дробей.
Предварительный просмотр:
Подписи к слайдам:
Цель: выяснить структуру программы, операторы, правила оформления и пунктуацию языка Паскаль.
Тест по теме «Алгоритмы работы с величинами»
1. Укажите последовательность команд, в результате выполнения которых значения переменных X и У поменяются местами : а ) Х:=Х+У; У:=Х-У; Х:=Х-У; б) В:=Х; Х:=У; У:=Х; в) У:=Х; В:=Х; Х:=У; г) Х:=У; У:=Х.
2. Чему будет равно значение переменной X после выполнения команды Х:=Х+2, если до ее выполнения оно было равно 3? а ) 1; в)3 ; б) 2; г ) 5.
3. При каких исходных значениях переменных X и У в результате выполнения команды Х:=Х^У-У значение переменной X станет равным 2 ? а ) 4,1; в) 2, 2; б) 3,2; г) 5,1.
4. Значение выражения 2*4*2-5^З*2 равно : А) - 186; в )-234; Б) - 15661 ; г )-61.
5. Команда присваивания означает, что : а ) вводятся значения переменных, являющихся исходными данными решаемой задачи; б) выводятся результаты решения задачи компьютером пользователю; в) переменная величина получает значение; г) происходит обращение к новой программе
Ответы: 1а ; 2г; Зв; 4в; 5в.
После того как продуман алгоритм решения задачи, составляется программа на одном из языков программирования. Одним из самых популярных языков является Паскаль . С этого урока мы начнем рассматривать основы программирования на этом языке.
Этот язык был разработан в 1971 г. швейцарским профессором Никлаусом Виртом и назван в честь французского ученого Блеза Паскаля. Команды языка называются операторами. Программа на языке Паскаль близка по своему описанию алгоритмическому языку.
Структура программы (рассмотрим упрощенный вариант ): Рrоgrаm <Имя программы>; Vа r < Раздел описаний> Вegin <Тело программы> End .
Имя программы — любое имя. Раздел описаний - список переменных (латинских букв, наборов букв, букв и цифр) через запятую, после двоеточия - тип переменных. Числовые типы: вещественный ( rеаl ) и целый ( integer ). Например , var a:integer; b1: real . Тело программы - основная часть программы. Операторы внутри тела программы отделяются точкой с запятой, а в конце служебного слова еnd ставится точка.
Оператор ввода - при выполнении этого оператора компьютер ожидает ввод данных с клавиатуры. Read (<список переменных>) или readln (<список переменных>). Их отличие в том, что по оператору readln курсор перемещается в новую строку. Если в операторе несколько переменных, то данные вводятся через пробел, а в конце нажимается клавиша Enter . Оператор вывода - компьютер выводит результат работы программы на экран. Write (<список вывода>) или Writeln (<список вывода>) — аналогично оператору ввода экранный курсор переводится на новую строку во втором случае. Например, Write (5,c), write ( a,b,c ); write ('С Новым годом!'); write (х*у+25—4/3).
При выводе числовых данных можно задать формат вывода: 1) для целых чисел - количество позиций на экране; 2) для вещественных — общее количество чисел и количество чисел в дробной части. Например , а=6 оператор write (а:5), тогда на экране будет _ _ _ _ _6, где _ пробел; а=511,64 оператор write (а: 10:4), при этом на экране _ _ _ _ 511, 6400.
Оператор присваивания: <числовая переменная>:=<арифметическое выражение>, арифметическое выражение может содержать: числовые константы, переменные, арифметические операции, круглые скобки. Приоритет операций: *, /, +, -. Возведение в степень — знак ^, х 2 - sqr (х), — sqrt (х).
выглядит так: - на языке Паскаль выглядит так: sqr ( sqr ( x )- y *3/4)- sqrt ( x ^3).
Задание 1. Запишите по правилам языка Паскаль следующие выражения: tg3x+1; 3x 3 +2x 2 +4
Задание 2. Определите, какие из приведенных ниже имен нельзя использовать в качестве заголовка программы и почему. Iwanov_Petr_10r; Dog-Cat; Nomera_Doma ; F22.
Задание 3. Найдите ошибки в программе Program control; Var x, y, z: integer; Begin x:=5; y:=7; z:= x+y ; writeln (z= x+y,z ); end .
Задание 4. Какая задача решается по следующей программе? Program Test; Var A,B,C: integer; Begin Readln (A,B); C:=(A+B)*(B-C); Writeln ( C ); End . Какой результат будет получен, если в качестве исходных значений A и B ввести соответственно 7 и 8?
Задача 5 Напишите программу, которая вычисляет площадь и периметр прямоугольника со сторонами a и b .
Подведение итогов Когда появился язык Паскаль и кто его автор? Какова структура программы на языке Паскаль? Какие операторы на данный момент вы знаете? Какие правила пунктуации в Паскале вам известны?
Домашнее задание Записать по правилам языка Паскаль следующее выражение: Написать программу на алгоритмическом языке и на языке Паскаль, по которой можно найти расстояние между двумя точками с заданными координатами.
Предварительный просмотр:
Подписи к слайдам:
Цель: отработать навык составления линейных программ
Тест по теме «Основы языка Паскаль»
1. Какого раздела не существует в программе, написанной на языке Паскаль? заголовков; операторов; описания; примечаний.
2. Какой из операторов не относится к группе ввода - вывода на языке Паскаль? Readln (a1, a2, a3) Write (a=,’a’); Println ; Writeln .
3. В результате выполнения следующих операторов: а:=3; b :=4; write (‘ x =’, sqrt ( sqr ( a )+ sqr ( b )), a + b =7); writeln ( a , b ,’ a ’,’ b ’); будет напечатано: х=5 TRUE 34 ab ; х=5а+ b =734 ab ; х= sqr ( sqr (а)+ sqr ( b )), а+ b =734аЬ; х=5.00000000000000Е+0000Т RUE 34а b .
4. Что будет выведено на печать в результате выполнения следующих операторов: а:=5 write (‘квадрат числа’, a = sqr ( a ))? квадрат числа а = 25; квадрат числа 5 = 25 квадрат числа FALSE ; квадрат числа а = sqr (5).
Ответы: 1 d ; 2 c ; 3 b ; 4 c .
- Какой алгоритм называется линейным ? Алгоритм, в котором команды выполняются друг за другом последовательно.
Сегодня на уроке мы будем программировать линейные алгоритмы
Для начала давайте изучим еще несколько операторов: а div b -выдает целую часть от деления а на b ; а mod b - выдает остаток отделения а на b ; trunk ( х ) - выдает целую часть дробного числа х ; round ( х ) - округляет число х по правилам математики. Например, 20 div З=6, 5 mod 2=1, trunk (3.545)=3, round (3.545)=4
Задание 1. Найдите значение выражения А mod (В div С+5)- 10, если А = 35, В = 6, С = 4.
Задание 2. Отметьте выражения, которые относятся к целому типу. 1+0,0 20/5 sqr (5,0) trunk (3.1415) sqrt (4) 5+round (12.7)
Задание 3. Запишите выражение по правилам языка Паскаль.
Задание 4. Перепишите выражение 1 + sqr (со s (( х + у)/2)) в традиционной математической форме.
Задание 5. Дана неполная программа, предназначенная для вычисления площади треугольника, заполните пропуски, а в операторе вывода укажите параметры так, чтобы значение площади выводилось с двумя знаками после запятой. Рго g га m squar е_ treug ; V аг а, h : _________________ ; S :______________________; Writeln ('введите длины стороны и высоты треугольника'); Read(_______________________________________); S:=________________________________________; Write (S:______________________________); End. Домашнее задание
Задание 6. Введите свой возраст, рост и вес. Выведите на экран сообщение. Для ... -летнего возраста рост ... сантиметров и вес ... кг очень подходят!
Задание 7. Вычислите среднее арифметическое и среднее геометрическое двух чисел.
6. Program vozr ; Var a,b,c : integer; Begin Readln ( a,b,c ); Write (‘Для’, a , ’-летнего возраста рост', b , ’сантиметров и вес’, с, ‘кг очень подходят!'); End.
7. Program sr ; Var a,b,c,d : integer; Begin Writeln (‘введите два числа'); Readln ( a,b ); c:=( a+b )/2; d:= sqrt (a*b); Write (‘c=’,c:5:2,’d=’,d:5:2); End.
Подведение итогов урока В какой последовательности происходит выполнение команд в линейном алгоритме? Что является результатом вычисления функций div , mod , trunk , round ?
Домашнее задание Расставить правильно скобки в выражении: а+ b /х-2*у - так, чтобы оно соответствовало выражению: а + Уда лить лишние скобки ( a*(b/(c*(d/e*f))))) Написать программу для нахождения суммы цифр заданного трехзначного числа.
Предварительный просмотр:
Подписи к слайдам:
Цель: отработать навык составления программ с ветвящейся структурой
Тест по теме «Линейный алгоритм»
1. Определите значение целочисленной переменной а после выполнения фрагмента алгоритма. а :=247; b:=(a div 100)*10+9; a:=(10*b-a) mod 10; Примечание. Операции div и mod вычисляют результат деления нацело первого аргумента на второй и остаток от деления соответственно. а) 3; б) 454; в) 2; г) 4.
2. Служебное слово var в программе на языке Паскаль фиксирует начало раздела программы, содержащего: а) описание переменных; б) описание меток; в) описание констант; г) описание сложных типов данных.
3. Переменная у — вещественного типа, а n — целого типа. Выберите корректное использование оператора присваивания. а) у:= n +1; б) n :=у-1; в) n :=4.0; г) y:=trunk(y).
4. Укажите значения для переменных х и у после выполнения операторов х:=2; у:=5; х:=у; у:=х. а) 2, 2; б) 5, 2; в) 5, 5; г) 2, 5;
5. Какую задачу решает данная программа? Program primer; V а r а , b, с : integer; Begin W riteln ('введите двузначное число'); Readln (a); b:=a div l0; c:=a mod l0; Write (c*10+b); End . а) находит сумму цифр числа; б) вычисляет целую часть и остаток от деления числа на 10; в) меняет цифры числа местами; г) находит цифры числа, а на экран выводит само число.
Ответы: 1 а; 2а; За; 4в; 5в.
При решении задач часто возникают ситуации, когда на вопрос «что дальше делать» мы даем ответ в зависимости от выполнения некоторого условия, например находим решение линейного уравнения ах = b , если коэффициент а не нулевой. В таких случаях используется конструкция ветвления, реализуемая в Паскале условным оператором.
В отличие от линейных алгоритмов, в которых команды выполняются одна за другой, конструкция ветвления включает в себя проверку условия. В качестве условия такого оператора используется значение логического выражения. Существуют два вида условного оператора:
IF В THEN S1 - если выражение В - TRUE (истина), то выполняется выражение, стоящее после THEN.
IF В THEN S1 ELSE S2 - если выражение В - TRUE (истина), то выполняется выражение, стоящее после THEN, иначе, после ELSE.
В — выражение булевского типа; SI, S2 — отдельные операторы или операторы, сгруппированные при помощи операторных скобок BEGIN END. Перед Else после End «;» не ставится.
S1 и S2, в свою очередь, тоже могут быть условными операторами. При этом каждому ELSE соответствует предыдущий THEN.
Практическая работа
Задание 1. Среди предложенных выражений выберите логические. (х=3) о r ( х <>4) 2*х+5 х mod 2 =0 х div 3 х+у=10 х+у ( х+у >5) or ( х-у >5) ( х >3) and ( х <=10)
Задание 2. Вычислите: t and ( р mod 3=0) при t = true, р = 101010; ( x * y <>0) and (у> х ) при х = 2, у = 1; ( x * y <>0) or (у> х ) при х = 2, у = 1; f or (not(b)) при f = false, b = true.
Задание 3. Составьте условие для условного оператора в программе , которая выводит на экран приветствие в зависимости от времени суток. Пусть утро с 8 до 12 ч, день с 12 до 17 ч, вечер с 17 до 23 ч, ночь — все остальное время. Program primer; Var x:real; Begin Writeln (‘Который час?'); Read(x); If__________then writeln (' Д o б poe утро !'); If__________then writeln (' Добрый день !'); If__________then writeln (' Добрый вечер !'); If __________ then writeln ('Доброй ночи!') else writeln ('введенное число выходит за рамки интервала [0,24]'); End .
( х >=8) and ( х <12); ( х >=12) and ( x <17 ); ( х >=17) and ( х <24 ); ( х >0 ) and ( х <8).
Задание 4. Какие значения примут переменные х и у в результате выполнения следующих фрагментов? а ) Read ( a,b ); х :=0; у :=0; if a=b then x:= a+b ; y:=a*b;
Ответ: при a=2, b=3, x=____ , y=_____ ; при a=5, b=5, x=_____, y=____. б ) Read( a,b ); x:=0; y:=0; if a=b then begin x:= a+b ; y:=a*b; end;
Ответ: при a=2, b=3, x=_____ , y= _____; при a=5, b=5, x=______, y=___________. в ) Read( a,b ); x:=0; y:=0; if a=b then x:= a+b ; else x:=a—b; y:=a*b;
Ответ: при a=2, b=3, x=_____ , y=_____ ; при a=5, b=5, x=_______, y=_________. г ) Read( a,b ); x:=0; y:=0; if a=b then x:= a+b else begin x:=a—b; y:=a*b; end;
Ответ: при a =2, b =3, x =________, y =______; при a=5, b=5, x=______________, y=______. д ) Read( a,b ); x:=0; y:=0; if a=b then begin x:= a+b ; y:=2*a*b; end else begin x:=a—b; y:=a*b; end;
Ответ: при a=2, b=3, x= , y= ; при a=5, b=5, x= , y= .
Задание 5. Составьте программу, заменяющую меньшее из двух данных чисел на среднее арифметическое этих чисел, а большее из двух данных чисел — на среднее геометрическое этих чисел.
Ответы : 1,3,5,7,8 . a)True; б ) false; в ) true; г ) false. ( х >=8) and ( х <12); ( х >=12) and ( x <17); ( х >=17) and ( х <24); ( х >0) and ( х <8). а) (0,6), (10,25); б) (0,0), (10,25); в) (-1,6), (10,25); г) (-1,6), (10,0); д ) (-1,6), (10, 50).
Домашнее задание
Составить алгоритм нахождения меньшего из двух значений. Определить, является ли данное число четным или нечетным. Ответы : Program dzl ; Var a, b, min: integer; Begin Writeln (' вв e дит e два числа '); Readln ( a,b ); if a>b then min:=b else min:=a; Write ('наименьшее число', min ); End .
Предварительный просмотр:
Подписи к слайдам:
Цель: отработать навык составления программ с ветвящейся структурой.
Дана программа: Program urok ; Var m , n , s , p: integer ; Begin Read ( m,n ); s:=m+n; p:=m*n; if m > n then begin m:=s; n:=p; end else begin m:=p; n:=s; end ; Write (' m= ', m , ‘ n=',n ); End . Для решения какой задачи она предназначена?
Какие структуры называются ветвлением?
Какие конструкции ветвления бывают?
Задание 1. Составьте программу, определяющую, является ли число A кратным числу В.
Решение: Program primer ; Var a , b : integer ; Begin Write ('введите два числа'); Read ( a,b ); If a mod b=0 then writeln (' a кратно b ') else write ('а не кратно b '); End .
Задание 2. Вводятся две четвертные оценки по математике и русскому языку. Выведите на экран надпись «Молодец!», если их сумма больше или равна 9, иначе надпись — «Подтянись!».
Решение: Program primer ; Var a , b: integer ; Begin Write ('введите четвертные оценки по математике и русскому языку'); Read ( a,b ); If a+b >=9 then writeln ('Молодец!') else writeln ('Подтянись!'); End . Использование операторных скобок внутри условного оператора называется составным оператором.
Задание 3. Составьте программу сортировки по возрастанию значений трех переменных: А, В, С.
Решение: Program Рг ; Var S1, S2, S3, С: Integer ; Begin Writeln (' Введите три числа'); Readln (S 1 ,S2,S3 ); If S1>S2 then begin C:=S1; S1:=S2; S2:=C; end ; {Меняем местами содержимое S 1 и S2} If S2>S3 then begin C:=S2; S2:=S3; S3:=C; end ; {Меняем местами содержимое S2 и S3} If S1>S2 then begin C:=S1; S1:=S2; S2:=C; end; { Меняем местами содержимое SI и S2} Writeln ('Числа в порядке возрастания:', S1,S2,S3) End .
Задание 4. Составьте программу решения линейного уравнения вида Ах — В.
Решение: Program linear_equation ; Var a , b: real ; Begin Write ('введите коэффициенты а и b :'); Readln ( a , b ); If a<>0 then write('x0',- b/a) Else If b=0 then write(' Kope нь любое число ') Else write (' Kopней нет'); End .
Задание 5. Составьте программу решения квадратного уравнения.
Решение: program kv ; var a,b,c,D,x1,x2:real; begin Read ( a,b,c ); D:=b*b-4*a*c; if D<0 then Writeln ('KOPHE Й НЕТ ') else if D=0 then begin D:= sqrt (D); x1:=(-b)/(2*a); Writeln ('x=',x1); else begin D:=sqrt(D); xl:= (- b+D )/(2* a ); x2:=(- b-D )/(2* a ); Write l n (' xl=',xl ); Write Ln ('x2=',x2); end ; end .
Домашнее задание Дано: а, b , с- стороны предполагаемого треугольника. Требуется сравнить длину каждого отрезка с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольника с такими сторонами не существует. Написать программу, определяющую по координатам точки, в какой четверти она находится.
Ответы : 1.var а , b, с : integer; begin write ('Длины сторон:'); readln ( a,b,c ); if ( a < b+c ) and ( b < a+c ) and ( c < a+b ) then writeln ('Треугольник существует.') else writeln ('Треугольник не существует.'); readln end.
2. Var x, y: real; begin write('x='); read(x); write('y='); readln (y); write (' Ho м ep четверти координатной плоскости:'); if (x>0) and (y>0) then writeln (‘I’) E lse if (x<0) and (y>0) then writeln ('II') else if (x<0) and (y<0) then writeln ('III') else if (x>0) and (y<0) then writeln (‘IV') else writeln ('-. Точка лежит на оси.'); readln end .
Предварительный просмотр:
Подписи к слайдам:
Цель: научить применять еще один оператор ветвления – структуру «выбор»
Что делать, если в задаче необходимо проверить множество условий? В этом случае, кроме оператора if в языке программирования Паскаль, предусмотрен оператор ветвления по ряду условий - case . Данный оператор используется реже из-за существующих ограничений для него.
Оператор case служит для выбора одного из возможных вариантов в ситуации, которая может иметь несколько (более двух) возможных исходов. В зависимости от значения переменой (селектора) выполняется оператор, помеченный соответствующей константой. Если же ни одна константа не подходит, выполняется оператор, записанный после else .
Оператор case имеет вид: Case порядковая_переменная of константа_1: оператор_1; константа_2: оператор_2; константа n : оператор n ; Else оператор; End ;
Возможно использование сокращенной формы оператора case , в которой строка else отсутствует. В этом случае, если ни одна константа не совпадает со значением порядковой переменой, управление передается оператору, следующему за end . Например: Case n of 1: writeln (' кpacный '); 2: writeln ('зеленый'); 3: writeln ('белый'); End ;
Запись типа ' a '...' z ' включает диапазон значений от символа 'а' до символа ' z ' включительно. Для решения задач на эту тему нам понадобится еще один тип переменных: char — простой тип данных, предназначенный для хранения одного символа в определенной кодировке.
Практическая работа Задание 1. Напишите программу, по которой выводится название школьного звена в зависимости от класса.
Решение: var n : integer ; begin write ('Введите класс школы : '); readln (n); case n of 1..4: writeln (' Младшие классы .'); 5..8: writeln (' Средняя школа .'); 9,11: writeln (' C таршие классы . Выпускной.'); 10: writeln ('Старшие классы.'); else writeln (‘Error’); end; end.
Задание 2. С помощью конструкции case сравните значение переменной ch с различными диапазонами значений. В случае совпадения выводится соответствующая надпись (цифра, английская буква, русская буква).
Решение : Var ch : char; begin write(' Введите символ :'); readln ( ch ); case ch of '0'..'9': write(' Это число '); ' a '..' z ',' A '..' Z ': write ('Это английская буква'); ' а'..'я','А '..'Я': write ('Это русская буква') end ; end . Примечание. Символы перечисления помещаются в апострофы.
Задание 3. В зависимости от введенного символа L, S, V , пpoграмма должна вычислять длину окружности; площадь круга; объем цилиндра.
Решение : Var L, S, V, r, h: real; n: char; begin write(' Задайте радиус круга '); readln (r); write(' Высоту цилиндра '); readln (h); write ('Введите символ:'); readln ( n ); case ch of L: write(' Длина окружности L=', 2*3.14*r); S: write(' Пл o щ a дь круга S=', 3.14* sqr (r)); V: write(' Объем цилиндра V=’, 3.14* sqr (r)*h); end ; end .
Задание 4. Напишите программу преобразования цифр в слова
Решение : Program Number4; Var a: integer; Begin Writeln (‘ Введите цифру ’); readln (a); case a of 0: writeln (' ноль '); 1: writeln (' один '); 2: writeln (' дв a'); 3: writeln (' три '); 4: writeln (' четыре '); 5: writeln (' пять '); 6: writeln (' шесть '); 7: writeln (' ce мь '); 8: writeln (' в oce мь '); 9: writeln (' девять ') else writeln ('Это число не является цифрой'); end ; End .
Вывод Как применяется оператор выбора? Когда он особенно необходим?
Домашнее задание 1. По номеру дня недели вывести его название. 2. Написать программу, которая по введенному числу из промежутка [0,24] выдает время суток.
Ответы: Var a : integer ; Begin writeln ('Введите номер дня недели'); readln (a); case a of 1: writeln (' понедельник '); 2: writeln (' вторник '); 3: writeln (' cpe да '); 4: writeln (' четверг '); 5: writeln (' пятница '); 6: writeln (' суббота '); 7: writeln (' воскресенье '); else writeln ('Это число не является номером дня недели'); end; End.
2. Var a: real; Begin writeln ('Введите время суток'); readln (a); case a of 8,01..12,00: writeln (‘ Утро ’); 12,01-17,00: writeln (' День '); 17,01..23,00: writeln (‘ Вечер '); 23,01..24,00: writeln ('Ho чь '); 1,00-8,00: writeln (' Ho чь '); else writeln ('Это число выходит за пределы интервала [0,24]'); end ; End .
Предварительный просмотр:
Подписи к слайдам:
В процессе решения множества задач часто требуется повторять те или иные действия. При этом бывают разные ситуации. Например: количество повторений известно до выполнения тела цикла; до выполнения тела цикла количество повторений неизвестно ; тело цикла должно выполниться хотя бы один раз.
Для разных ситуаций существуют различные циклические конструкции. В языке программирования Паскаль их три , в соответствии с пунктами, описанными выше . Самой универсальной и поэтому чаще других используемой конструкцией цикла является второй вариант (цикл while ).
Цикл while является циклом с предусловием, while <логическое выражение> do begin группа операторов end ; В заголовке цикла находится логическое выражение. Если оно истинно, то тело цикла выполняется, если ложно — то нет. Если тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения ).
Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true . Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false . Иначе произойдет так называемое зацикливание.
Например, нужно распечатать n звездочек Решение : Var i , n: integer; begin write ('Количество знаков: '); readln ( n ); i :=l; while i <=n do begin write('(*)'); i :=i+1; end; end .
Практическая работа
Задание 1. Найдите сумму всех натуральных чисел из промежутка [1, m ] Решение : Program Summa; Var i , m: integer; x, S: real; Begin write ('Сколько чисел для сложения?'); readln (m); S:=l; i :=l; while i <=m do begin S:= S+i ; i := i+l ; end; write('Cy мм a равна ',s:5:2); End .
Задание 2. Найдите сумму n чисел, вводимых с клавиатуры Решение : Program Summa; Var i , N : integer; x, S : real; Begin write ('Сколько чисел для сложения?'); readln ( N ); S:=0; i :=1; while i <=N do begin write(' Введите ‘, i ,’-e число ’); readln (x); S:= S+x ; i := i+l ; end ; write ('Сумма введенных чисел равна ',s:5:2); End .
Задание 3. Выведите квадраты натуральных чисел, не превосходящих 50 Решение : var x, n: integer; begin write('n='); readln (n); x:=l; while sqr (x) Задание 4 . Возведите число в степень Решение : Var num, deg: integer; res: real; i : byte; begin write(' Число '); readln (num); write('C тепень '); readln (deg); res:=l; i :=0; while i Как программируется цикл с предусловием на языке Паскаль ? Домашнее задание Вывести все четные числа, начиная с числа N и кончая числом М. Числа N и М задает пользователь. Вводятся 14 чисел. Определить, сколько среди них положительных (включая 0) и сколько отрицательных. (Числа вводятся в одну переменную в цикле.) 1. Program dz1; var х , n, m: integer; begin write('n='); readln (n); write('m='); readln (m); x:=n; while x<=m do begin if x mod2 =0 then write(x,' '); x:= x+l end; end. 2. Program dz2 ; Var i , N : integer; x, S : real; Begin S1:=0; S2:=0; i :=l; while i <=14 do begin write(' Введите ‘, i ,’-e число '); readln (x); if x>=0 then sl := sl+l else s2:=s2+l; i := i+l ; end; write(' п o л o жит e льны x чисел ', sl:5, ' отрицательных чисел ', s2:5); End .
Предварительный просмотр:
Подписи к слайдам:
Цель: освоить программирование циклов с постусловием
Проверочная работа «Цикл с предусловием»
1. Запишите конструкцию цикла с предусловием. В каких случаях применяется цикл с предусловием?
2. Запишите правильную структуру последовательности операторов . а:=2; b:=l; while a+b <8 do begin a:=a+l; b:=b+l end ; s:=a+b. Сколько раз будет повторен цикл и какими будут значения переменных a , b , s после его завершения?
3. Запишите правильную структуру последовательности операторов . Какими будут значения переменных а и b после выполнения операторов? а:=1; b:=l; while а<=8 do а:=а+1; b:=b+l.
4. Дана последовательность операторов, вычисляющих факториал f числа я, которая содержит пять ошибок. Найдите эти ошибки, предварительно записав операторы в правильном виде. k:=l;f:=0; while k 5. Найдите и исправьте ошибки в следующем фрагменте программы , определяющей для заданного натурального числа n число , записанное цифрами числа n в обратном порядке. р :=n; while р >=0 do begin а:=а+р mod 10; р:=р div 10 end ; Ответы : while <логическое выражение> do begin группа операторов end ; Когда до выполнения цикла количество повторов неизвестно. 2. а :=2; b:=1; while a+b <8 do begin a:= a+l ; b:= b+l end; s:= a+b . 2 раза ; a = 5, b = 3, s = 8. 3. a:=2; b:=3; while a<=7 do а:=а+1; b := b + l ; а = 8, b = 4. 4. k :=1; f := l ; while k<=n do f=f*k; k:= k+l ; end; 5. read(n); p:=n; a:=0; while p>=0 do begin a:=a*10+p mod 10; p:=p div 10 end; Вы уже умеете организовать цикл при помощи оператора while . Напомним , что при выполнении этого оператора компьютер вычисляет значение условия. Если условие истинно, то исполнительная часть оператора while будет выполняться до тех пор, пока это условие не примет значение false . Если значение условия есть false в самом начале, то исполнительная часть оператора while вообще не будет выполняться. Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы один раз, а потом исследовать условие, повторять ли его еще раз. Эту задачу выполнит другой вид цикла Repeat . repeat повторяй операторы until <условие>; до тех пор, пока условие не будет верным Есть небольшое отличие в организации цикла repeat по сравнению с while : для выполнения в цикле repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin ... end . Зарезервированные слова repeat и until действуют как операторные скобки. Конструкция repeat ... until работает аналогично циклу while . Различие заключается в том, что цикл while проверяет условие до выполнения действий, в то время как repeat проверяет условие после выполнения действий, это гарантирует хотя бы одно выполнение действий до завершения цикла. Например : repeat read (Number); Sum:= Sum+Number ; until Number=- 1 repeat i := i + 1 ; writeln ( Sqr ( i )) until Number =- 1 Практическая работа Задание 1. Определите , является ли данное число простым. Примечание. Простым называется число, которое не имеет делителей, кроме 1 и самого себя. Решение : Var i , Number : integer ; {возможный делитель и исследуемое число} Begin writeln ('Какое число должно быть проверено?'); read (Number); i :=l; repeat i := i+l ; until Number mod i =0; if Number= i then writeln (Number,' является простым ') else writeln (Number,' делится на ', i ); End . Задание 2. Выведите на экран строку из звездочек Решение : Var i , n: integer; begin write ('Количество знаков:'); readln ( n ); i :=l; repeat write(' (*)'); i := i+l until i >n; end . Задание 3. Выведите квадраты натуральных чисел, не превосходящих 50 . Решение: var х , n : integer ; begin write('Enter n:'); readln (n); x:=l; repeat у:=х*х; if y Задание 4. Найдите НОД двух чисел Решение: Var х , у: integer ; Begin Writeln ('Введите два числа'); readln ( x , у); Repeat If х >у then х:=х mod у else у:=у mod х ; Until (х=0) Or (у=0); Writeln (' НОД=',х+у )); End . Вывод Как программируется цикл с постусловием на языке Паскаль ? Для каких целей лучше его использовать? Домашнее задание Составить программу нахождения НОД трех чисел. НОД(а, b ,с)=НОД(НОД(а, b ,с). Составить программу нахождения НОК двух чисел, используя формулу А х B = НОД ( A , В) х НОД ( A , В). program dz1; Var А , В , С , nod: integer; Begin Readln (A,B,C); Repeat If A>B then A:=A mod B else B:=B mod A; Until (A=0) or (B=0); Writeln ('HO Д =’ ,A+B); nod:=A+B; Repeat If nod>C then nod:=nod mod С else C:=C mod nod; Until (nod=0) or (C=0); Writeln (' НОД =’, nod+C ); End . program dz2; var n, m, i , nok : integer; Begin write ('введите два числа'); readln (n, m); if(m<>0) and (n<>0) then begin nok :=n*m; i := nok ; while i >0 do begin if ( i mod n=0) and ( i mod m=0) then nok := i ; i :=i-1; end; writeln (' NOK',m,'i',n,'raven',nok ) end else writeln ('Na nol delit nelzya '); end.
По теме: методические разработки, презентации и конспекты
Урок по теме "Образование" для 8 класса ; презентация к уроку
Урок для 8 класса по теме "Образование", УМК Афанасьевой О.В., Михеевой И.В. и презентация к уроку...
Урок биологии в 6 классе. Презентация к уроку "ЦВЕТОК"
Презентация к уроку поможет в более доступной форме сформировать у учащихся знания о цветке как органе семенного размножения покрытосеменных растений, раскрыть биоло...
Урок географии на тему "Почва" 5-6 класс + презентация к уроку
Почва — особое природное тело. Ее состав и свойства. Образование почвы. Значение почвы. Технологическая карта урока + доп. материалы....
"wir pruefen, was wir schon koennen"урок немецкого языка в 6-ом классе презентация к уроку
"wir pruefen, was wir schon koennen"урок немецкого языка в 6-ом классе...
Урок "Сельское хозяйство" 8 класс. Презентация к уроку
Сельское хозяйство России....
Конспект урока физики в 11 классе+ презентация к уроку
Методы наблюдения и регистрации элементарных частиц. Треки частиц...
Урок русского языка + презентация по теме "Имя числительное" для 6 класса (презентация к уроку по русскому языку)
Целью данного урока является формирование умений опознаватьчислительные в речи, отличать их от омонимичных частей речи по значению, грамматическим признакам и строению; грамотно их писать, соблюдать н...