I.Составление модели задачи a)Выделить существенные предположения b)Выделить исходные данные c)Определить результат d) Установить связь между исходными.

Презентация:



Advertisements
Похожие презентации
Познакомиться с основными понятиями языка Pascal 2.
Advertisements

Алгоритм и его формальное исполнение 16 декабря 2013 г.
Алгоритм и его формальное исполнение 24 июля 2015 г.
Алгоритм Мухаммед аль - Хорезми (IX век н.э.). Описание алгоритма Алгоритм – совокупность четко определенных правил для решения задачи за конечное число.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
АлгоритмАлгоритм Свойства алгоритма. Алгоритм Алгоритм – последовательность действий, ведущая от известных данных к искомому результату. Алгоритм – это.
1 Тема: Определения и свойства алгоритма. Цель: 1.Вспомнить определение алгоритма, исполнителя и СКИ. 2.Познакомиться с формами записи алгоритма.
Программирование на языке Паскаль Тема 1. Введение.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
Алгоритм и его формальное исполнениеАлгоритм – это строго определенная последовательность действий при решении задачи. Алгоритм содержит несколько шагов.
Алгоритм и его формальное исполнение 6 марта 2015 г.
Алгоритм и его формальное исполнение. Классификация алгоритмов по структуре: Линейный (следование) Разветвленный (ветвление, выбор, альтернатива) Циклический.
класс-ПОВТОРЕНИЕ ОСНОВНЫХ ПОНЯТИЙ ТЕМЫ « ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ » 8 КЛАСС.
Алгоритмизация и программирование Зозулина Любовь Сергеевна, учитель информатики МОУ «СОШ 3» г. Первоуральск.
Алгоритмы и алгоритмизацияАлгоритмы и алгоритмизация.
Тема 1. Введение 1.
Линейные и разветвляющиеся алгоритмы. Реализация на языке Pascal.
Алгоритм 16 июня 2013 г.. Классификация алгоритмов по структуре: Линейный (следование) Разветвленный (ветвление, выбор, альтернатива) Циклический (повтор)
Что такое программирование? Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле к указанным процессам относят все.
1 Организация программ разветвляющейся структуры. Организация программ разветвляющейся структуры. Условный оператор.
Транксрипт:

I.Составление модели задачи a)Выделить существенные предположения b)Выделить исходные данные c)Определить результат d) Установить связь между исходными данными и результатом (формулы, неравенства и т.д.) II.Составление алгоритма III.Составление программы IV.Ввод исходных данных и анализ результатов V.Исправление ошибок 2

Алгоритм – это строго определенная последовательность действий при решении задачи. Алгоритм содержит несколько шагов. Шаг алгоритма – это каждое отдельное действие алгоритма. Алгоритмизация: 1) этап решения задачи, состоящий в нахождении по формулировке задачи алгоритма ее решения. 2) раздел информатики, изучающий методы, приемы построения алгоритмов и их свойства (иногда также называемый алгоритмикой).

Исполнитель – это объект, умеющий выполнять определенный набор действий. Исполнителем может быть человек, робот, животное, компьютер. Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять. Среда исполнителя – обстановка, в которой функционирует исполнитель.

АЛГОРИТМ Результативность Детерминированность Массовость Свойства алгоритма Дискретность (прерывность, раздельность) – разбиение алгоритма на шаги Результативность – получение результата за конечное количество шагов Массовость – использование алгоритма для решения однотипных задач Детерминированность (определенность, точность) – каждое действие должно строго и недвусмысленно определено Конечность – каждое действие в отдельности и алгоритм в целом должны иметь возможность завершения Понятность – указания, которые понятны исполнителю

Таблица основных условных обозначений в блок-схемах Условное обозначение Назначение блока Начало или конец алгоритма Ввод или вывод данных. Внутри блока перечисляются данные через запятую. Процесс. Внутри блока записываются матем. формулы и операции для обработки данных. Проверка условия. Внутри блока записываются логические условия. Имеет два выхода Да(+) и Нет(-). Направление.

Словесные Табличные Графические (блок-схемы) Программные

Линейный (следование) Разветвленный (ветвление, выбор, альтернатива) Циклический (повтор) Вспомогательный Комбинированный

Линейный алгоритм – это алгоритм, шаги которого выполняются последовательно друг за другом. (Пример: алгоритм сбора портфеля).

Начало Серия команд 1 Серия команд N Серия команд 2 Конец

Разветвляющийся алгоритм – это алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

Базовая структура ветвления Условие Инструкция 1 Инструкция 2 Да Нет Условие Инструкция Да Нет Неполная форма Полная форма

Цикл – это алгоритмическая конструкция, обеспечивающая многократное повторение оператора(ов) – команд исполнителю. Виды циклов

ЦИКЛЫ с условием Условие – это некоторое утверждение, которое обязательно принимает одно из значений: а) истина б) ложь.

Условие проверяется перед входом в цикл и называется «Условием выполнения цикла». Если условие принимает значение ложь, то цикл не выполнится ни разу.

Предполагает сначала выполнение команд, а затем проверку условия. Условие называется «Условием продолжения цикла». Если условие продолжения цикла принимает значение ЛОЖЬ, то происходит возврат к выполнению операторов цикла

В отличии от цикла с предусловием ВСЕГДА выполнится хотя бы 1 раз.

Предполагает выполнение команд определенное количество раз. Цикл завершается при достижении параметрической переменной предельного значения.

Программирование процесс создания компьютерных программ.компьютерных программ В узком смысле (так называемое кодирование ) под программированием понимается написание инструкций (программ) на конкретном языке программирования. В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программного обеспечения ЭВМ. Иначе это называется «программная инженерия» («инженерия ПО»).программная инженерия

Программа – это логически упорядоченная последовательность команд необходимая для управления компьютером. Программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом. Написать программу в машинном коде достаточно сложно и поэтому для представления алгоритма в виде, понятном компьютеру, служат языки программирования.

Языки программирования – формальная знаковая система, предназначенная для записи компьютерных программ. Определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением. Общее количество языков программирования – более двух с половиной тысяч.

Языки программирования Языки программирования - э то искусственные языки. Они отличаются от естественных ограниченным, достаточно малым числом слов, значение которых понятно компьютеру (транслятору), и очень строгими правилами записи команд (операторов). Совокупность требований для записи команд образуют синтаксис языка, а смысл каждой команды – семантику языка. Процесс поиска ошибок в программе называют тестированием, процесс устранения ошибок – отладкой программы.

Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. Низкий уровень – это значит, что операторы близки к машинному коду и ориентированы на конкретный тип процессора. Языком самого низкого уровня является язык Ассемблера, который представляет каждую машинную команду в виде символьных условных обозначений. С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора.

Высокоуровневый язык программирования (язык программирования высокого уровня) – язык программирования, разработанный для быстроты и удобства использования программистом. Программы, написанные на языках высокого уровня, проще для понимания программистом, но менее эффективны, чем их аналоги, создаваемые при помощи низкоуровневых языков. Примеры: C, C++, Java, Python, PHP, Ruby, Perl, PureBasic, Delphi, Lisp.

Язык программирования Pascal В широком смысле язык программирования – это фиксированная система обозначений и правил для алгоритмов и структур данных. Основой для языка программирования Pascal является латинский алфавит, десятичные цифры и правила, используемые для написания программ.

Основные понятия языка программирования Идентификатор – имя объекта, устанавливающее соответствие объекта некоторому набору символов. Например: f ghk1 (1k) d_r (d r d,r ) Константы – элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Описание констант осуществляется в разделе const. Const k=8; m=19;

Основные понятия языка программирования Переменные – величины, которые могут менять свои значения в процессе выполнения программы. Описание переменных осуществляется в разделе var. Var g: integer; st: string; Тип данных – множество величин, объединенных определенной совокупностью допустимых операций. Например: 5.9 и относятся к вещественному типу (real), их можно складывать, вычитать, умножать, делить и т.д.

Типы данных Типы данных делятся на стандартные и пользовательские. Стандартные типы предложены разработчиками системы программирования Turbo Pascal, например, Boolean, real, byte, string, char.

Типы данных Пользовательские типы данных разрабатывается пользователями системы, для обеспечения семантического контроля вводимых данных, значительного улучшения наглядности программы, более легкого поиска ошибок и экономии памяти. К пользовательским относят перечисляемый и интервальный типы. Type color=(red, blue, white, black, brown); month=1..12;

Основные понятия языка программирования Выражение – конструкция языка, задающая порядок выполнения действий над элементами данных. Операнд – элемент данных, над которыми производиться операция. Операция – действия, которые необходимо выполнить над операндом.

Основные понятия языка программирования Оператор – предложение языка Pascal, задающее полное описание некоторого действия, которое необходимо выполнить. Операторы в Pascal разделяются точкой с запятой (;). Оператор присваивания (:=) А:=78; Оператор вызова процедуры ClrScr; {вызов стандартной процедуры очистки экрана}

Операторы ввода-вывода Read обеспечивает ввод данных в память ЭВМ, при этом курсор остается на месте. Readln обеспечивает ввод данных в память ЭВМ, при этом курсор осуществляется перевод курсора на новую строку. Write предназначена для вывода значений на экран. Writeln выводит значения данных на экран и переводит курсор в начало следующей строки.

На алгоритмическом языке Паскаль любой алгоритм простой (не модульной, не составной) структуры имеет следующий стандартный вид: Program ; Uses ; { комментарии, если нужны } Label ; { комментарии } Const ; { комментарии } Type ; { комментарии } Var ; { комментарии } { } Begin ; { комментарии } End.

Пример. Программа вычисления объема v правильного цилиндра с радиусом основания r и высотой h. Program VСil; Uses Crt { подключение библиотеки ввода/вывода на экран "в звуке и цвете" } Const pi = 3.14; Var r, h, v: real; { для правильного цилиндра с радиусом основания r и высотой h } { вычислить и выдать на экран значение его объема v } Begin ClrScr; { команда очистки экрана (от данных предыдущей задачи) } ReadLn (r, h); { ввод входных параметров } v:=pi*r*r*h; { вычисление объема по формуле для цилиндра } WriteLn (Вычисленный объем цилиндра равен, v) { вывод результата } End.

таблица наиболее часто используемых в языке Паскаль функций и процедур. Обычная запись Паскаль Квадрат числа хsqr(x) Корень квадратный из xsqrt (x) Модуль |х|abs (x) sin xsin(x) cos xcos(x) tg xtg(x) ctg xctg(x) arcsin xarcsin (x) arccos xarccos(x) arctg xarctg(x)

Натуральный логарифм ln xln(x) Степень числа е = 2, 7... или ex exp(x) Остаток от деления целого х на целое ух mod y Частное от деления целого х на целое yx div y Целая часть числа х (вещественного)int(x) Случайное число от 0 до хrnd(x) Длина текста х в символахlength (x) Пример. Результаты применения этих функций: sqrt(9) = 3, abs(–5) = 5, sin(0) = 0, cos(0) = 1, ln(1) = 0, exp(1 ) =e, 23 mod 5 = 3, 20 mod 5 = 0, 23 div 5 = 4, 20 div 5 = 4, int(2.7) = 2, int(2) = 2, rnd(0) = , length(информ) = 6.

Решение задач с помощью линейного алгоритма Вычисление площади треугольника по трем сторонам. Program zadachaa; Uses Crt; var a, b, c, p, s: real ; begin ClrScr; writeln (вв. знач. Сторон треугольника); readln (a, b, c); p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln (площадь треугольника=,s); End.

Решение задач с помощью линейного алгоритма Найти среднее геометрическое и среднее арифметическое двух чисел. Program zadachab; Var a, b, sa, sq: real; Begin Writeln (введите значение двух чисел); Readln (a,b); Sa:=(a+b)/2; Sq:=sqrt(a*b); Writeln (среднее арифметическое =,sa, среднее геометрическое =,sq) End.

Решение задач с помощью линейного алгоритма Вычисление гипотенузы и площади треугольника program zadachac; Var a,d,s,g:real; begin writeln ( `введите значения двух катетов `); readln (a,b); s:=a*b/2; g:= sqrt(a*a+b*b) writeln (площадь =,s, гипотенуза =,g); end.

Решение задач с помощью линейного алгоритма Вычислить длины медиан треугольника, заданного длинами сторон. Program zadachad; var a,b,c,m1,m2,m3:real; begin writeln (вв.знач. трез сторон треугольника); readln (a,b,c); m1:=sqrt(2*a*a+2*b*b-c*c)/2; m2:=sqrt(2*a*a+2*c*c-b*b)/2; m3:=sqrt(2*b*b+2*c*c-a*a)/2; writeln (медианы=, m1,m2,m3); end.

Решение задач с помощью линейного алгоритма Треугольник задан величинами своих углов и радиусом описанной окружности. Вычислить длины сторон треугольника. Program zadachae; var a1,b1,c1,r,a,b,c:real; begin writeln (введите значения a1,b1,c1,r); readln (a1,b1,c1,r); a:=2*r*sin(a1); b:=2*r*sin(b1); c:=2*r*sin(c1); writeln (длины сторон=, a, b, c); end.

Решение задач с помощью линейного алгоритма Смешали V1 литров воды с температурой Т1 с V2 литрами с t T2. Вычислить t и объем полученной смеси. Program zadachaf; Var v1, t1, v2, t2, v, t:real; begin Writeln (введите значения v1, t1, v2,t2); Readln (v1, t1, v2, t2); v:-v1+v2 t: = (v1*t1+v2*t2)/(v1+v2); Writeln (V смеси =, v, T смеси =, t); end.

Решение задач с помощью линейного алгоритма Выделение цифр из заданного числа Program zadachar; var a, a1, c, d: integer; begin writeln (введите трехзначное число a); readln (a); a1: = a mod 10; d:=a div 10 mod 10; c: = a div 100; writeln (число единиц =, a1, число десятков =, d); writeln ( число сотен =, c) ; end.

Решение задач с помощью линейного алгоритма Вычислить сумму членов арифметической прогрессии, зная её первый член, разность прогрессии и число членов. program zadachat; var n: integer; a1, d, s:real; begin writeln (введите первый член, разность и число членов ариф. прогрессии); readln (a1,d,n); s:=(2*a1 +d*(n-1))/2*n; writlen (сумма членов арифметической прогрессии,s) End.

Решение задач с помощью линейного алгоритма Определить давление на грунт опоры, имеющей форму основания в виде круга радиусом R с вырезанный из центра квадратом со стороной А. Масса опоры М. program zadachay; var m,r,a,d :real; begin writeln (вв. массу, R осн., сторону опоры); readln (m,r,a); d:=9.8*m/(pi*r*r-a*a); Writeln (давление на грунт=,d); end.

Решение задач с помощью линейного алгоритма Дана, длина ребра куба. Найти площадь грани, площадь полной поверхности и объем этого куба. Program zadachau; Var a, sg, sp, v, real; begin Writeln (`введите длину ребра куба); Readln (a); Sg: =a*a; Sp: = 6*sg; V: = a*a*a; Writeln ( `S гр.= `, sg, `Sпов.= `, sp, `V куба = `, v) ; End.

Ветвление Оператор условия If then else ; предназначен для реализации простого ветвления алгоритма. Оператор выбора Case of : ; ………………………………; : Else ;

Ветвление Оператор Case используется при множественном разветвлении алгоритма, например, если необходимо по числовому значению месяца указать время года (1, 2, 12 – зима; 3, 4, 5 – весна и т.д.). program sezon; var n: 1..12; {перечисляемый тип, здесь допускает только значения от 1 до 12 } begin writeln(Введите числовое значение месяца); readln(n); case n of 1, 2, 12: writeln(зима); 3..5: writeln(весна); 6..8: writeln(лето) else writeln(осень); End; End.

Решение задач с помощью ветвления Вычислить y=1/x Program zadachai; Var x,y:real; Begin Writeln (введите значение переменной x); Readln (x); If x=0 then writeln (при х=0 решения нет) Else writeln (при х=,x, y=, 1/x) End.

Решение задач с помощью ветвления Даны два числа. Выдать на печать наибольшее из них. Program zadachao; Var a,b,s:real; Begin Writeln (вв. значение двух переменных а, в); Readln (a,b); If a>b then s:= a else s:=b; writeln (большее число =, s) end.

Решение задач с помощью ветвления Составить алгоритм выбора наименьшего из трех различных чисел. Program zadachap; Var a, b, c, min :real Begin Writeln(`вв.знач. трех перемен a, b, c`) Readln(a, b, c); Min:=a; If b <min then min: =b; If c< min then min:= c; Writeln( ` наименование число =`, min) End.

Решение задач с помощью ветвления Составить алгоритм, который для заданного числа x определяет, принадлежит ли x отрезку [A,B] program zadachas; var a, b, x:real; begin writeln ( введите значение переменной x); readln (x); writeln (вв. Нач. и кон. Точки отрезка, a, в); readln (a,d); If (x b) then writeln (точка не прин. отрезку) else writeln (точка прин. отрезку) end.

Решение задач с помощью ветвления РЕШЕНИЕ КВАДРАТНОГО УРАВНЕНИЯ Program zadachag; VAR A,B,C,D,X1,X2,Х:REAL; BEGIN Writeln(ВВ. КОЭФ. КВАДР. УРАВНЕНИЯ a,b,c); Readln (a,b,c); D:=b*b-4*a*c; If d>0 then begin X1:=(-b+sqrt(d))/(2*a); X2:=(-b-sqrt(d))/(2*a); Writeln (x1=,x1, x2=, x2) End Else if d=0 then begin x:=(-b)/(2*a); Writeln (x=,x) End Else Writeln (уравнение не имеет корней) End.

Решение задач с помощью ветвления Определение номера четверти плоскости Program zadacha (input, output); Var x,y:real; Begin Writeln (введите координаты точки x,y ); Readln (x,y); If (x>0) and (y>0) Then k:=1 Else if (x 0) then k:=2 Else if (x<0) and (y<0) Then k:=3 Else k:=4; Writeln (точка находится в,k, четверти ) End.

Решение задач с помощью ветвления Для данного N составить алгоритм вычисления факториала N!=1*2*3*….*N. Program zadacha1 Var F,I,n:integer; begin Writeln (введите натуральное число N); Readln (n); F:=1; For i:=1 to n do f:=f*I; Writeln (n,!=,f) End.

Решение задач с помощью ветвления Среди чисел 1 <= N <= 100. Найти все пары чисел, для которых их сумма равнялась бы их произведению. Program zadacha2 (input, output); Var k, a, b: integer; begin k:=0; for a:=1 to 100 do for b:= 1 to 100 do begin if (a+b)=a*b then begin k:= k+1; Writeln (числа, a, b) end; end if k=0 then Writeln (таких чисел нет) end.

Циклы с постусловием и предусловием Задано целое число. Вывести на печать все цифры введенного числа. 1 способ: Program OM_2; var a,b:longint; Begin read(a); repeat b:=a mod 10; writeln(b); a:=a div 10; until a=0; End.

2 способ: Program OM_3; var a,b:longint; Begin read(a); while a<>0 do begin b:=a mod 10; write(b); a:=a div 10; end; End.

Цикл со счетчиком Организация счетчика Дан целочисленный массив:. Определить количество элементов массива, ко-торые делятся на 3 без остатка. Program OM_1; Var B: array [1..20] of integer; i, L: integer; Begin writeln(Введите массив В); for i :=1 to 20 do read(b[i]); L := 0; for i :=1 to 20 do if (b[i] MOD 3) = 0 then L := L+1; writeln(L =, L); End.

61

62 1. Последовательность действий, допустимых для исполнителя, это... а) программа; б) алгоритм; в) команда; г) система команд.

63 2. Запись алгоритма на языке конкретного исполнителя это... а) алгоритм; б) команда; в) программа; г) исполнитель.

64 3. Выявление ошибок и их устранение называется... а) отладкой задачи; б) отладкой исполнителя; в) отладкой алгоритма; г) отладкой программы.

65 4. Отдельное указание исполнителю это... а) программа; б) алгоритм; в) команда; г) приказ.

66 5. Человек, робот, автомат, устройство, компьютер, который выполняет чьи-то команды, это... а) помощник; б) исполнитель; в) программа; г) раб.

67 6. Программы, которые содержат команду повторения, называются... а) линейными; б) разветвляющимися; в) циклическими; г) вспомогательными.

68 7. Программы, в которых команды выполняются последовательно друг за другом, называются... а) линейными; б) разветвляющимися; в) циклическими; г) вспомогательными.

69 8. Форма организации действий, при которой один и тот же блок команд выполняется несколько раз, называется... а) следованием; б) циклом; в) ветвлением; г) алгоритмом.

70 9. Повторяющийся блок действий (команд) называется... а) повтором; б) циклом; в) телом цикла; г) командой повторения.

Составная команда, в которой одни и те же действия (команды) повторяются несколько раз, называется... а) командой присваивания; б) командой повторения; в) вспомогательной программой; г) командой ветвления.

Совокупность всех команд, которые может выполнить конкретный исполнитель, это... а) система программ; б) система алгоритмов; в) система команд; г) система задач.

Вспомогательная программа это... а) цикл; б) ветвление; в) процедура; г) следование.

Команда, у которой действия выполняются после проверки условия, называется... а) командой цикла; б) командой ветвления; в) простой командой; г) процедурой.

Графический способ описания алгоритма это... а) программа; б) блок-схема; в) алгоритм; г) словесно-пошаговая запись.

Сложные условия это такие условия, которые содержат... а) логическую связку И; б) логическую связку ИЛИ; в) логическую связку НЕ; г) логические связки И, ИЛИ, НЕ.

Блок-схема это... а) рисунок алгоритма; б) графический способ записи алгоритма; в) таблица; г) словесное описание алгоритма.

78 Ответы: 1-б, 2-в, 3-г, 4-в, 5-б, 6-в, 7-а, 8-б, 9-в, 10-б, 11-в, 12-в, 13-б, 14-б, 15-г, 16-б