Алгоритмизация и программирование на языке TurboPascal.

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



Advertisements
Похожие презентации
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Advertisements

Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Алгоритмические структуры. Алгоритм Алгоритм - понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
Организация циклов в языке программирования Паскаль. Подготовила Семенова Н.С., учитель информатики МБОУ «Средняя общеобразовательная школа 26 с углублённым.
Тема урока Переменная. Тип данных. Ввод и вывод данных.
На этом уроке мы познакомимся c организацией логических циклических структур на языке Турбо-Паскаль.
ОПЕРАТОРЫ ПОВТОРА (ЦИКЛА). ЦИКЛ-одна из важнейших алгоритмических структур. ЦИКЛ представляет собой последовательность операторов, которая выполняется.
Логические циклы
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Цикл for Формат записи оператора цикла for: for «имя» := «от» to «до» do «оператор»
Оператор цикла с предусловием. Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
Операторы цикла © М.Е.Макарова
«Программирование циклических алгоритмов» Учитель информатики гимназии 12 г. Тюмени Бугаева Елена Викторовна.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.
Транксрипт:

Алгоритмизация и программирование на языке TurboPascal

Алгоритм – четкое описание последовательности действий, которые необходимо выполнить при решении задачи Свойства алгоритмов Дискретность (алгоритм состоит из последовательности отдельных шагов) Результативность (возможность получения из исходных данных результата за конечное число шагов) Массовость (возможность применения алгоритма к большому количеству различных исходных данных) Детерминированность (строго определенная последовательность действий) Выполнимость и понятность (алгоритм должен содержать команды, Входящие в систему команд исполнителя И записанные на понятном для исполнителя языке)

Способы записи алгоритмов: На естественном языке В виде блок-схемы На языке программирования

Блок-схема – наглядное графическое представление алгоритма, когда отдельные его этапы изображаются при помощи геометрических фигур, называемых блоками, а связи между этапами указываются при помощи стрелок, соединяющих эти фигуры. Элементы блок-схемы начало (конец) ввод (вывод) данных арифметический блок Условие данет

Рассмотрим старинную задачу о волке, козе и капусте. Человеку нужно переправить на противоположный берег волка, козу и капусту. В лодку человек может поместиться либо с козой, либо с волком, либо с капустой. На берегу нельзя оставить волка с козой или козу с капустой. Алг Переправа; дано волк, коза, капуста, дед; надо всех перевезти; нач 1.Перевезти козу; 2. Возвратиться самому; 3. Перевезти волка; 4. Возвратиться вместе с козой; 5. Перевезти капусту; 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 := оператор присваивания

Составьте алгоритм и блок-схему для следующей задачи: Зная длины трех сторон треугольника, вычислить его площадь (по формуле Герона) и периметр Алг задача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) квадратный корень

Составьте алгоритм и блок-схему для следующей задачи: По известным начальной и конечной скоростям, времени движения и массе тела вычислить под действием какой силы тело начнет двигаться. Алг задача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

Интегрированная среда TurboPascal. Правила записи программы. Никлаус Вирт (Niklaus Wirth), создатель языка Pascal.

Структура программы Program ; const ; type ; var ; begin ; end. Заголовок программы Раздел описания констант Раздел описания типов Раздел описания перменных Тело програмы

Константы языка ТурбоПаскаль Константы не меняют своего значения в процессе выполнения программы. Они описываются с помощью служебного слова const, за которым идет список имен констант, каждому из которых с помощью символа «=» присваивается значение. Одна константа от другой отделяется точкой с запятой. Const h=3; b=-7.5; c=abcde;

Переменные языка ТурбоПаскаль Переменные могут изменять свое значение в процессе выполнения программы неограниченное число раз. Описание переменных начинается со служебного слова var, за которым следуют имена переменных, и через двоеточие указывается их тип. var a,b: real; c,d: integer; f: byte;

Типы данных в языке ТурбоПаскаль Целочисленный тип данных: integer (а:=5;). Вещественный тип данных: real (с:=6.5;). Символьный тип данных: char (b:=s;). Логический тип данных: boolean. Могут принимать два значения: true (истина) или false (ложь).

Простейшие операторы языка Паскаль Оператор присваивания := a:=3.5; b:=c; Слева всегда стоит имя переменной, а справа – значение. Оператор ввода read(x); или readln(x); Когда в программе встречается оператор read, ее действие приостанавливается до тех пор, пока не будут введены исходные данные. Оператор вывода write(x); или writeln(x);

Задача 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.

Задача 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.

Задача 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.

Задача 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.

Задача 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.

Задача 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.

Инструкция CASE Инструкция case используется для выбора одного из нескольких направлений дальнейшего хода программы. Выбор последовательности действий осуществляется во время выполнения программы в зависимости от равенства значения переменной-селектора константе, указанной перед группой инструкций. В качестве переменной-селектора можно использовать переменную целого (integer) или символьного (char) типа.

Инструкция CASE Case выражение of список_констант1: begin инструкции1 end; список_констант2: begin инструкции2 end; ……………. список_константN: begin инструкции1 end; Инструкции между begin и end выполняются только в том случае, если значение выражения после слова case совпадает с константой из соответствующего списка.

Задача: Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение «Ошибка ввода данных» 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.

Задача: написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «рабочий день», «суббота» или «воскресенье». 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.

Задача: написать программу, которая запрашивает возраст учащихся и выводит номер класса, в котором учится ребенок.

"Калькулятор". Ученик вводит с клавиатуры число, символ арифметического действия (+, -,*,/) и еще одно число. Компьютер должен напечатать результат. Указание. Используйте 3 оператора ReadLn, так как одним оператором ReadLn вводить числовые и символьные данные вы не умеете.

Задача: Ввести с клавиатуры дату (день, месяц, год), записать ее, назвав месяц словами.

Циклы 4 Цикл предписывает многократное выполнение одной и той же последовательности действий. 4 Цикл с параметром предписывает многократное выполнение одной и той же последовательности действий при значениях параметра в интервале от начального до конечного значений с заданным шагом. For параметр:=нач.значение to кон.значение do оператор; 4 цикл for используют тогда, когда заранее, перед началом его работы известно, сколько раз он должен выполниться

Вывод десяти звездочек на экран program Zvezdy ; var i : integer ; begin for i := 1 to 10 do write ('*') end.

Что будет отражено на экране после запуска программы на исполнение? program schet; var i : integer; begin for i := 1 to 5 do write (i); end.

Написать программу, которая выводит на экран таблицу квадратов чисел от 1 до 10.

Параметр цикла может быть не только числом, но и символом. В этом случае начальные и конечные значения тоже должны быть символами, а переменная цикла будет перебирать все значения между ними в том порядке, в каком они указаны в таблице ASCII. program Alfavit; var c : char; begin for c := a to z do write (c); end.

Написать программу нахождения суммы целых чисел от 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.

Написать программу нахождения произведения целых чисел от 1 до 5

Найти количество нечётных чисел из интервала от 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.

Цикл с предусловием Цикл с предусловием предписывает многократное выполнение одной и той же последовательности действий с проверкой истинности условия перед телом цикла: While лог.выражение do оператор;

Цикл с предусловием (ПОКА) чаще всего используют в двух следующих случаях: 1. Число повторений заранее не известно (например, цикл до достижения требуемой точности результата, цикл до первого отрицательного элемента и т.п.). Такой цикл называется циклом типа пока с прерыванием. 2. Число повторений заранее известно, но шаг параметра цикла не равен 1. Такой цикл называется циклом типа пока без прерывания.

Цикл с предусловием While лог.выражение do оператор; Оператор, стоящий после служебного слова do и называемый телом цикла, будет выполняться циклически, пока логическое условие истинно. Условие выполнения тела цикла проверяется до начала каждой итерации. Поэтому, если условие сразу не выполняется, то тело цикла игнорируется, и управление передается оператору, стоящему сразу за телом цикла.

Задача:. посчитать числа от 1 до 100 (вывести их на экран). program Schitalka; var i : integer; begin i := 1; while i

Задача:. Составить программу для вывода первых 10 положительных чётных чисел. program Nabor; var i : integer; begin i := 2; while i

Сколько раз выполнится оператор while в следующем фрагменте программы: s:= 0; k:= 1; while s

Сколько раз выполнится оператор while в следующем фрагменте программы: k:= 1; s:= 0; while k < 5 do begin k:= k + 1; s:= s + k end;

Задача: Будем повторять вычисления функции 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.

Цикл с постусловием Цикл с постусловием предписывает многократное выполнение одной и той же последовательности действий с проверкой истинности условия после тела цикла Repeat оператор until лог.выражение;

4 Инструкции цикла repeat выполняются до тех пор, пока условие, стоящее после слова until, ложно. 4 После слова until надо записывать условие завершения цикла. 4 Цикл repeat – это цикл с постусловием, т.е. инструкции тела цикла будут выполнены хотя бы один раз.

Задача: Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры. (Для завершения ввода ввести ноль). 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

Задача: Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел. (Для завершения ввода ввести ноль). Program maximum; Var a,m:integer; Begin m:=0; repeat readln(a); if a>m then m:=a; until a

Задача: Написать программу, которая «задумывает» число в диапазоне от 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.