Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование полного и неполного ветвленияСодержание книги
Поиск на нашем сайте
Сравните запись алгоритма БИД1 из предыдущего параграфа с соответствующей программой.
Очень похоже на перевод с русского языка на английский. Обратите внимание на следующее отличие: в программе нет специального служебного слова, обозначающего конец ветвления. Здесь признаком конца оператора ветвления является точка с запятой. (Разумеется, оставлять в программе пустую строку совсем не обязательно.Здесь это сделано только ради наглядности.) Простой формой логического выражения является операция отношения. Как и в АЯ, в Паскале допускаются все виды отношений (ниже указаны их знаки):
А теперь запрограммируем на Паскале алгоритм БИД2, в котором использовано неполное ветвление.
Программирование циклов (на примере языка программирования Паскаль или Си++). Цикл for Часто цикл for называют циклом со счетчиком. Этот цикл используется, когда число повторений не связано с тем, что происходит в теле цикла. Т.е. количество повторений может быть вычислено заранее (хотя оно не вычисляется). В заголовке цикла указываются два значения. Первое значение присваивается так называемой переменной-счетчику, от этого значения начинается отсчет количества итераций (повторений). Отсчет идет всегда с шагом равным единице. Второе значение указывает, при каком значении счетчика цикл должен остановиться. Другими словами, количество итераций цикла определяется разностью между вторым и первым значением плюс единица. В Pascal тело цикла не должно содержать выражений, изменяющих счетчик. Цикл for существует в двух формах: for счетчик:=значение to конечное_значение do тело_цикла;for счетчик:=значение downto конечное_значение do тело_цикла; Счетчик – это переменная любого из перечисляемых типов (целого, булевого, символьного, диапазонного, перечисления). Начальные и конечные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между начальным и конечным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу. Если же указано downto, то значение параметра будет уменьшаться на единицу. Количество итераций цикла for известно именно до его выполнения, но не до выполнения всей программы. Так в примере ниже, количество выполнений цикла определяется пользователем. Значение присваивается переменной, а затем используется в заголовке цикла. Но когда оно используется, циклу уже точно известно, сколько раз надо выполниться. var i, n: integer; begin write('Количествознаков: ');readln(n); for i:= 1 to n do write('(*) '); readln end.Цикл while Цикл while является циклом с предусловием. В заголовке цикла находится логическое выражение. Если оно возвращает true, то тело цикла выполняется, если false – то нет. Когда тело цикла было выполнено, то ход программы снова возвращается в заголовок цикла. Условие выполнения тела снова проверяется (находится значение логического выражения). Тело цикла выполнится столько раз, сколько раз логическое выражение вернет true. Поэтому очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала ситуация false. Иначе произойдет так называемое зацикливание, одна из самых неприятных ошибок в программировании. var i, n: integer; begin write('Количествознаков: ');readln(n); i:=1; while i <= n dobegin write('(*) ');i:= i + 1 end; readln end.Цикл repeat Цикл while может не выполниться ни разу, если логическое выражение в заголовке сразу вернуло false. Однако такая ситуация не всегда может быть приемлемой. Бывает, что тело цикла должно выполниться хотя бы один раз, не зависимо оттого, что вернет логическое выражение. В таком случае используется цикл repeat – цикл с постусловием. В цикле repeat логическое выражение стоит после тела цикла. Причем, в отличие от цикла while, здесь всё наоборот: в случае true происходит выход из цикла, в случае false – его повторение. var i, n: integer; begin write('Количествознаков: ');readln(n); i:=1; repeat write('(*) ');i:= i + 1 until i > n; readln end.
Булевы функции http://www.univer.omsk.su/departs/compsci/kursi/disc/fr_bools.htm
Вариант 1. Задание 1. Выполнить перевод числа 5484 в двоичную систему счисления, выполнить контрольную проверку перевода. Осуществить операцию сложения двоичных чисел 10011001001001 и 1110001110101. Результат операции представить в десятичном виде. Ответ1: 000000000001010101101100. Ответ2: 100001010111110 в десятичной 17086
Вариант 4 Задание 1. Выполнить проверку на наличие ошибок и дефрагментацию жесткого диска при помощи стандартных средств операционной системы Windows. Задание 2. Разработать алгоритм и программу для решения задачи: дано натуральное число N. Определить самую большую цифру и ее позицию в числе (например, N=573863, наибольшей является цифра 8, ее позиция четвертая слева). Входные данные: N - целое число. Разобьем решение этой задачи на два этапа. Вначале найдем количество цифр в заданном числе (рис. 2.20), а затем определим наибольшую цифру и ее позицию (рис. 2.21).
Для того, чтобы подсчитать количество цифр в числе, необходимо определить, сколько раз заданное число можно разделить на десять нацело. Например, пусть N=12345, тогда количество цифр kol = 5. Результаты вычислений сведены в таблицу 2.5.
Процесс определения текущей цифры числа N=12345 представлен в таблице 2.6.
Вариант 6 Задание 1. Подключить к ПЭВМ сканер, установить необходимое ПО и выполнить сканирование предложенного документа, с последующейконвертацией его в формат текстового редактораWORD. Задание 2. Разработать алгоритм и программу для решения задачи: вводится последовательность целых чисел, цифра 0 – ее конец. Найти минимальное среди положительных значений, определить количество положительных значений. #include "stdafx.h" #include <iostream.h> #include <math.h> #include <windows.h> #include <conio.h> voidcout_rus(char text[]) { char buffer[256]; CharToOem(text,buffer); cout<<buffer; }
int main(intargc, char* argv[]) { intN,pr,k,min; cout<<"\n N="; cin>>N; for(pr=k=0;N!=0;cout<<"N=",cin>>N) if(N>0) if (pr==0) { pr=1; min=N; k=1; } else if (N<min) { min=N; k=1; } else if (N==min) k++; if (pr) {cout<<min; cout_rus(" - минимальное число последовательности, таких чисел\t"); cout<<k<<endl; } else cout<<"В последовательности нет положительных чисел";
}
N=3 N=5 N=6 N=2 N=-4 N=5 N=2 N=-2 N=2 N=13 N=10 N=-6 N=2 N=0 2 - минимальное число последовательности, таких чисел 4
Вариант 7 Задание 1. Подключить к ПЭВМ модем, установить необходимое программное обеспечение и выполнить его тестирование. Задание 2. Разработать алгоритм и программу для решения задачи: упорядочить элементы в массиве по возрастанию их значений методом «пузырька».
Const m =10;
Var arr: array [1..m] ofinteger; i, j, k: integer;
Begin randomize;
write('Исходныймассив: '); for i:= 1 to m dobegin arr[i]:= random(256); write(arr[i]:4); end; writeln; writeln;
for i:= 1 to m-1 do for j:= 1 to m-i do if arr[j]>arr[j+1] thenbegin k:=arr[j]; arr[j]:=arr[j+1]; arr[j+1]:= k end;
write('Отсортированныймассив: '); for i:= 1 to m do write(arr[i]:4);
writeln;
readln end.
Вариант 11 Задание 1. По заданным IP-адресу узла и маске определите адрес сети. IP –адрес узла: 217.233.232.3 Маска: 255.255.252.0
Решение: IP-адрес состоит из 4-х байт. 255=111111112 (8 единиц, т.к. 28=256). Поразрядная конъюнкция с IP-адресом узла, где байт маски равен 255 в итоге даст байт IP-адреса узла, т.к. конъюнкция 111111112 и любого числа даст в итоге это последнее число. Поразрядная конъюнкция с IP-адресом узла, где байт маски равен 0 в итоге даст 0, т.к. конъюнкция 0 и любого числа даст в итоге 0. IP-адрес сети:217.233.х.0, где х-поразрядная конъюнкция 232 и 252. Переведем числа 232 и 252 в двоичную систему счисления: 232=255-23=255-16-7=
252=255-3=
252Λ232= Видно, что поразрядная конъюнкция равна второму слагаемому, т.е. 232. IP-адрес сети: 217.233.232.0. Получаем: СDEA.
Задание 2. Запись десятичного числа в системах счисления с основаниями 3 и 5 в обоих случаях имеет последней цифрой 0. Какое минимальное натуральное десятичное число удовлетворяет этому требованию?
|
|||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 546; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.225.234.108 (0.006 с.) |