Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемФедор Трунов
1 Алгоритмизация и программирование на языке TurboPascal
2 Алгоритм – четкое описание последовательности действий, которые необходимо выполнить при решении задачи Свойства алгоритмов Дискретность (алгоритм состоит из последовательности отдельных шагов) Результативность (возможность получения из исходных данных результата за конечное число шагов) Массовость (возможность применения алгоритма к большому количеству различных исходных данных) Детерминированность (строго определенная последовательность действий) Выполнимость и понятность (алгоритм должен содержать команды, Входящие в систему команд исполнителя И записанные на понятном для исполнителя языке)
3 Способы записи алгоритмов: На естественном языке В виде блок-схемы На языке программирования
4 Блок-схема – наглядное графическое представление алгоритма, когда отдельные его этапы изображаются при помощи геометрических фигур, называемых блоками, а связи между этапами указываются при помощи стрелок, соединяющих эти фигуры. Элементы блок-схемы начало (конец) ввод (вывод) данных арифметический блок Условие данет
5 Рассмотрим старинную задачу о волке, козе и капусте. Человеку нужно переправить на противоположный берег волка, козу и капусту. В лодку человек может поместиться либо с козой, либо с волком, либо с капустой. На берегу нельзя оставить волка с козой или козу с капустой. Алг Переправа; дано волк, коза, капуста, дед; надо всех перевезти; нач 1.Перевезти козу; 2. Возвратиться самому; 3. Перевезти волка; 4. Возвратиться вместе с козой; 5. Перевезти капусту; 6. Возвратиться самому; 7. Перевезти козу; кон. Алгоритм решения задачи называется линейным, если все команды в нем исполняются последовательно одна за другой.
6 начало Волк, коза, капуста, дед Перевезти козу Вернуться деду Перевезти волка Вернуться вместе с козой Перевезти капусту Вернуться деду Перевезти козу конец
7 Составьте алгоритм и блок-схему для следующей задачи: По заданным значениям b = 5, c = 6, d = 9, g = 3 надо получить значение m = f : c, где f = b + d – g. Алг задача1; дано b,c,d,g; надо m; нач b:=5; c:=6; d:=9; g:=3; f:=b+d-g; m:=f/c; вывод m; кон. конец начало b:=5 c:=6 d:=9 g:=3 f:=b+d-g m:=f/c Вывод m := оператор присваивания
8 Составьте алгоритм и блок-схему для следующей задачи: Зная длины трех сторон треугольника, вычислить его площадь (по формуле Герона) и периметр Алг задача1; дано a,b,c; надо P,S; нач ввод a,b,c; p:=(a+b+c)/2; P:=a+b+c; S:=sqrt(p*(p-a)*(p-b)*(p-c)); вывод P,S; кон. конец начало a,b,c p:= ( a+b+c)/2 P:=a+b+c Вывод P,S S:=sqrt(p*(p-a)*(p-b)*(p-c)); Sqrt(x) квадратный корень
9 Составьте алгоритм и блок-схему для следующей задачи: По известным начальной и конечной скоростям, времени движения и массе тела вычислить под действием какой силы тело начнет двигаться. Алг задача2; дано m,V0,V,t; надо F; нач ввод m,V0,V,t; a:=(V-V0)/t; F:=m*a; вывод F; кон. конец начало m,V0,V,t a:= ( V-V0)/t F:=m*a Вывод F
10 Интегрированная среда TurboPascal. Правила записи программы. Никлаус Вирт (Niklaus Wirth), создатель языка Pascal.
11 Структура программы Program ; const ; type ; var ; begin ; end. Заголовок программы Раздел описания констант Раздел описания типов Раздел описания перменных Тело програмы
12 Константы языка ТурбоПаскаль Константы не меняют своего значения в процессе выполнения программы. Они описываются с помощью служебного слова const, за которым идет список имен констант, каждому из которых с помощью символа «=» присваивается значение. Одна константа от другой отделяется точкой с запятой. Const h=3; b=-7.5; c=abcde;
13 Переменные языка ТурбоПаскаль Переменные могут изменять свое значение в процессе выполнения программы неограниченное число раз. Описание переменных начинается со служебного слова var, за которым следуют имена переменных, и через двоеточие указывается их тип. var a,b: real; c,d: integer; f: byte;
14 Типы данных в языке ТурбоПаскаль Целочисленный тип данных: integer (а:=5;). Вещественный тип данных: real (с:=6.5;). Символьный тип данных: char (b:=s;). Логический тип данных: boolean. Могут принимать два значения: true (истина) или false (ложь).
15 Простейшие операторы языка Паскаль Оператор присваивания := a:=3.5; b:=c; Слева всегда стоит имя переменной, а справа – значение. Оператор ввода read(x); или readln(x); Когда в программе встречается оператор read, ее действие приостанавливается до тех пор, пока не будут введены исходные данные. Оператор вывода write(x); или writeln(x);
16 Задача 1: заданы длины трех сторон треугольника a,b,c. Вычислить периметр и площадь его. Значения a,b,c ввести с клавиатуры. Program treugolnik; var a,b,c,S,p,P: real; begin write(a=); readln(a); write(b=); readln(b); write(c=); readln(c); p:=(a+b+c)/2; S:=sqrt(p*(p-a)*(p-b)*(p-c)); P:=a+b+c; writeln(S=,S); writeln(P=,P); end.
17 Задача 2: Вычислите значение выражения при x=2,5 и y=4,25. (квадрат sqr(x)) Program z2; var x,y,z: real; begin x:=2.5; y:=4.25; z:=sqrt(2*x+sqr(y)); writeln(z=,z); end.
18 Задача 3: Вычислите значение выражения при x 0 =250, g=10,V 0 =30 и t=5. Program z3; const g=10; var x0,V0,t,f: real; begin x0:=250; V0:=30; t:=5; f:=x0+V0*t-(g*sqr(t)/2); writeln(f=,f); end.
19 Задача 4: Написать программу вычисления объема параллелепипеда. Значения длин сторон вводятся с клавиатуры. Program z4; var a,b,c,V: real; begin write(a=); readln(a); write(b=); readln(b); write(c=); readln(c); V:=a*b*c; writeln(V=,V); end.
20 Задача 5: Написать программу вычисления стоимости покупки, состоящей из нескольких тетрадей и карандашей. Цена одной тетради, одного карандаша, количество карандашей и количество тетрадей вводятся с клавиатуры. Program z5; var a,b,c,d,S: real; begin write(1 copybook=); readln(a); write(1 pencil=); readln(b); write(kol-vo copybook =); readln(c); write(kol-vo pencil=); readln(d); S:=a*c+b*d; writeln(S=,S); end.
21 Задача 6: Написать программу пересчета расстояния из верст в километры (1 верста = 1066,8 м). Расстояние в верстах вводится с клавиатуры. Program z4; const v=1066.8; var a,b: real; begin write(a=); readln(a); b:=a*v/1000; writeln(b=,b,km); end.
22 Инструкция CASE Инструкция case используется для выбора одного из нескольких направлений дальнейшего хода программы. Выбор последовательности действий осуществляется во время выполнения программы в зависимости от равенства значения переменной-селектора константе, указанной перед группой инструкций. В качестве переменной-селектора можно использовать переменную целого (integer) или символьного (char) типа.
23 Инструкция CASE Case выражение of список_констант1: begin инструкции1 end; список_констант2: begin инструкции2 end; ……………. список_константN: begin инструкции1 end; Инструкции между begin и end выполняются только в том случае, если значение выражения после слова case совпадает с константой из соответствующего списка.
24 Задача: Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение «Ошибка ввода данных» Program time; var month: integer; begin write(vvedite mesyaca=); readln(month); case month of 1,2,12: writeln(zima); 3,4,5: writeln(vesna); 6,7,8: writeln(leto); 9,10,11: writeln(osen); else writeln(oshibka vvoda dannih); end; readln; end.
25 Задача: написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «рабочий день», «суббота» или «воскресенье». Program time; Var den: integer; begin write(vvedite dnya nedeli=); readln(den); case month of 1,2,3,4,5: writeln(rabochiy den); 6: writeln(subbota); 7: writeln(voskresenye); else writeln(oshibka vvoda dannih); end; readln; end.
26 Задача: написать программу, которая запрашивает возраст учащихся и выводит номер класса, в котором учится ребенок.
27 "Калькулятор". Ученик вводит с клавиатуры число, символ арифметического действия (+, -,*,/) и еще одно число. Компьютер должен напечатать результат. Указание. Используйте 3 оператора ReadLn, так как одним оператором ReadLn вводить числовые и символьные данные вы не умеете.
28 Задача: Ввести с клавиатуры дату (день, месяц, год), записать ее, назвав месяц словами.
29 Циклы 4 Цикл предписывает многократное выполнение одной и той же последовательности действий. 4 Цикл с параметром предписывает многократное выполнение одной и той же последовательности действий при значениях параметра в интервале от начального до конечного значений с заданным шагом. For параметр:=нач.значение to кон.значение do оператор; 4 цикл for используют тогда, когда заранее, перед началом его работы известно, сколько раз он должен выполниться
30 Вывод десяти звездочек на экран program Zvezdy ; var i : integer ; begin for i := 1 to 10 do write ('*') end.
31 Что будет отражено на экране после запуска программы на исполнение? program schet; var i : integer; begin for i := 1 to 5 do write (i); end.
32 Написать программу, которая выводит на экран таблицу квадратов чисел от 1 до 10.
33 Параметр цикла может быть не только числом, но и символом. В этом случае начальные и конечные значения тоже должны быть символами, а переменная цикла будет перебирать все значения между ними в том порядке, в каком они указаны в таблице ASCII. program Alfavit; var c : char; begin for c := a to z do write (c); end.
34 Написать программу нахождения суммы целых чисел от 1 до 10 program Summa_chisel_ot1do10; var s, i : integer; begin s := 0; for i := 1 to 10 do s := s + i; writeln (Summa chisel ot 1 do 10 ravna, s) end.
35 Написать программу нахождения произведения целых чисел от 1 до 5
36 Найти количество нечётных чисел из интервала от 30 до 50 program Skoko_nechetnyx_chisel_ot_30_do_50; var k, i : integer; begin k := 0; { вначале счётчик равен 0 } for i := 30 to 50 do if k mod 2 0 { Если число не делится на 2, то оно нечётное … } then k := k + 1 { … и его надо посчитать } writeln('В интервале от 30 до 50 ', k, ' нечётных чисел') end.
37 Цикл с предусловием Цикл с предусловием предписывает многократное выполнение одной и той же последовательности действий с проверкой истинности условия перед телом цикла: While лог.выражение do оператор;
38 Цикл с предусловием (ПОКА) чаще всего используют в двух следующих случаях: 1. Число повторений заранее не известно (например, цикл до достижения требуемой точности результата, цикл до первого отрицательного элемента и т.п.). Такой цикл называется циклом типа пока с прерыванием. 2. Число повторений заранее известно, но шаг параметра цикла не равен 1. Такой цикл называется циклом типа пока без прерывания.
39 Цикл с предусловием While лог.выражение do оператор; Оператор, стоящий после служебного слова do и называемый телом цикла, будет выполняться циклически, пока логическое условие истинно. Условие выполнения тела цикла проверяется до начала каждой итерации. Поэтому, если условие сразу не выполняется, то тело цикла игнорируется, и управление передается оператору, стоящему сразу за телом цикла.
40 Задача:. посчитать числа от 1 до 100 (вывести их на экран). program Schitalka; var i : integer; begin i := 1; while i
41 Задача:. Составить программу для вывода первых 10 положительных чётных чисел. program Nabor; var i : integer; begin i := 2; while i
42 Сколько раз выполнится оператор while в следующем фрагменте программы: s:= 0; k:= 1; while s
43 Сколько раз выполнится оператор while в следующем фрагменте программы: k:= 1; s:= 0; while k < 5 do begin k:= k + 1; s:= s + k end;
44 Задача: Будем повторять вычисления функции y=1/x до тех пор, пока не введем х=0. Program funk; var x:real; begin Write(Введите значение х=); readln(x); While x0 do{пока х не равен 0 повторяем} begin writeln(Y=,1/X:9:4); write(Введите значение х=); readln(x); end; end.
45 Цикл с постусловием Цикл с постусловием предписывает многократное выполнение одной и той же последовательности действий с проверкой истинности условия после тела цикла Repeat оператор until лог.выражение;
46 4 Инструкции цикла repeat выполняются до тех пор, пока условие, стоящее после слова until, ложно. 4 После слова until надо записывать условие завершения цикла. 4 Цикл repeat – это цикл с постусловием, т.е. инструкции тела цикла будут выполнены хотя бы один раз.
47 Задача: Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры. (Для завершения ввода ввести ноль). Program summa; Var a,n,S:integer; m:real; begin S:=0; n:=0; repeat readln(a); S:=S+a; n:=n+1; until a
48 Задача: Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел. (Для завершения ввода ввести ноль). Program maximum; Var a,m:integer; Begin m:=0; repeat readln(a); if a>m then m:=a; until a
49 Задача: Написать программу, которая «задумывает» число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 попыток. Program zag; const npop=5; var comp,igrok,n:integer; begin Randomize; {инициализация генератора случайных чисел} comp:=Random(9)+1; {компьютер задумал число} writeln(vvedite chislo); repeat n:=n+1; readln(igrok); until (n=npop) or (comp=igrok); if comp=igrok then writeln(ura!) else writeln(vi proigrali); readln; end.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.